![]() |
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:
danke schon mal
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; MfG Balli |
Re: lauftext
was ist deine explizite frage?
|
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. |
Re: lauftext
was schlägst du als lösung vor?
|
Re: lauftext
Hi, meine Lösung is nicht die beste, klappt aber
Delphi-Quellcode:
Gruss
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. 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; |
Re: lauftext
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:31 Uhr. |
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