Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Timer1 soll ne Usereingabe sein (https://www.delphipraxis.net/48392-timer1-soll-ne-usereingabe-sein.html)

manakinn 24. Jun 2005 13:25


Timer1 soll ne Usereingabe sein
 
Hi,

ich versuche den Timer1 so zu machen, das der User einfach ne Zahl ins Edit Feld eingibt und dann is der Timer hat so und so viele sekunden.

Leider bekomm ich da immer einen fehler, so hab ich es zZ:

Delphi-Quellcode:
var se, time : String;
time:= StrToInt(Edit1.Text);
Randomize;
timer1.interval:=Random(time)+(60000); // Die 60000 sind das 'mindeste'

Aber leider bekomm ich diesen Fehler: [Fehler] Unit1.pas(38): Inkompatible Typen: 'String' und 'Integer'

Soweit ich weiß, kann man immer nur eine "var art" eingeben, also muss man die anderen umwandelt, also mache ich den String zu Integer (ganze zahlen, oder?) Aber was mache ich nun falsch ?

Achja, die var se is nur Edit2 und wird im Label1 angezeigt, also nix wichtiges

Die Muhkuh 24. Jun 2005 13:27

Re: Timer1 soll ne Usereingabe sein
 
Delphi-Quellcode:
var
 // se: String;
  time: Integer;
begin
  time:= StrToInt(Edit1.Text);
 // Randomize; // Das bitte ins OnCreate.
  timer1.interval:=Random(time)+(60000); // Die 60000 sind das 'mindeste'
end;

Phistev 24. Jun 2005 13:27

Re: Timer1 soll ne Usereingabe sein
 
Delphi-Quellcode:
var se: String;
var time: integer;
time:= StrToInt(Edit1.Text);
Randomize;
timer1.interval:=Random(time)+(60000); // Die 60000 sind das 'mindeste'

manakinn 24. Jun 2005 13:38

Re: Timer1 soll ne Usereingabe sein
 
Danke für die schnelle Hilfe,
wusste gar nicht das man zweimal var beim buttonklick oder so benutzen darf,
dachte immer nur einmal, naja, danke für die hilfe :)
bin nun schlauer

Die Muhkuh 24. Jun 2005 13:42

Re: Timer1 soll ne Usereingabe sein
 
Zitat:

Zitat von manakinn
Danke für die schnelle Hilfe,
wusste gar nicht das man zweimal var beim buttonklick oder so benutzen darf,
dachte immer nur einmal, naja, danke für die hilfe :)
bin nun schlauer

Du kannst auch 10x var schreiben, aber ich denke, dass das ziemlich unübersichtlich ist ;) . Deswegen schreibe ich es nur einmal.

Bowler 24. Jun 2005 13:46

Re: Timer1 soll ne Usereingabe sein
 
Du kannst in dem var-Abschnitt (1x var reicht) soviele Variablen deklarieren, wie du möchtest. Du musst nur die unterschiedlichen Typen mit einem Semikolen trennen.

Delphi-Quellcode:
procedure irgendwas;
var
  i1,i2,i3:integer;
  s1,s2,s3:string;
  i4:integer;
begin
...
end;

manakinn 24. Jun 2005 14:04

Re: Timer1 soll ne Usereingabe sein
 
Ich möchte, das die Eingabe in sekunden ist,
jetzt muss der benutzer ja noch alles in milli sekunden eingeben.

Müsste das ungefähr so aussehen:

Delphi-Quellcode:
timer1.interval:=Random(time)*1000+(60000);
?

Wenn der Benutzer zum beispiel 6 eingibt, so wird die 6 mit 1000 multipliziert, das wären also 6000ms(6sekunden), oder ?

Phistev 24. Jun 2005 14:07

Re: Timer1 soll ne Usereingabe sein
 
Nicht ganz. Random liefert eine "zufällige" Zahl zwischen 0 und Time zurück, die dann mit 1000 multipliziert wird.

Bowler 24. Jun 2005 14:11

Re: Timer1 soll ne Usereingabe sein
 
Ich verstehe Deine Berechnung nicht ganz.
Wenn der User Sekunden angibt, dann nimmst du den Wert und multiplizierst ihn mit 1000 um von den eingegebenen Sekunden auf die Millisek. zu kommen, die der Timer benötigt. Das random() kannste weglassen.

manakinn 24. Jun 2005 14:13

Re: Timer1 soll ne Usereingabe sein
 
Gibts ne andere Möglichkeit das der User das in Sekunden eingeben kann ?
Könnte man auch

time:= StrToInt(Edit1.Text)*1000;

machen ?

JasonDX 24. Jun 2005 14:15

Re: Timer1 soll ne Usereingabe sein
 
Wieso probierst dus nich einfach aus?
Es gibt niemanden, der dir das besser sagen kann als dein Compiler ;)

manakinn 24. Jun 2005 14:20

Re: Timer1 soll ne Usereingabe sein
 
Zitat:

Zitat von Chimaira
Wieso probierst dus nich einfach aus?
Es gibt niemanden, der dir das besser sagen kann als dein Compiler ;)

Wollt nur sicher gehen :)
Aber es funktioniert, vielen dank :)


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