/ 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
Opdatering af label.caption i Delphi
Fra : Kasper Okkels


Dato : 25-04-01 17:04

Hej gruppe - spørgsmål fra Delphi-nybegynder.

Hvordan får jeg en Label.Caption til løbende at opdateres når min kode
kører?

Jeg skal køre nogle millioner simulationer, og vil gerne have, at jeg
løbende kan følge med i resultatet. Hvis jeg eksempelvis ønsker at se hver
10.000 simulation troede jeg, at jeg kunne skrive:

For i := 1 to AntalSimulationer do begin
** min kode **
if i mod 10000 = 0 then begin
Label1.Caption : = IntToStr(i);
Label2.Caption := IntToStr(Resultat);
end;
end;

Men så får jeg kun opdateret formen når løkken er kørt helt igennem. Hvad
gør jeg galt? Svar udbedes, så en nybegynder kan forstå det.

På forhånd tak

Kasper



 
 
Thomas P (25-04-2001)
Kommentar
Fra : Thomas P


Dato : 25-04-01 18:04

application.processmessages (kan ikke huske om process er med 1 s eller 2
s'er)

--
- Thomas [blomme@post.com] [http://www.FlowCode.f2s.com]


Kasper Okkels <okkels@stofanet.dk> skrev i en
nyhedsmeddelelse:0zCF6.1899$S4.938762@news101.telia.com...
> Hej gruppe - spørgsmål fra Delphi-nybegynder.
>
> Hvordan får jeg en Label.Caption til løbende at opdateres når min kode
> kører?
>
> Jeg skal køre nogle millioner simulationer, og vil gerne have, at jeg
> løbende kan følge med i resultatet. Hvis jeg eksempelvis ønsker at se hver
> 10.000 simulation troede jeg, at jeg kunne skrive:
>
> For i := 1 to AntalSimulationer do begin
> ** min kode **
> if i mod 10000 = 0 then begin
> Label1.Caption : = IntToStr(i);
> Label2.Caption := IntToStr(Resultat);
> end;
> end;
>
> Men så får jeg kun opdateret formen når løkken er kørt helt igennem. Hvad
> gør jeg galt? Svar udbedes, så en nybegynder kan forstå det.
>
> På forhånd tak
>
> Kasper
>
>



Claus Christiansen (25-04-2001)
Kommentar
Fra : Claus Christiansen


Dato : 25-04-01 18:05


"Thomas P" <blomme@post.com> wrote in message
news:9c7021$our$1@news.inet.tele.dk...
> application.processmessages (kan ikke huske om process er med
1 s eller 2
> s'er)
>
> --
> - Thomas [blomme@post.com] [http://www.FlowCode.f2s.com]

Ha, jeg kom først :))

Claus

--
Claus Christiansen, TeamD member <cch@unipeople.dk>

Pythia: http://www.pythia.dk/
Personal: http://www.bigfoot.com/~kruc
============================================--------------------
-----
"Computers are useless. They can only give you answers."
-- Pablo Picasso (1881-1973)




Thomas P (25-04-2001)
Kommentar
Fra : Thomas P


Dato : 25-04-01 19:13

> Ha, jeg kom først :))

ØvBøv Da jeg postede mit svar, var der ikke nogen svar endnu, men sådan
kan det jo gå ;)

--
- Thomas
~~~~~~~~
....http://www.FlowCode.f2s.com - where code flows
....mailto:blomme@post.com - where email goes



Claus Christiansen (25-04-2001)
Kommentar
Fra : Claus Christiansen


Dato : 25-04-01 18:03


"Kasper Okkels" <okkels@stofanet.dk> wrote in message
news:0zCF6.1899$S4.938762@news101.telia.com...
> Hej gruppe - spørgsmål fra Delphi-nybegynder.
>
> Hvordan får jeg en Label.Caption til løbende at opdateres når
min kode
> kører?
>
<klip>
> For i := 1 to AntalSimulationer do begin
> ** min kode **
> if i mod 10000 = 0 then begin
> Label1.Caption : = IntToStr(i);
> Label2.Caption := IntToStr(Resultat);
> end;
> end;

Indsæt nedenstående linie i for løkken:

Application.processmessages;

dermed giver du mulighed for at lade computeren opdatere GUI'en
(Graphics User Interface) mellem hver iteration af løkken.

Claus

--
Claus Christiansen, TeamD member <cch@unipeople.dk>

Pythia: http://www.pythia.dk/
Personal: http://www.bigfoot.com/~kruc
============================================--------------------
-----
"Computers are useless. They can only give you answers."
-- Pablo Picasso (1881-1973)



Thomas Schulz (25-04-2001)
Kommentar
Fra : Thomas Schulz


Dato : 25-04-01 19:45

> Application.processmessages;
>
> dermed giver du mulighed for at lade computeren opdatere GUI'en
> (Graphics User Interface) mellem hver iteration af løkken.

Han skal kun indsætte det lige efter at han opdaterer de captions though,
jeg ved godt der står, at man kan kalde application.processmessages lige så
tosset man vil uden tab af fart, men alle funktionskald vil altid som
minimum lave en uendelig lille forsinkelse :)


