![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
Hola, ¿cómo están?
![]() Espero que tengan un lindo día. ![]() Necesito que me ayuden, tengo un problema con Delphi, estoy muy confundida. ![]() Lo que pasa es que tengo un código en el que deseo agregar registros a XML, el cual me funcionaba perfectamente, pero se me ocurrio agregarle un nodo <imagen> al archivo XML, y desde entonces tengo problemas, porque lo que guardo en el nodo <imagen> es el nombre la imagen. Utilizo un OpenPictureDialog para buscar la imagen y que el nombre de la imagen se guarde en una caja de texto, pero me he dado cuenta que el problema es cuando ejecuto el OpenPictureDialog, pues cuando no lo ejecuto y escribo el nombre en la caja de texto si funciona. Es decir, que cuando ejecuto el OpenPictureDialog, si me almacena los datos, pero me borra todos los datos que ya existen en el archivo XML. Y cuando no lo ejecuto, almacena los datos y no se borra ningun otro dato, y siguen ahi los datos anteriores, y funciona perfectamente. No se a que se deba, pero creo que el error es en el OpenPictureDialog. Que me recomiendan. Este es mi código. Código:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XMLdoc, XMLIntf, xmldom, ComCtrls, ExtCtrls, ExtDlgs,
DBCtrls, JPEG;
///---- Boton Buscar Imagen (creo que aquí está el error)
procedure TFrmRegistrarNuevaLaptop.CmdBuscarClick(Sender: TObject);
begin
If self.AbrirImagenLaptop.Execute then
self.TxtImagenLaptop.Text := ExtractFileName(AbrirImagenLaptop.FileName)
else
self.TxtImagenLaptop.Text := '';
end;
///---- Boton Guardar Datos en archivo XML (aqui no creo tener error.)
procedure TFrmRegistrarNuevaLaptop.CmdGuardarDatosLaptopXMLClick(Sender: TObject);
begin
XMLOwner := TDataModule.Create(nil);
mXML := TXMLDocument.Create(XMLOwner);
mxml.Active:=true;
//Verificar si existe el archivo
if FileExists('RegistroLaptops.xml') then
begin
//Recuperar los datos ya guardados
mxml.LoadFromFile('RegistroLaptops.xml');
NodoDirectorio:=mxml.DocumentElement;
end
else
Begin
//si no existe, crea el arbol XML
NodoDirectorio:=mxml.CreateElement('directorio','MiXml');
End;
//Añadir una Laptop en el arbol al inicio de la lista
NodoDirectorio.AddChild('laptop',0);
//Añadir los componentes de laptop ( imagen, clave, ... etc.)
NodoLaptop:=NodoDirectorio.ChildNodes.First;
NodoLaptop.AddChild('imagen',0);
NodoLaptop.ChildNodes[0].Text:=self.TxtImagenLaptop.Text;
NodoLaptop.AddChild('clave',1);
NodoLaptop.ChildNodes[1].Text:=Self.TxtClaveLaptop.Text;
NodoLaptop.AddChild('marca',2);
NodoLaptop.ChildNodes[2].Text:=Self.TxtMarca.Text;
NodoLaptop.AddChild('windows',3);
NodoLaptop.ChildNodes[3].Text:=Self.TxtWindows.Text;
NodoLaptop.AddChild('capacidadhdd',4);
NodoLaptop.ChildNodes[4].Text:=Self.TxtCapacidadHDD.Text;
NodoLaptop.AddChild('capacidadram',5);
NodoLaptop.ChildNodes[5].Text:=Self.TxtCapacidadRAM.Text;
NodoLaptop.AddChild('redinalambrica',6);
NodoLaptop.ChildNodes[6].Text:=Self.TxtRedInalambrica.Text;
NodoLaptop.AddChild('precio',7);
NodoLaptop.ChildNodes[7].Text:=Self.TxtPrecioLaptop.Text;
//Guarda el arbol XML (directorio) en un archivo (RegistroLaptops.XML)
mxml.DocumentElement:=NodoDirectorio;
mXML.SaveToFile('RegistroLaptops.xml');
self.close;
end;
end.
Gracias de antemano. Muchos saludos. ![]() Última edición por NeySmall fecha: 08-04-2008 a las 17:02:20. Razón: Correción de sintaxis |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Tengo problemas con variables string | Chimbo | JAVA | 1 | 02-11-2007 21:21:07 |
| Tengo problemas con IDataReader | selmanc | .NET | 0 | 26-06-2006 19:44:39 |
| tengo problemas con el tmediaplayer | meosre | Varios | 1 | 20-09-2005 17:21:20 |
| Tengo Problemas con mi listado | armakaisen | Impresión | 1 | 07-06-2005 23:39:21 |
| IIF (tengo problemas) | Ignacio | SQL | 4 | 02-04-2004 06:59:06 |
|