/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
TIME funktionen i Delphi
Fra : Polle


Dato : 01-08-01 13:47

Jeg er TOTAL nybegynder:

En vist nok simpel ting som at tage TID på hvor længe et stykke kode
er om at udføres i Delphi.

altså:

begin
tiden blir målt her med TIME
kode....
kode....
kode....
tiden blir målt her IGEN med TIME

den forskel der nu skulle være i de to tider kan jeg ikke finde ud af
at få subtraheret og omvendt til en editboks.

jeg har mange problemer med at hitte ud af det der med TimeToStr eller

så snart det er en Double eller en Real der skal til en String, så ka
jætte hitte u af det.

Det gør ligemeget med at målingen måske ikke blir så præcis da koden
er rimelig kort, det er mere princippet i hvordan jeg får Time til
String og vise versa, eller eks. TIME til et format jeg kan REGNE med
og evt. gange(*) med et nyt tal.

Hvis i fatter mit STORE(LILLE) problem her, så blir jeg glad hvis i
hjælper

Evt. hvor jeg på nettet kunne finde noget lige netop om det..!
mvh Polle

 
 
Uffe Kousgaard (01-08-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 01-08-01 13:55

Hvis det ikke skal være nøjagtigt (eller din kode tager lang tid), kan du
anvende følgende:

var
time1: float;
begin
time1:= now;
kode...
edit1.text:= floattostr((now-time1)*86400)+' sekunder';

Du kan også bruge Str proceduren eller FloatToStrFormat, hvis du vil styre
antallet af decimaler.

Skal tidsmålingen være mere præcis, skal du have fat i gettickcount i stedet
for now. Den er af typen longword og returnerer millisekunder.

Hilsen
Uffe

"Polle" <Polle@Snave.dk> wrote in message
news:3b68f833.9552759@news.worldonline.dk...
> Jeg er TOTAL nybegynder:
>
> En vist nok simpel ting som at tage TID på hvor længe et stykke kode
> er om at udføres i Delphi.
>
> altså:
>
> begin
> tiden blir målt her med TIME
> kode....
> kode....
> kode....
> tiden blir målt her IGEN med TIME
>
> den forskel der nu skulle være i de to tider kan jeg ikke finde ud af
> at få subtraheret og omvendt til en editboks.
>
> jeg har mange problemer med at hitte ud af det der med TimeToStr eller
>
> så snart det er en Double eller en Real der skal til en String, så ka
> jætte hitte u af det.
>
> Det gør ligemeget med at målingen måske ikke blir så præcis da koden
> er rimelig kort, det er mere princippet i hvordan jeg får Time til
> String og vise versa, eller eks. TIME til et format jeg kan REGNE med
> og evt. gange(*) med et nyt tal.
>
> Hvis i fatter mit STORE(LILLE) problem her, så blir jeg glad hvis i
> hjælper
>
> Evt. hvor jeg på nettet kunne finde noget lige netop om det..!
> mvh Polle



Polle (01-08-2001)
Kommentar
Fra : Polle


Dato : 01-08-01 17:02

Tak Uffe
Det kan jeg godt bruge og se mig nogenlunde ud af.
Jeg er dog ikke helt med på hvad FLOAT er for en "data" type??
"now" er altså osse et reserveret ord i D, og tar tilsyneladende
klokkeslettet på nuværende tidspunkt, ikk!!

Hvad hvis man har et tal af Typen Double i en variabel, hvordan ændrer
jeg den til en STRING?

og det samme med mange af de andre typer data?
mvh Polle

>Hvis det ikke skal være nøjagtigt (eller din kode tager lang tid), kan du
>anvende følgende:
>
>var
> time1: float;
>begin
> time1:= now;
> kode...
> edit1.text:= floattostr((now-time1)*86400)+' sekunder';
>
>Du kan også bruge Str proceduren eller FloatToStrFormat, hvis du vil styre
>antallet af decimaler.
>
>Skal tidsmålingen være mere præcis, skal du have fat i gettickcount i stedet
>for now. Den er af typen longword og returnerer millisekunder.
>
>Hilsen
>Uffe
>
>"Polle" <Polle@Snave.dk> wrote in message
>news:3b68f833.9552759@news.worldonline.dk...
>> Jeg er TOTAL nybegynder:
>>
>> En vist nok simpel ting som at tage TID på hvor længe et stykke kode
>> er om at udføres i Delphi.
>>
>> altså:
>>
>> begin
>> tiden blir målt her med TIME
>> kode....
>> kode....
>> kode....
>> tiden blir målt her IGEN med TIME
>>
>> den forskel der nu skulle være i de to tider kan jeg ikke finde ud af
>> at få subtraheret og omvendt til en editboks.
>>
>> jeg har mange problemer med at hitte ud af det der med TimeToStr eller
>>
>> så snart det er en Double eller en Real der skal til en String, så ka
>> jætte hitte u af det.
>>
>> Det gør ligemeget med at målingen måske ikke blir så præcis da koden
>> er rimelig kort, det er mere princippet i hvordan jeg får Time til
>> String og vise versa, eller eks. TIME til et format jeg kan REGNE med
>> og evt. gange(*) med et nyt tal.
>>
>> Hvis i fatter mit STORE(LILLE) problem her, så blir jeg glad hvis i
>> hjælper
>>
>> Evt. hvor jeg på nettet kunne finde noget lige netop om det..!
>> mvh Polle
>


Ingolf (01-08-2001)
Kommentar
Fra : Ingolf


Dato : 01-08-01 19:24

Fra D3 hjælp...

The float keyword designates a 32-bit floating-point number.
The float type is one of the base types of the interface definition language
(IDL). The float type can appear as a type specifier in typedef
declarations, general declarations, and function declarators (as a
function-return-type specifier and a parameter-type specifier). For the
context in which type specifiers appear, see IDL.
The float type cannot appear in const declarations.

FLOAT benyttes i D3 til at referere til DATAtyper fra C
FLOAT bruges i C, ikke i delphi... ihvertfald ikke D3

i Delphi benyttes REAL, COMP, SINGLE, DOUBLE ...

>
> Hvad hvis man har et tal af Typen Double i en variabel, hvordan ændrer
> jeg den til en STRING?

Brug VAL

Så det op i hjælpen..

Når du har problemer med disse ord, stil curseren på ordet, og tryk F1

F.eks... skriv VAL et sted i din kode, og tryk F1.

Check også hvis du har lavet en knap, når du skriver

BUTTON1.

Så vil der komme en liste med properties for netop BUTTON1


--
Regards
Ingolf



base_types, double.
"Polle" <Polle@Snave.dk> wrote in message
news:3b68269c.21436190@news.worldonline.dk...
> Tak Uffe
> Det kan jeg godt bruge og se mig nogenlunde ud af.
> Jeg er dog ikke helt med på hvad FLOAT er for en "data" type??
> "now" er altså osse et reserveret ord i D, og tar tilsyneladende
> klokkeslettet på nuværende tidspunkt, ikk!!
>
> Hvad hvis man har et tal af Typen Double i en variabel, hvordan ændrer
> jeg den til en STRING?
>
> og det samme med mange af de andre typer data?
> mvh Polle
>
> >Hvis det ikke skal være nøjagtigt (eller din kode tager lang tid), kan du
> >anvende følgende:
> >
> >var
> > time1: float;
> >begin
> > time1:= now;
> > kode...
> > edit1.text:= floattostr((now-time1)*86400)+' sekunder';
> >
> >Du kan også bruge Str proceduren eller FloatToStrFormat, hvis du vil
styre
> >antallet af decimaler.
> >
> >Skal tidsmålingen være mere præcis, skal du have fat i gettickcount i
stedet
> >for now. Den er af typen longword og returnerer millisekunder.
> >
> >Hilsen
> >Uffe
> >
> >"Polle" <Polle@Snave.dk> wrote in message
> >news:3b68f833.9552759@news.worldonline.dk...
> >> Jeg er TOTAL nybegynder:
> >>
> >> En vist nok simpel ting som at tage TID på hvor længe et stykke kode
> >> er om at udføres i Delphi.
> >>
> >> altså:
> >>
> >> begin
> >> tiden blir målt her med TIME
> >> kode....
> >> kode....
> >> kode....
> >> tiden blir målt her IGEN med TIME
> >>
> >> den forskel der nu skulle være i de to tider kan jeg ikke finde ud af
> >> at få subtraheret og omvendt til en editboks.
> >>
> >> jeg har mange problemer med at hitte ud af det der med TimeToStr eller
> >>
> >> så snart det er en Double eller en Real der skal til en String, så ka
> >> jætte hitte u af det.
> >>
> >> Det gør ligemeget med at målingen måske ikke blir så præcis da koden
> >> er rimelig kort, det er mere princippet i hvordan jeg får Time til
> >> String og vise versa, eller eks. TIME til et format jeg kan REGNE med
> >> og evt. gange(*) med et nyt tal.
> >>
> >> Hvis i fatter mit STORE(LILLE) problem her, så blir jeg glad hvis i
> >> hjælper
> >>
> >> Evt. hvor jeg på nettet kunne finde noget lige netop om det..!
> >> mvh Polle
> >
>



Ingolf (04-08-2001)
Kommentar
Fra : Ingolf


Dato : 04-08-01 12:32

Check den her :

Function GetClock:LongInt; Assembler;
{ this routine returns a clock With occassional spikes where time
will look like its running backwards 1/18th of a second. The resolution
of the clock is 1/(18*256) = 1/4608 second. 66 ticks of this clock
are supposed to be equal to a monitor 1/70 second tick.}
Asm
mov ah,0 { get tick count from
Dos and use For hi 3 Bytes }
int 01ah { lo order count in DX,
hi order in CX }
mov ah,dl
mov dl,dh
mov dh,cl

mov al,0 { read lo Byte straight
from timer chip }
out $043,al { latch count }
mov al,1
out $043,al { set up to read
count }
in al,$040 { read in lo Byte
(and discard) }
in al,$040 { hi Byte into al }
neg al { make it so counting up
instead of down }
end;

Virkewr kun med Win9x systemer... har ikke prøvet ME...denne funktion skulle
være supernøjagtig...eller lige så nøjagtig som krystallen i compen...


--
Regards
Ingolf

"Ingolf" <DONT_SPAM_ingolf@musling.dk> wrote in message
news:rOX97.121$xn.20310@news010.worldonline.dk...
> Fra D3 hjælp...
>
> The float keyword designates a 32-bit floating-point number.
> The float type is one of the base types of the interface definition
language
> (IDL). The float type can appear as a type specifier in typedef
> declarations, general declarations, and function declarators (as a
> function-return-type specifier and a parameter-type specifier). For the
> context in which type specifiers appear, see IDL.
> The float type cannot appear in const declarations.
>
> FLOAT benyttes i D3 til at referere til DATAtyper fra C
> FLOAT bruges i C, ikke i delphi... ihvertfald ikke D3
>
> i Delphi benyttes REAL, COMP, SINGLE, DOUBLE ...
>
> >
> > Hvad hvis man har et tal af Typen Double i en variabel, hvordan ændrer
> > jeg den til en STRING?
>
> Brug VAL
>
> Så det op i hjælpen..
>
> Når du har problemer med disse ord, stil curseren på ordet, og tryk F1
>
> F.eks... skriv VAL et sted i din kode, og tryk F1.
>
> Check også hvis du har lavet en knap, når du skriver
>
> BUTTON1.
>
> Så vil der komme en liste med properties for netop BUTTON1
>
>
> --
> Regards
> Ingolf
>
>
>
> base_types, double.
> "Polle" <Polle@Snave.dk> wrote in message
> news:3b68269c.21436190@news.worldonline.dk...
> > Tak Uffe
> > Det kan jeg godt bruge og se mig nogenlunde ud af.
> > Jeg er dog ikke helt med på hvad FLOAT er for en "data" type??
> > "now" er altså osse et reserveret ord i D, og tar tilsyneladende
> > klokkeslettet på nuværende tidspunkt, ikk!!
> >
> > Hvad hvis man har et tal af Typen Double i en variabel, hvordan ændrer
> > jeg den til en STRING?
> >
> > og det samme med mange af de andre typer data?
> > mvh Polle
> >
> > >Hvis det ikke skal være nøjagtigt (eller din kode tager lang tid), kan
du
> > >anvende følgende:
> > >
> > >var
> > > time1: float;
> > >begin
> > > time1:= now;
> > > kode...
> > > edit1.text:= floattostr((now-time1)*86400)+' sekunder';
> > >
> > >Du kan også bruge Str proceduren eller FloatToStrFormat, hvis du vil
> styre
> > >antallet af decimaler.
> > >
> > >Skal tidsmålingen være mere præcis, skal du have fat i gettickcount i
> stedet
> > >for now. Den er af typen longword og returnerer millisekunder.
> > >
> > >Hilsen
> > >Uffe
> > >
> > >"Polle" <Polle@Snave.dk> wrote in message
> > >news:3b68f833.9552759@news.worldonline.dk...
> > >> Jeg er TOTAL nybegynder:
> > >>
> > >> En vist nok simpel ting som at tage TID på hvor længe et stykke kode
> > >> er om at udføres i Delphi.
> > >>
> > >> altså:
> > >>
> > >> begin
> > >> tiden blir målt her med TIME
> > >> kode....
> > >> kode....
> > >> kode....
> > >> tiden blir målt her IGEN med TIME
> > >>
> > >> den forskel der nu skulle være i de to tider kan jeg ikke finde ud af
> > >> at få subtraheret og omvendt til en editboks.
> > >>
> > >> jeg har mange problemer med at hitte ud af det der med TimeToStr
eller
> > >>
> > >> så snart det er en Double eller en Real der skal til en String, så ka
> > >> jætte hitte u af det.
> > >>
> > >> Det gør ligemeget med at målingen måske ikke blir så præcis da koden
> > >> er rimelig kort, det er mere princippet i hvordan jeg får Time til
> > >> String og vise versa, eller eks. TIME til et format jeg kan REGNE med
> > >> og evt. gange(*) med et nyt tal.
> > >>
> > >> Hvis i fatter mit STORE(LILLE) problem her, så blir jeg glad hvis i
> > >> hjælper
> > >>
> > >> Evt. hvor jeg på nettet kunne finde noget lige netop om det..!
> > >> mvh Polle
> > >
> >
>
>



Uffe Kousgaard (01-08-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 01-08-01 19:44

"Polle" <Polle@Snave.dk> wrote in message
news:3b68269c.21436190@news.worldonline.dk...
> Tak Uffe
> Det kan jeg godt bruge og se mig nogenlunde ud af.
> Jeg er dog ikke helt med på hvad FLOAT er for en "data" type??
Undskyld, jeg sad og kodede mapbasic på det tidspunkt og fik lige rodet
tingene sammen. Der skulle have stået double.


> "now" er altså osse et reserveret ord i D, og tar tilsyneladende
> klokkeslettet på nuværende tidspunkt, ikk!!
Jeps


> Hvad hvis man har et tal af Typen Double i en variabel, hvordan ændrer
> jeg den til en STRING?
Med funktionen Str eller floattostrformat. Ikke Val, som Ingolf foreslår.
Den gør det modsatte.


>
> og det samme med mange af de andre typer data?
> mvh Polle
>
Der er også inttostr til heltalsvariable.

Hilsen
Uffe




Polle (01-08-2001)
Kommentar
Fra : Polle


Dato : 01-08-01 21:06

Jeg fik det til at virke med "now" og Time1 og Double som du foreslog.
Hvilken tidsenhed er det så. millisekunder, sekunder eller..?

Der er osse noget med at gange med 86400, som er det antal sekunder vi
har på et døgn. Hvorfor ??

>"Polle" <Polle@Snave.dk> wrote in message
>news:3b68269c.21436190@news.worldonline.dk...
>> Tak Uffe
>> Det kan jeg godt bruge og se mig nogenlunde ud af.
>> Jeg er dog ikke helt med på hvad FLOAT er for en "data" type??
>Undskyld, jeg sad og kodede mapbasic på det tidspunkt og fik lige rodet
>tingene sammen. Der skulle have stået double.

Det er OK
>
>> "now" er altså osse et reserveret ord i D, og tar tilsyneladende
>> klokkeslettet på nuværende tidspunkt, ikk!!
>Jeps
>
>
>> Hvad hvis man har et tal af Typen Double i en variabel, hvordan ændrer
>> jeg den til en STRING?
>Med funktionen Str eller floattostrformat. Ikke Val, som Ingolf foreslår.
>Den gør det modsatte.

Altså skal jeg skrive floattostrformat(variabel) for at ændre en
Double??

>
>>
>> og det samme med mange af de andre typer data?
>> mvh Polle
>>
>Der er også inttostr til heltalsvariable.

Jeg ved IntToStr og StrToInt, men der er ikke noget der hedder
DoubleToStr eller RealToStr eller WordToStr, vel??

mvh Polle

>Hilsen
>Uffe
>
>


Polle (01-08-2001)
Kommentar
Fra : Polle


Dato : 01-08-01 17:35

Hej Uffe

>Hvis det ikke skal være nøjagtigt (eller din kode tager lang tid), kan du
>anvende følgende:
>
>var
> time1: float;
Den skriver: Undeclared Identifier 'float' ??
>begin
> time1:= now;
> kode...
> edit1.text:= floattostr((now-time1)*86400)+' sekunder';
>
>Du kan også bruge Str proceduren eller FloatToStrFormat, hvis du vil styre
>antallet af decimaler.
>
>Skal tidsmålingen være mere præcis, skal du have fat i gettickcount i stedet
>for now. Den er af typen longword og returnerer millisekunder.
>
>Hilsen
>Uffe
>
>"Polle" <Polle@Snave.dk> wrote in message
>news:3b68f833.9552759@news.worldonline.dk...
>> Jeg er TOTAL nybegynder:
>>
>> En vist nok simpel ting som at tage TID på hvor længe et stykke kode
>> er om at udføres i Delphi.
>>
>> altså:
>>
>> begin
>> tiden blir målt her med TIME
>> kode....
>> kode....
>> kode....
>> tiden blir målt her IGEN med TIME
>>
>> den forskel der nu skulle være i de to tider kan jeg ikke finde ud af
>> at få subtraheret og omvendt til en editboks.
>>
>> jeg har mange problemer med at hitte ud af det der med TimeToStr eller
>>
>> så snart det er en Double eller en Real der skal til en String, så ka
>> jætte hitte u af det.
>>
>> Det gør ligemeget med at målingen måske ikke blir så præcis da koden
>> er rimelig kort, det er mere princippet i hvordan jeg får Time til
>> String og vise versa, eller eks. TIME til et format jeg kan REGNE med
>> og evt. gange(*) med et nyt tal.
>>
>> Hvis i fatter mit STORE(LILLE) problem her, så blir jeg glad hvis i
>> hjælper
>>
>> Evt. hvor jeg på nettet kunne finde noget lige netop om det..!
>> mvh Polle
>


Thomsen (01-08-2001)
Kommentar
Fra : Thomsen


Dato : 01-08-01 19:47

Hejsa,

Måden man normalt finder ud af hvor lang tid et stykke kode er om at blive
udført er:

var
start : dword;
begin
start := GetTickCount;
//kode....
showmessage(inttostr(start-gettickcount));
end;


GetTickCount funktionen returnerer antal millisekunder der er gået siden
Windows er blevet startet.

-Thomsen

"Polle" <Polle@Snave.dk> skrev i en meddelelse
news:3b68f833.9552759@news.worldonline.dk...
> Jeg er TOTAL nybegynder:
>
> En vist nok simpel ting som at tage TID på hvor længe et stykke kode
> er om at udføres i Delphi.
>
> altså:
>
> begin
> tiden blir målt her med TIME
> kode....
> kode....
> kode....
> tiden blir målt her IGEN med TIME
>
> den forskel der nu skulle være i de to tider kan jeg ikke finde ud af
> at få subtraheret og omvendt til en editboks.
>
> jeg har mange problemer med at hitte ud af det der med TimeToStr eller
>
> så snart det er en Double eller en Real der skal til en String, så ka
> jætte hitte u af det.
>
> Det gør ligemeget med at målingen måske ikke blir så præcis da koden
> er rimelig kort, det er mere princippet i hvordan jeg får Time til
> String og vise versa, eller eks. TIME til et format jeg kan REGNE med
> og evt. gange(*) med et nyt tal.
>
> Hvis i fatter mit STORE(LILLE) problem her, så blir jeg glad hvis i
> hjælper
>
> Evt. hvor jeg på nettet kunne finde noget lige netop om det..!
> mvh Polle



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste