![]() |
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 |
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; |
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' |
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 |
Re: Timer1 soll ne Usereingabe sein
Zitat:
|
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; |
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 ? |
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.
|
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. |
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 ? |
Re: Timer1 soll ne Usereingabe sein
Wieso probierst dus nich einfach aus?
Es gibt niemanden, der dir das besser sagen kann als dein Compiler ;) |
Re: Timer1 soll ne Usereingabe sein
Zitat:
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