Ver Mensaje Individual
  #3  
Antiguo 05-02-2011
verito_83mdq verito_83mdq is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 118
Reputación: 16
verito_83mdq Va por buen camino
Hola ecfisa! Gracias por responder, se me paso ayer de poner mas detalles o el código.
Como les contaba antes, el programa cuenta con una unidad y un solo form es un programa que actualiza y lanza a otro ejecutable.

En el form create puse todo el código, ahí es donde se conecta al servidor ftp, y lo arregle un poco con algunas label e imágenes indicando que se esta realizando la descarga, lo raro que una vez que termina la descarga ahi si me muestra todo.

Este es el {pp}
Código Delphi [-]
program Update;

uses
  Forms,
  Update in 'Update.pas' {UpdateForm},
  Hashes in 'Hashes.pas';

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'Update ';
  Application.CreateForm(TUpdateForm, UpdateForm);
  Application.Run;
end.





Este es el form Update Form.


Código Delphi [-]
procedure TUpdateForm.FormCreate(Sender: TObject);
var

FileInfo: TShFileOpStruct;
begin



              //Guarda HashViejo en Variable

               if FileExists('c:\Archivos de programa\HashViejo.txt') then
                  begin
                    hashviejo:=TStringList.Create;
                    hashviejo.LoadFromFile('c:\Archivos de Programa\\HashViejo.txt');
                    hashviejov:=(hashviejo[0]);
                    hashviejo.Free
                  end;




               // Se Conecta al FTP y baja el Hash Nuevo

               ActualizarIdFTP.Username:= 
               ActualizarIdFTP.Password:=
               ActualizarIdFTP.Host := '127.0.0.1';  
               ActualizarIdFTP.Connect;
               ActualizarIdFTP.ChangeDir('/Publica/Nuevo');
               ActualizarIdFTP.Get('HashNuevo.txt','c:\Archivos de Programa\HashNuevo.txt',True,False);


               //Guarda HashNuevo en Variable

               hashnuevo:=TStringList.Create;
               hashnuevo.LoadFromFile('c:\Archivos de Programa\HashNuevo.txt');
               hashnuevov:=(hashnuevo[0]);



               //Compara el HashViejo con el  HashNuevo

                 //Esta Actualizado
                if hashnuevov = hashviejov then
                  begin
                     UpdateForm.Visible:=False;
                     Shellexecute(0, 'open', pchar('c:\Archivos de Programa), '', '' , SW_Shownormal);
                     Application.Terminate;
                  end

                else

                  //Esta Desactualizado
                  begin
                     ShowMessage('El programa esta desactualizado');

                     // Baja el Programa
                     UpdateForm.Visible:=True;
                     UpdateForm.WindowState:=wsNormal;
                     ActualizarIdFTP.Disconnect;
                     ActualizarIdFTP.Username:= ;
                     ActualizarIdFTP.Password:= 
                     ActualizarIdFTP.Host := '127.0.0.1';  
                     ActualizarIdFTP.Connect;
                     ActualizarIdFTP.ChangeDir('/Publica/Nuevo');

                     UpdateProgressBar.Max:= ActualizarIdFTP.Size('') div 1024;

                     ActualizarIdFTP.Get('','c:\Archivos de Programa\',True,False);
                     ActualizarIdFTP.Disconnect;


            


                     


end;


Ese seria el código falta algunas lineas pero son datos de conexión.

También lo pensaba es que este código podría estar en una modulo y en caso de que este desactualizado que me muestre el form,sino de esta manera me carga un form el cual esta en invisible si esta actualizado.Que opinan??

No se que le puede estar pasando!!
Saludos!

Última edición por verito_83mdq fecha: 05-02-2011 a las 12:46:40.
Responder Con Cita