Thomas Schulz



Claus Christiansen (25-04-2001)
Kommentar
Fra : Claus Christiansen


Dato : 25-04-01 19:55


"Thomas Schulz" <dk_sz@hotmail.com> wrote in message
news:9c7608$frt$1@news.inet.tele.dk...
> > Application.processmessages;
> >
> > dermed giver du mulighed for at lade computeren opdatere
GUI'en
> > (Graphics User Interface) mellem hver iteration af løkken.
>
> Han skal kun indsætte det lige efter at han opdaterer de
captions though,
> jeg ved godt der står, at man kan kalde
application.processmessages lige så
> tosset man vil uden tab af fart, men alle funktionskald vil
altid som
> minimum lave en uendelig lille forsinkelse :)

Selvfølgelig, jeg havde ikke lige set den if-ting, beklager!

Claus

--
Claus Christiansen, TeamD member <cch@unipeople.dk>

Pythia: http://www.pythia.dk/
Personal: http://www.bigfoot.com/~kruc
============================================--------------------
-----
"Computers are useless. They can only give you answers."
-- Pablo Picasso (1881-1973)




Stig Johansen (25-04-2001)
Kommentar
Fra : Stig Johansen


Dato : 25-04-01 18:32

Hej.

"Kasper Okkels" <okkels@stofanet.dk> wrote in message
news:0zCF6.1899$S4.938762@news101.telia.com...
> Hej gruppe - spørgsmål fra Delphi-nybegynder.
>
> Hvordan får jeg en Label.Caption til løbende at opdateres når min kode
> kører?
>
> Jeg skal køre nogle millioner simulationer, og vil gerne have, at jeg
> løbende kan følge med i resultatet. Hvis jeg eksempelvis ønsker at se hver
> 10.000 simulation troede jeg, at jeg kunne skrive:
>
> For i := 1 to AntalSimulationer do begin
> ** min kode **
> if i mod 10000 = 0 then begin
> Label1.Caption : = IntToStr(i);
> Label2.Caption := IntToStr(Resultat);
> end;
> end;
>
> Men så får jeg kun opdateret formen når løkken er kørt helt igennem. Hvad
> gør jeg galt? Svar udbedes, så en nybegynder kan forstå det.
>

Du har fået et par svar med ..processmessages.
Men jeg kan klart anbefale dig at lægge dine simulationer ud i en
baggrundstråd. Hvis du gør det på den måde, er vinduet (hovedtråden) stadig
aktiv, og den kan flyttes med musen osv..

Jeg vil tro du umiddelbart kan bruge den demo, der følger med under threads.

--
Med venlig hilsen/Best Regards
Stig Johansen - stig@w3data.dk
W3 Data - mailto@w3data.dk





Claus Christiansen (25-04-2001)
Kommentar
Fra : Claus Christiansen


Dato : 25-04-01 19:23


"Stig Johansen" <stig@w3data.dk> wrote in message
news:9c71id$vn$1@news.inet.tele.dk...
> Hej.
>
> "Kasper Okkels" <okkels@stofanet.dk> wrote in message
> news:0zCF6.1899$S4.938762@news101.telia.com...
> > Hej gruppe - spørgsmål fra Delphi-nybegynder.
> >
<klip en hel masse>
> >
> > Men så får jeg kun opdateret formen når løkken er kørt helt
igennem. Hvad
> > gør jeg galt? Svar udbedes, så en nybegynder kan forstå det.

> >
>
> Du har fået et par svar med ..processmessages.
> Men jeg kan klart anbefale dig at lægge dine simulationer ud i
en
> baggrundstråd. Hvis du gør det på den måde, er vinduet
(hovedtråden) stadig
> aktiv, og den kan flyttes med musen osv..

Det kan vi sådan set kun være enige om, men nu skriver Kasper jo
at det skal være så en nybegynder kan være 100% med - og så er
tråde vel ikke ligefrem det simpleste at gi' sig i kast med!?

Claus
--
Claus Christiansen, TeamD member <cch@unipeople.dk>

Pythia: http://www.pythia.dk/
Personal: http://www.bigfoot.com/~kruc
============================================--------------------
-----
"Computers are useless. They can only give you answers."
-- Pablo Picasso (1881-1973)



Stig Johansen (26-04-2001)
Kommentar
Fra : Stig Johansen


Dato : 26-04-01 05:36

Hej.

"Claus Christiansen" <cch@unipeople.dk> wrote in message
news:r3FF6.59947$o4.5185697@news010.worldonline.dk...
>
[klip]
>
> Det kan vi sådan set kun være enige om, men nu skriver Kasper jo
> at det skal være så en nybegynder kan være 100% med - og så er
> tråde vel ikke ligefrem det simpleste at gi' sig i kast med!?
>

Sorry, jeg må have været træt.
Jeg fokuserede på problemet, og overså det med begynder.
Du har ret, multithreaded programmering er ikke for begyndere.

--
Med venlig hilsen/Best Regards
Stig Johansen - stig@w3data.dk
W3 Data - mailto@w3data.dk





Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste