Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi lauftext (https://www.delphipraxis.net/97861-lauftext.html)

Balli 17. Aug 2007 12:53


lauftext
 
Hey Leute!
Bin neu hier, und hab auch grade erst angefangen zu programmieren(hab informatik in der schule).. also zu meinem problem: wir sollen einen lauftext machen der einmal rund ums fesnter läuft... alles kein problem: er läuft oben entlang, geht an der rechten seite runter, aber wenn er unten links nach links weiterlaufen soll geht er nur noch einen schritt weiter und bleibt dann stehen.. hier mal die procedure:
Delphi-Quellcode:
procedure TForm1.timer_textTimer(Sender: TObject);
begin
IF text.left = 444 THEN
 text.top := text.Top+2
 ELSE text.Left := text.Left+2;
IF text.Top = 430 THEN
 begin
 text.Left := text.left-2;
 end;
end;
danke schon mal

MfG Balli

ibp 17. Aug 2007 13:04

Re: lauftext
 
was ist deine explizite frage?

Niko 17. Aug 2007 13:04

Re: lauftext
 
Hi,

willkommen in der DP :-)

Wenn dein Text rechts unten angekommen ist, schiebst du ihn zwei Pixel nach links. Beim nächsten Timerablauf ist text.left damit nicht mehr 444 und du schiebst den Text zuerst nach rechts und dann wieder nach links, insgesamt bleibt der Text also stehen.

Balli 17. Aug 2007 13:09

Re: lauftext
 
was schlägst du als lösung vor?

PigfaceJoe 17. Aug 2007 13:17

Re: lauftext
 
Hi, meine Lösung is nicht die beste, klappt aber

Delphi-Quellcode:
implementation
var b:boolean;

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (text.top<400 (*Dein Wert, muss der slebe sein wie unten der*) )and (not b ) then
begin
if text.left< 450(*DEIN WERT*) then text.left:=text.left+10 else
if text.top <400(*DEIN WERT*) then text.Top:=text.Top+10 ;
b:=false;
end else
begin
if text.left>text.width then begin b:=true; text.left:=text.left-10 end else
if text.top>10 then begin b:=true;text.Top:=text.Top-10 end else b:=false;
end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b:=false;
end;

end.
Gruss
PigfaceJoe

//EDIT:
Und so klappts auch , wenn man die Form in die Breite oder Höhe zieht.
Delphi-Quellcode:
begin
if (text.top<clientheight-text.Height*2 (*Dein Wert, muss der slebe sein wie unten der*) )and (not b ) then
begin
if text.left< clientwidth-text.width *2(*DEIN WERT*) then text.left:=text.left+10 else
if text.top <clientheight-text.Height*2 then text.Top:=text.Top+10 ;
b:=false;
end else
begin
if text.left>text.width then begin b:=true; text.left:=text.left-10 end else
if text.top>10 then begin b:=true;text.Top:=text.Top-10 end else b:=false;
end
end;

marabu 17. Aug 2007 13:36

Re: lauftext
 
Hallo,

hier noch ein Thread zum Thema Laufschrift: klick

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 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