Autor Beitrag
µaTh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.02.06 10:05 
Hallo,

ich habe folgendes Problem: In einer Schleife soll ständig das aktuelle Ergebnis zu sehen sein, da die Schleife aber zu schnell ist, habe ich noch eine kleine Pause eingebaut, damit das Auge auch die Zwischenergebnisse sieht. Mein Problem ist, dass nur das Endergebnis zu sehen ist (auch mit großen Pausen, dann verzögert sich nur das Ergebnis um die Zeit, jedoch wird kein Zwischenergebnis angezeigt)

Kleines Beispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  for i:='a' to 'd' do begin
    edit1.text:=i;
    sleep(100);
  end;


Ich stelle es mir so vor, dass delphi die Komponente erst wieder aktualisiert, wenn gerade keine Procedure/Funktion läuft. Wie kann ich es aber trotzdem schaffen?

Vielen Dank im voraus.

Viele Grüße
µaTh
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 08.02.06 10:08 
update nach Änderung des Wertes aufrufen.

_________________
Markus Kinzler.
µaTh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.02.06 10:09 
supi. vielen dank.
µaTh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.02.06 10:44 
nach ne frage dazu, wie kann ich in der scrollbar die position des balken mit hand in dieser schleife verändern?
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 08.02.06 10:48 
Position

_________________
Markus Kinzler.
µaTh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.02.06 10:50 
ich hab mich ein bisschen schlecht ausgedrückt: in die schleife will ich noch eine scrollbar einbauen, mit der sleep(scrollbar.position) gesteuert werden kann. Wenn jedoch die schleife läuft kann der wert nicht verändert werden, was ich jedoch möchte. und .update funktioniert nicht so wie ich es haben will.
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 08.02.06 11:04 
Nimm doch einen Timer

_________________
Markus Kinzler.
µaTh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.02.06 15:25 
kannst du mir einen vorschlag machen, wie ich das realisiern kann, dass während die schleife läuft ich immer noch scrollbar.position ändern kann? ich kann mir das mit einem timer nicht vorstellen :( vielleicht gibt es auch einen besseren weg?)

Quellbeispiel:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
  for i:='a' to 'z' do begin
    edit1.text:=i;
    sleep(scrollbar.position);
  end;
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 08.02.06 15:33 
Mal abgesehen davon, dass die For-Schleife mit den Chars nicht läuft (D7 Pers), so funktionierts:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for i := 1 to 26 do begin
  edit1.text:=inttostr(i);
  edit1.Update; // Edit Updaten, damit das neue auch gemalt wird
  scrollbar1.position := scrollbar1.Position + 1// Postion verändern
  sleep(100); // Pause machen
end;

_________________
We are, we were and will not be.
µaTh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.02.06 15:48 
bei D6 Prof funzt es aber. (ist aber hier nicht entscheidend)

ich will aber während der schleifenlaufzeit mit der maus die scrollbar ändern. und da während die schleife läuft nicht funtioniert. ich möchte gerne die sleep zeit in der schleife beliebig variieren, während die schleife läuft
µaTh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 08.02.06 19:35 
ich hab die lösung gefunden:
ausblenden Delphi-Quelltext
1:
application.processmassages