![]() |
Problem mit TTimer bei aktivierung durch einen TButton!
Also ich bräuchte mal Hilfe jungs :D
Delphi-Quellcode:
Ich bekomme hier immer wieder einen Fehler an dem ersten End! Delphi meint inkompatible typen bollean und integer! Need help :D Thx
begin
if btn_startend.Caption = 'Start' then begin btn_startend.Caption := 'Stop'; t_timer.Enabled := 'true' end else begin btn_startend.Caption := 'Start'; t_timer.Enabled := 'false' end end; mfg CoolKakashi [edit=Matze][delphi]-Tags repariert. MfG, Matze[/edit] |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
Nimm bei true und false einmal die Anführungszeichen weg, das sind boolsche Werte und keine Strings...
Die Fehlermeldung ist ja wohl eher inkompatibel zwischen Boolean und String... Außerdem geht das kürzer auch so:
Delphi-Quellcode:
t_timer.Enabled := btn_startend.Caption = 'Start';
if t_timer.Enabled then btn_startend.Caption := 'Stop' else btn_startend.Caption := 'Start'; |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
Delphi-Quellcode:
Semikolons nicht vergessen und Hochkommas bei false und true sind falsch.
procedure TForm1.Button1Click(Sender: TObject);
begin if button1.Caption = 'Start' then begin button1.Caption := 'Stop'; timer1.Enabled := true; end else begin button1.Caption := 'Start'; timer1.Enabled := false; end; end; So müsste es gehen. Gruß W. |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
Ich glaube, Du meintest das eher so:
Delphi-Quellcode:
P.S.: Willkommen in der DP :dp:
if btn_startend.Caption = 'Start' then
begin btn_startend.Caption := 'Stop'; t_timer.Enabled := true; //ohne Hochkommata end else begin btn_startend.Caption := 'Start'; t_timer.Enabled := false; //dto. end; [edit] Kleine Anmerkung noch: Du solltest Logik und Darstellung trennen [/edit] |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
Cool vielen dank an euch :) Jetzt nochmal ne kleine Frage! Ich möchte jetzt zb, das Zufallswerte in die Zellen von StringGrid eingetragen werdenm wenn der Timer läuft!
Also zb Temperatur = random; Aber wo gehört das hin? In die Form oder mit zum Button? |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
Auch wenn ich es nicht recht verstanden habe würde ich mal denken, ins Timer-Ereignis.
|
Re: Problem mit TTimer bei aktivierung durch einen TButton!
Gemeint war das so : Wenn ich den Button Start drücke, startet auch der Timer! Dieser soll dann zufallszahlenwerte in eine Spalte von Stringgrid eintragen!
Wie mach ich das genau? Die Werte sollen random sein. Bräuchte hilfe, wie ich das mit dem random gut hinbekomme und wie ich die werte dann in der zeile ausgeben kann. Danke :) |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
Delphi-Quellcode:
So habe ich das bis jetzt! Im Unterricht hatten wa den begriff Randomize, wozu der nochma gu war weiß ich net!Aber wie gehts jetzt weiter? :)
procedure Tmess_form.t_timerTimer(Sender: TObject);
var temperatur : extended; begin randomize; temperatur := random end; |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
wenn du randomize einmal beim FormCreate aufrufst reicht das ;)
Delphi-Quellcode:
das liefert dir Werte zwischen 0 und 1, ist die Frage ob du die nun haben möchtest oder bsp Werte von 0 bis 100 o.ä.
temperatur := random
dann je nach dem wie viele Zeilen du hast sollte gefüllt werden und danach halt nicht mehr (Timer ausstellen?) bzw neue Zeilen im Grid erzeugt werden. vllt solltest du noch eine integer Variable für die aktuelle Position im Stringgrid einführen, die sich also die Zeile merkt. Und dann solltest du halt immer die die Zahl in die Nächste Zeile eintragen Stringgrid1.Cells[0,Position]:=floattostr(temperatur); mfg blink182 |
Re: Problem mit TTimer bei aktivierung durch einen TButton!
@blink: Vielen Dank! ;) Aber das temperatur := random; kann ich nicht weglassen, da es ansonsten zu einer fehlerschleife kommt und delphi sich aufhängt xD
Also unsere aufgabe war es, dass dort zufallswerte eingetragen werden! Anschließend sollten wir diese in einem bereich festlegen: -15 bis 40C° ! Unsere neue Aufgabe lauutet einen Button einzubauen, der wie eine Heizung fungiert und sobald man ihn drückt, soll die Temperatur ansteigen. Nochmal nen paar Fragen^^ Wie lege ich fest, wieviele nachkommastellen die random zahl haben soll und wie sollte man sich das mit der heizung vorstellen? Thx nochmal für die hilfe^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz