"CykelSmeden fra Aalborg" <outlook@acnord.SLET.dk> wrote:
>
> Jeg kunne godt tænke mig at lægge eks. dato-tid for kompileringstidspunket
> ind i en variabel, som eks. kan vises på request i programmet.
> Kan dette gøres automatisk?
Både ja og nej. Hvis du mener inde fra editoren, så nej (jeg har ikke fundet
det. Det kan dog godt være at der er nogen, som har skrevet en ekspert).
Hvis du bruger Delphi, Turbo Pascal eller Borland Pascal, kan du bruge
programmet MAKE sammen med henholdsvis DCC.EXE/DCC32.EXE, TPC.EXE og BPC.EXE
til at oversætte programmet. Her er et lille eksempel til Delphi (der er ikke
ret stor forskel på Delphi, TP og BP):
<*** MAKEFILE ***>
default: tyt.exe
tyt.exe: tyt.dpr test.inc
dcc32 tyt.dpr
test.inc: tyt.dpr
echo const COMPDATOTID='%_date %_time'; > test.inc
<*** End of File ***>
<*** TYT.DPR ***>
program TYT;
{$APPTYPE CONSOLE}
{$I test.inc}
begin
WriteLn(COMPDATOTID);
end.
<*** End of File ***>
I stedet for kommandoen "echo const COMPDATOTID='%_date %_time';" i MAKEFILE
(den bruger 4DOS specifikke kommandoer til at give dato og tid) kan du lave et
lille program til at give den ønskede information på STDOUT. Du kan endda lade
ovennævnte program lave en hel unit. Det her er kun et meget simpelt eksempel
for at vise fremgangsmåden.
Når du nu retter filen TYT.DPR og kalder MAKE, kan du se at filen TEST.INC
bliver lavet før TYT.DPR bliver kompileret.
Husk at filen med compileringstidspunktet (her test.inc) skal afhænge af alle
de filer du bruger i programmet. Ellers bliver den ikke opdateret, når filerne
ændrer sig.
<surt opstød>
Hvorfor har Borlands lavet om på syntaksen i deres MAKE-filer i forhold til
UNIX MAKE-filer?
</surt opstød>
MVH, René
--
Using Virtual Access
http://www.vamail.com