Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Lauftext - Label immer auf Mindestgröße (https://www.delphipraxis.net/103233-lauftext-label-immer-auf-mindestgroesse.html)

Tobicaster 12. Nov 2007 19:24


Lauftext - Label immer auf Mindestgröße
 
Aktuelles Problem weiter unten^^

Delphi-Quellcode:
implementation
  var
    lauftext, buchstabe: string;
{$R *.dfm}


procedure TForm1.TimerTimer(Sender: TObject);
begin
  buchstabe := copy(lauftext, 1, 1);
  LLauftext.Caption := lauftext + buchstabe;
  lauftext := LLauftext.Caption;
  delete(lauftext, 1, 1);
end;

procedure TForm1.BStartHierClick(Sender: TObject);
begin
  lauftext := Edit.Text;
  LLauftext.Caption := lauftext;
  Timer.Enabled := true;
  Edit.Visible := false;
end;

procedure TForm1.BStopHierClick(Sender: TObject);
begin
  Timer.Enabled := false;
  LLauftext.Caption := '';
  Edit.Visible := true;
end;
Problem ist, dass mir folgendes angezeigt wird:

Zitat:

Test
TestT
estTe
stTes
tTest
TestT
...
Wieso wird beim ersten Mal nur hinzugefügt und nicht gelöscht?

Apollonius 12. Nov 2007 19:27

Re: Lauftext - Ein Buchstabe zuviel
 
Du aktualisierst erst das Label und dann löschst du den ersten Buchstaben.

mkinzler 12. Nov 2007 19:30

Re: Lauftext - Ein Buchstabe zuviel
 
Delphi-Quellcode:
buchstabe := copy(lauftext, 1, 1);
lauftext := LLauftext.Caption + buchstabe;
delete(lauftext, 1, 1);
LLauftext.Caption := lauftext;

Tobicaster 12. Nov 2007 19:40

Re: Lauftext - Ein Buchstabe zuviel
 
Ich hab's jetzt so

Delphi-Quellcode:
procedure TForm1.TimerTimer(Sender: TObject);
begin
  buchstabe := copy(lauftext, 1, 1);
  delete(lauftext, 1, 1);
  LLauftext.Caption := lauftext + buchstabe;
  lauftext := LLauftext.Caption;

end;
Scheint auch zu funktionieren, allerdings gibt's da noch ein anderes Problem.
Wie kann ich einstellen, dass das Label halt komplett von links nach rechts geht und sich nicht auf die Mindestgröße einstellt?

Zacherl 12. Nov 2007 19:42

Re: Lauftext - Ein Buchstabe zuviel
 
AutoSize auf false.

Tobicaster 12. Nov 2007 19:49

Re: Lauftext - Ein Buchstabe zuviel
 
Zitat:

Zitat von Zacherl
AutoSize auf false.

im objektinspektor steht, dass AutoSize schon false ist :wiejetzt: Woran könnt es denn sonst noch liegen?

Tobicaster 12. Nov 2007 21:00

Re: Lauftext - Label immer auf Mindestgröße
 
Hm, ich komm auf keine Lösung. Jemand ne Idee?

Namenloser 12. Nov 2007 21:26

Re: Lauftext - Label immer auf Mindestgröße
 
Delphi-Quellcode:
var
  text: string;
begin
  text := label1.text+label1.caption[1];
  delete(text,1,1);
  label1.caption := text;
end;
Ungetestet!

€dit: Wie gesagt, ungetestet ;) Hab die unnötige Variable rausgeschmissen und Caption/Text geändert.

Tobicaster 12. Nov 2007 21:39

Re: Lauftext - Label immer auf Mindestgröße
 
Zitat:

Zitat von NamenLozer
Delphi-Quellcode:
var
  c: char;
  text: string;
begin
  text := label1.text+label1.text[1];
  delete(text,1,1);
  label1.text := text;
end;
Ungetestet!

Labels haben captions, keinen "text". Und was ist mit c?
Aber das Problem ist ja schon gelöst, mir geht's jetzt nur um das label, bzw, dass der Lauftext durch das ganze Label laufen soll. Das Label ist nämlich nachdem ich starte immer nur so breit, wie Buchstaben vorhanden sind.

mkinzler 12. Nov 2007 21:46

Re: Lauftext - Label immer auf Mindestgröße
 
Eigentlich sollte sich die Breite bei deaktiviertem AutoSize nicht mehr ändern. Aber du könntest das label ja manuell auf die Breite des Parents setzen


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz