Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Control de versiones (https://www.clubdelphi.com/foros/showthread.php?t=68350)

Waldo 08-06-2010 21:10:42

Control de versiones
 
Benos dias/tardes, aqui de nuevo haciendo alguna pregunta despues de hace tiempo.

he estado trabajdno en un proyecto por mucho tiempo, pero ahora se me ha ocurrido utilizar algun control de version, no se si lo tengo bien enfocado pero explicare mi idea mas detallada.

El sistema constantemente lo estoy modificando y agregando eliminando funcione smodulos etc. al grado de mejorrarlo, pero mi idea es que cada vez que hago algun tipo de modificacion poder poner una especie de version, para ver si en las terminales ( pc en red) que version del programa tienen instalada.

Actuañlmente yo lo manejo con una fecha por ejemplo


cada vez que decido que el sistema es estable y apto para actualizar le pongo en un label 07.06.10 que significa la ultima fecha de modificacion y por medio de ese numero identifico que version tiene instalada cada pc y me doy cuenta si es vieja o mas nueva . mi pregunta es, es asi como se maneja o existe algun metodo que lo haga automatico como el software tradicional. agradeceria su apoyo. Gracias

afunez2007 08-06-2010 21:52:15

Hola

Revisa este post:
http://www.clubdelphi.com/foros/showthread.php?t=66816

Por alli veras algunas ideas

droguerman 08-06-2010 23:22:41

Hola:

Yo te recomiendo usar subversion, hace todo lo que quieres y más, la parte difícil es configurar el repositorio, pero existe VisualSVN Server que lo hace muy muy sencillo, si vas a trabajar con windows puedes usar Tortoise SVN para enviar y recibir tus actualizaciones, la verdad que ahora no puedo trabajar si no uso un repositorio de control de versiones, pruébalo y si necesitas más ayuda me puedes enviar un mensaje privado

Saludos

Waldo 08-06-2010 23:30:59

Ijole creo que comprendi la idea que dicen, creo que s eme hace complicado aunque siempre es complicado cuando no se conoce exactamente de que s etrata


No quiero complicarme mucho, solo lo que quiero de momento es facil, es solo agregarle una marca al ejecutable que me identifique que version es. para saver de que se trata no pido actualizaciones remotas y ese detalle ya que las pc estan en un mismo lugar.

AzidRain 08-06-2010 23:39:08

droguer yo iba a postear casi algo idéntico pero creo que lo que nuestro amigo quiere es que cada vez que actualice una versión en un servidor, las pcs detecten eso y hagan la actualizaciones en forma automática. Similiar a como lo hacen los antivirus y algunos otros softwares similares...

Waldo 08-06-2010 23:53:07

jajajaj bueno bueno, eso es muy bueno e interesante. pero de momento no me quiero complicar tanto la vida con eso. lo unico que necesito es. como una especie de contador de ejecuciones


cuando copilo que genere una version y cuando lo haga de nuevo uno mas y asi susesivamente, havia pensado en usar un contador almacenado en el ini, pero ciertamente dodne esta el sistema no se actualiza ese ini cuando estoy en programacion ya que son carpetas independientes al de programa en funcion al programa de diseño.

mamcx 09-06-2010 00:50:16

Eso viene incluido en Delphi desde tiempos inmemoriables.

En la pestaña de Build, hay una parte donde dices que la version es la 1,0,0,0 y el build. Luego donde dice incrementar automaticamente el build y ya.

Waldo 09-06-2010 02:19:12

Cita:

Empezado por mamcx (Mensaje 366646)
Eso viene incluido en Delphi desde tiempos inmemoriables.

En la pestaña de Build, hay una parte donde dices que la version es la 1,0,0,0 y el build. Luego donde dice incrementar automaticamente el build y ya.


es correcto pero como obtengo esa informacion en tiempo de ejecucion?

mamcx 09-06-2010 05:05:48

http://delphi.about.com/cs/adptips20...ltip0701_4.htm

MAXIUM 09-06-2010 06:57:53

Project -> Options... -> Version Info -> Auto-increment build number.

Código Delphi [-]
// Obtiene la versión de la aplicación actualmente instalada.
Function GetAppVersion: String;
Var
    Size, Size2: DWord;
    Pt, Pt2: Pointer;
Begin
     Size:= GetFileVersionInfoSize(PChar (ParamStr (0)), Size2);
     If Size > 0 then
     Begin
          GetMem(Pt, Size);
          Try
             GetFileVersionInfo(PChar (ParamStr (0)), 0, Size, Pt);
             VerQueryValue(Pt, '\', Pt2, Size2);
             With TVSFixedFileInfo(Pt2^) do
             Begin
                  Result:=
                  IntToStr (HiWord(dwFileVersionMS)) + '.' +
                  IntToStr (LoWord(dwFileVersionMS)) + '.' +
                  IntToStr (HiWord(dwFileVersionLS)) + '.' +
                  IntToStr (LoWord(dwFileVersionLS));
             End;
          Finally
                 FreeMem(Pt);
          End;
     End;
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Muestra el número de versión de esta apliación en la barra de títulos.
     Form1.Caption:= 'Club Delphi v' +  GetAppVersion;
     Application.Title:= Form1.Caption;
end;

http://es.wikipedia.org/wiki/Fases_d...lo_de_software
http://es.wikipedia.org/wiki/Software

Waldo 09-06-2010 07:21:46

Ok, muchas gracias, lo curioso de todo es que nunca le he dado a build al propyecto no se ni pa que sirve, jejeje

MAXIUM 10-06-2010 03:23:15

El build, se utiliza cuando tienes una versión a la cual no le haces ningún "cambio", sino más bien depuración.

Es decir, imagina que tienes una aplicación a la cual optimizas una parte del código. Esa parte del código optimizado, se llama build...

v1.2.4.524

El 1º dígito, representa la versión, si haces un programa mejor partiendo de cero, la versión pasa a 2.

El 2º dígito, es cuando a la versión actual se le hacen cambios o modificaciones mayores. A cada cambio mayor, le aumentas 1.

El 3º dígito, es cuando haces cambios menores.

El último dígito es el build, en este caso, se ha compilado y depurado 524 veces.

jafera 10-06-2010 11:28:52

Buenas de nuevo.

Yo tambien estoy interesado en esta funcion, pero una vez coloco el codigo en el form que quiero que me lo muestre, me da este error

[Error] About.pas(35): Undeclared identifier: 'GetAppVersion'

Asi es como lo llamo y toda la funcion esta declarada en el oncreate del DataModul

Código Delphi [-]
 
F_AboutBox.Version.Caption:= 'Gestio de Rebuts versió' +  GetAppVersion;

Que me puede haber quedado en el tintero? Algo en uses?.

No le veo la salida

Gracias

Josep

maeyanes 10-06-2010 16:20:09

Hola...

jafera, ¿y en qué unidad tienes el código de la función GetAppVersion?



Saludos...

jafera 10-06-2010 17:58:29

Ya esta solucionado, me faltaba capturar el valor en un string y desoues usar este string en la etiqueta.

Creo un string, lo llamo vers y despues le paso el valor del getappversion

Código Delphi [-]
 
procedure TF_AboutBox.FormCreate(Sender: TObject);
var
Vers: String;
begin
        Vers:=F_Moduldades.GetAppVersion;
        Version.Caption:= 'Hola esta es la v. ' + Vers;
end;

Por mi parte solventado

Gracias a todos

Josep

MAXIUM 10-06-2010 18:00:59

GetAppVersion debe de estar antes o sobre el procedimiento o función que la llame, sino, la declaras en private function GetAppVersion;

Luego haces una pequeña modificación:
Código Delphi [-]
Function TForm1.GetAppVersion: String;
Var
    Size, Size2: DWord;
    Pt, Pt2: Pointer;
Begin
......
código
......
End;

Waldo 11-06-2010 22:24:09

Cita:

Empezado por MAXIUM (Mensaje 366820)
El build, se utiliza cuando tienes una versión a la cual no le haces ningún "cambio", sino más bien depuración.

Es decir, imagina que tienes una aplicación a la cual optimizas una parte del código. Esa parte del código optimizado, se llama build...

v1.2.4.524

El 1º dígito, representa la versión, si haces un programa mejor partiendo de cero, la versión pasa a 2.

El 2º dígito, es cuando a la versión actual se le hacen cambios o modificaciones mayores. A cada cambio mayor, le aumentas 1.

El 3º dígito, es cuando haces cambios menores.

El último dígito es el build, en este caso, se ha compilado y depurado 524 veces.


Gracias, mas que claro, aunque cambiar de version no creo, que weva empezar todo desde cero, creo que mi sistema no pasara del 1 jajaja gracias

rgstuamigo 12-06-2010 17:08:33

Bueno :rolleyes: puede que tambien te sirva ésto.;).
Saludos...:)


La franja horaria es GMT +2. Ahora son las 18:54:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi