{ =============================================================================== Copyright (©) 2005. Rodax Software. =============================================================================== Los contenidos de este fichero son propiedad de Rodax Software titular del copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, en su totalidad o en parte, con el permiso escrito de Rodax Software, o de acuerdo con los términos y condiciones establecidas en el acuerdo/contrato bajo el que se suministra. ----------------------------------------------------------------------------- Web: www.rodax-software.com =============================================================================== Fecha primera versión: 17-05-2005 Versión actual: 1.0.0 Fecha versión actual: 17-05-2005 =============================================================================== Modificaciones: Fecha Comentarios --------------------------------------------------------------------------- =============================================================================== } unit uActualizacion; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, JvComponent, JvAppStorage, JvAppRegistryStorage, JvFormPlacement, Buttons, JvBaseDlg, JvBrowseFolder, ActnList, JvProgramVersionCheck, JvPropertyStore, JvAppIniStorage, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, uInfoProjectUtils, JvComponentBase; type TfActualizacion = class(TForm) Panel2: TPanel; OKBtn: TButton; CancelBtn: TButton; PageControl1: TPageControl; TabSheet1: TTabSheet; GroupBox1: TGroupBox; Label2: TLabel; edUsuario: TEdit; Label3: TLabel; edPassword: TEdit; Label4: TLabel; JvAppRegistryStorage1: TJvAppRegistryStorage; JvFormStorage1: TJvFormStorage; edRutaLan: TEdit; bDirectorio: TSpeedButton; rbInternet: TRadioButton; rbLan: TRadioButton; ActionList1: TActionList; Action1: TAction; Action2: TAction; TabSheet2: TTabSheet; GroupBox2: TGroupBox; Label1: TLabel; Label5: TLabel; edFicheroConfig: TEdit; JvBrowseForFolderDialog1: TJvBrowseForFolderDialog; JvProgramVersionCheck1: TJvProgramVersionCheck; JvProgramVersionNetworkLocation1: TJvProgramVersionNetworkLocation; Label6: TLabel; edLocation: TEdit; Label7: TLabel; JvProgramVersionHTTPLocationIndy1: TJvProgramVersionHTTPLocationIndy; procedure bDirectorioClick(Sender: TObject); procedure Action1Update(Sender: TObject); procedure FormActivate(Sender: TObject); procedure OKBtnClick(Sender: TObject); procedure JvFormStorage1StoredValues0Save(Sender: TJvStoredValue; var AValue: Variant); private InfoProject : TInfoProject; public { Public declarations } function HayConfiguracion: Boolean; procedure Actualizar; function darVersion: String; end; var fActualizacion: TfActualizacion; implementation {$R *.dfm} uses JclFileUtils; procedure TfActualizacion.bDirectorioClick(Sender: TObject); begin if Length(edRutaLan.Text) > 0 then JvBrowseForFolderDialog1.Directory := edRutaLan.Text; JvBrowseForFolderDialog1.Execute; if DirectoryExists(JvBrowseForFolderDialog1.Directory) then edRutaLan.Text := JvBrowseForFolderDialog1.Directory + '\' else begin ShowMessage('Directorio no válido'); bDirectorio.Click; end; end; procedure TfActualizacion.Action1Update(Sender: TObject); begin edRutaLan.Enabled := rbLan.Checked; bDirectorio.Enabled := rbLan.Checked; edLocation.Enabled := rbInternet.Checked; edUsuario.Enabled := rbInternet.Checked; edPassword.Enabled := rbInternet.Checked; end; procedure TfActualizacion.FormActivate(Sender: TObject); begin JvFormStorage1.RestoreFormPlacement; PageControl1.TabIndex := 0; end; procedure TfActualizacion.OKBtnClick(Sender: TObject); begin JvFormStorage1.SaveFormPlacement; end; procedure TfActualizacion.Actualizar; begin JvFormStorage1.RestoreFormPlacement; if rbLan.Checked then begin JvProgramVersionCheck1.LocationType := pvltNetwork; with JvProgramVersionNetworkLocation1 do begin VersionInfoLocationPathList.Clear; VersionInfoLocationPathList.Add(edRutaLan.Text); VersionInfoFileName := edFicheroConfig.Text; end; end else begin JvProgramVersionCheck1.LocationType := pvltHTTP; with JvProgramVersionHTTPLocationIndy1 do begin VersionInfoFileName := edFicheroConfig.Text; VersionInfoLocationPathList.Clear; VersionInfoLocationPathList.Add(edLocation.Text); UserName := edUsuario.Text; Password := edPassword.Text; end; end; JvProgramVersionCheck1.LocalVersionInfoFileName := 'versionlocal.ini';//edFicheroConfig.Text; JvProgramVersionCheck1.Execute; end; procedure TfActualizacion.JvFormStorage1StoredValues0Save( Sender: TJvStoredValue; var AValue: Variant); begin if rbInternet.Checked then AValue := 'INTERNET' else AValue := 'LAN'; end; function TfActualizacion.darVersion: String; begin InfoProject := TInfoProject.Create(Self); try Result := InfoProject.FileVersion; finally FreeAndNil(InfoProject); end; end; function TfActualizacion.HayConfiguracion: Boolean; begin // Cargar la configuración desde el registro. JvFormStorage1.RestoreFormPlacement; Result := (rbLan.Checked) or (rbInternet.Checked); end; end.