Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-12-2009
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 19
Lord Delfos Va por buen camino
¡Sí! ¡Al fin puede hacerlo! Qué hijo de ·$·%$!@. Se me complicó el asunto.

Al final todo fue obra del querido CnWizards, que permite ejecutar un script antes de compilar un proyecto cualquiera. Asi que me hice un script que crea un archivo con las lineas

Código Delphi [-]
const FechaCompilacion = '28/12/2009 a las 12:14';

... usando la función Now, lógicamente, así uno tiene la fecha y hora actual en la que se está corriendo el script.

Después agrego un $INCLUDE en mi código para que importe ese archivo y listo. Ahora tengo una constante que tiene la fecha de compilación.

Qué bueno, con qué poco uno se pone contento en estos días...

Saludos y gracias a todos por los aportes.
Responder Con Cita
  #2  
Antiguo 28-12-2009
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.696
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Bueno, bueno... amigo explica cómo se hace el script ese del cnwizard, porfa
Responder Con Cita
  #3  
Antiguo 28-12-2009
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 19
Lord Delfos Va por buen camino
Hmmmm... Parece ser un buen secreto, no sé si darlo gratis...

En fin, la cosa es así:

[1] Tener instalado el CnWizards, claro.
[2] Vas "Script Wizard\Script Window".
[3] Aparece una ventanita. Se hace click en "new". Esto abre una ventana en el IDE de Delphi.
[4] Uno escribe el código correspondiente.

Código Delphi [-]
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

var Lineas: TStringList;

begin
  Lineas:= TStringList.Create;
  try
    Lineas.Add('const FechaCompilacion = ''' + FormatDatetime('dd/mm/yyyy', Now) + ''';');
    Lineas.Add('const HoraCompilacion = ''' + FormatDatetime('hh:nn', Now) + ''';');
    Lineas.SaveToFile('C:\Delphi\Utils\FechaCompilacion.inc');
  finally
    Lineas.Free;
  end;

y lo guardás en cualquier lado.

[5] Vas a "Script Wizard\Script Library". La ventana que aparece te muestra todos los scripts que tengas declarados a la izquierda (probablemente no tengas ninguno).

[6] Hacés click en "Add", le ponés algún nombre. Elegís el archivo que acabás de guardar en la TextBox "Filename".

[7] Ahora seleccionás fmBeforeCompile en el Treeview de la derecha. Para que el script se corra antes de compilar.

[8] Finalmente agregás un $I en tu código para importar el archivo que tiene las constantes:

Código Delphi [-]
unit Unit1;

type TForm1 = class(TForm)

[...]

end

implementation

{$R *.res}

{$I 'C:\Delphi\Utils\FechaCompilacion.inc'}


procedure TForm1.OnCreate(Sender: TObject);
begin
  ShowMessage('Compilado el ' + FechaCompilacion + ' a las ' + HoraCompilacion);
end;

Lógicamente, dado que el $I importa el código directamente donde se declara, hay que ponerlo en un lugar donde se permita declarar constantes.

Y listo. Por supuesto que el script se ejecuta cada vez que se compila cualquier proyecto, así que con cualquier cosa uno sobreescribe el archivo con las constantes. Afortunadamente resulta irrelevante ya que se usa únicamente para "leer" la hora y la fecha.

¿Sé entiende todo esto? El que no entiende, pues pregunte.
Responder Con Cita
  #4  
Antiguo 29-12-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.465
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Gracias por la explicación; Muy interesante...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 29-12-2009
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.696
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Ya lo he "pirateado" ¿o tiene licencia libre?
Responder Con Cita
  #6  
Antiguo 29-12-2009
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Pues yo he tenido un deja vú

El año pasado hice varios de ese estilo, pero vamos, que no es necesario escribir en un fichero externo, cnWizard permite modificar cualquier archivo del proyecto delphi que tengas, de forma que esa constante se podría incluir en una unidad tuya, o incluso que cree un nuevo .pas con la constante y agregue esa unidad al proyecto automáticamente.

Si eso... mira este mensaje
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 29-12-2009
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.696
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Entonces, cómo sería, ¿escribiendo en la ventanita que sale al dar a "nuevo script"?
Responder Con Cita
  #8  
Antiguo 29-12-2009
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 19
Lord Delfos Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
... cnWizard permite modificar cualquier archivo del proyecto delphi que tengas, de forma que esa constante se podría incluir en una unidad tuya, o incluso que cree un nuevo .pas con la constante y agregue esa unidad al proyecto automáticamente.
Es muy interesante tu idea, pero tengo una duda.

¿Hay alguna manera de saber, desde un script, cómo se llama el proyecto o su ruta? Es decir, yo puedo agregar lineas de código al archivo que tengo editando, pero ¿qué pasa si quiero que escriba en otro archivo del proyecto? Tendría que hacer un script por cada proyecto, para poder cambiarle el archivo en el que tiene que escribir...

Es decir, sería muy bueno poder saber el nombre del proyecto (y/o su ruta) así uno podría crear una unidad en la misma ruta del proyecto y agregarla a la uses... ¿Se entiende lo que digo?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
insertar fecha con ado y Tquery microbiano Conexión con bases de datos 5 12-11-2009 19:26:01
obtener solo la fecha en formato fecha y sin hora BlueSteel SQL 14 09-05-2008 16:42:19
Problema insertar fecha Nomad SQL 17 17-01-2008 22:50:46
Insertar fecha desde NxDatePicker JcTaztoman Varios 0 26-09-2007 18:30:18
Como insertar fecha en un proyecto Adonis Varios 2 18-09-2007 03:52:02


La franja horaria es GMT +2. Ahora son las 05:07:22.


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