AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Statuslabel ändert die Aufschrift nicht...
Thema durchsuchen
Ansicht
Themen-Optionen

Statuslabel ändert die Aufschrift nicht...

Ein Thema von werungar · begonnen am 26. Dez 2004 · letzter Beitrag vom 26. Dez 2004
Antwort Antwort
werungar

Registriert seit: 24. Nov 2004
2 Beiträge
 
#1

Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 16:07
Hallo alle zusammen!

Ich schreibe gerade ein Programm zur Darstellung der Koch Kurve und würde jetzt gerne eine Art Statusanzeige einbauen, die anzeigt, ob das Programm gerade rechnet, oder nicht. Dazu wollte ich am Anfang der Prozedur 'Berechne...' und vor dem Ende 'Bereit' in ein Label schreiben.

PROBLEM:
'Berechne...' wird nie angezeigt. Es ist die ganze Zeit nur 'Bereit' zu lesen (ist auch beim Programmstart dort eingetragen). Wenn ich das Label beim Programmstart leer lasse und dann auf den Button klicke, erscheint ebenfalls nur 'Bereit' am Ende der Prozedur...
Hier mal der betreffende Quelltext:

Delphi-Quellcode:
procedure TForm1.It_SchritteButtonClick(Sender: TObject);

var fehler : boolean;

begin
StatusLabel.Caption:='Berechne...';
fehler:=false;

TRY
  n:=StrToInt(It_SchritteTEdit.Text);
except
 fehler:=true;
end;

IF (fehler=false) AND (StrToInt(It_SchritteTEdit.Text)>=0)
    AND (StrToInt(It_SchritteTEdit.Text)<=10) THEN

  begin
  x:=0; y:=Image1.Height-1; laenge:=Image1.Width; winkel:=0;
  Image1.Canvas.MoveTo(ROUND(x),ROUND(y));

  IF KochRadioButton.Checked THEN Koch_Kurve(n,laenge,winkel);

  IF SquareRadioButton.Checked THEN Square(n,laenge,winkel);


  end

ELSE showmessage ('Fehler! Bitte geben Sie nur ganze Zahlen zwischen 0 und 10 ein!');

StatusLabel.Caption:=('Bereit');
end;
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 16:10
Damit der Label anzeigt muessen die Messages verarbeitet werden.
Alternativ ein "StatusLabel.Update;" hinter jede Zuweisung des Labeltextes setzen.
Update erzwingt ein sofortiges neuzeichnen.
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#3

Re: Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 16:12
Hallo werungar,
Zitat von werungar:
Hallo alle zusammen!
Delphi-Quellcode:
  StatusLabel.Caption:=('Bereit');
  StatusLabel.Invalidate;
end;
oder mal so versuchen ...

bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 16:25
Genau das hilft nicht, da ja offensichtlich keine Messages verarbeitet werden.
Invalidate loest aber nur eine WM_PAINT Message aus.
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#5

Re: Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 16:34
Hallo Robert Marquardt,
geht aber so nicht aus der Delphi hervor. Wenns so ist, dann gut.

bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
werungar

Registriert seit: 24. Nov 2004
2 Beiträge
 
#6

Re: Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 17:08
Erstmal vielen Dank für eure Antworten!!

StatusLabel.Update;
Das hat geholfen.

Statuslabel.Invaliadte;
Hat nicht geholfen, aber trotzdem danke.

In diesem sinne einen frohen restlichen zweiten Weihnachtstag
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#7

Re: Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 18:09
Nochmal was dazu:

Ich häng immer ein Application.ProcessMessages dazwischen, weil dann auch buttonKlicks etc abgearbeitet werden....
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Statuslabel ändert die Aufschrift nicht...

  Alt 26. Dez 2004, 18:22
Moin!

Zitat von glkgereon:
Nochmal was dazu:

Ich häng immer ein Application.ProcessMessages dazwischen, weil dann auch buttonKlicks etc abgearbeitet werden....
Das sollte man lieber nicht machen, weil dies zum einen überdimensioniert ist und zum anderen völlig fehl am Platze. Sprint kann dazu bestimmt genaueres zu sagen.

Ansonsten hilft auch ein einfaches UpdateWindow(Handle); nach der Zuweisung oder ein Update direkt von der Form, was IMHO das gleiche auslösen sollte.

MfG
Muetze1
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz