Autor Beitrag
vatras
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 07.06.07 19:57 
Liebe Delphi Community,

Ich habe ein Problem beim Programmieren eines Weckers. Ich weiß es wird jetzt oft kommen "benutzt die Suchfunktion", aber ich hab leider kein Thema gefunden, wo der Wecker so aufgebaut ist, wie ich es mir überlegt habe.^^

Wahrscheinlich gibt es noch einfachere Möglichkeiten, aber ich will trotzdem bei dieser Variante bleiben:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var sek,std,min,weck : integer;
begin
std:=strtoint (edit1.Text);
min:=strtoInt (edit2.text);
sek:=strtoint (edit3.text);
weck:=std*360000+min*60000+sek*1000;
sleep (weck);
beep;
beep;
showmessage ('Es wird Zeit');

end;

end.


Der Fehler entsteht,wenn ich in einem Editfeld die gewünschte Weckzeit eingeben will. Denn dann kommt folgende Fehlermeldung: "Meldung "" ist kein gültiger Integer Wert ".

ich hoffe ihr könnt mir helfen!

mfg vatras
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 07.06.07 20:00 
Moin und :welcome: im Forum!

Schau dir mal die Funktionen StrToIntDef()und TryStrToInt()in der Delphi-Online-Hilfe an, damit solltest du weiter kommen. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Do 07.06.07 20:02 
Welcome!

Was mir an deinem Programm nicht gefällt ist die Sleep-Prozedur.
Diese lässt dein Programm gefrieren. Besser wäre wohl ein Timer, mit dem du entweder die Zeit herunterzählst oder Endzeit und Startzeit sekündlich miteinander vergleichst.

grüße
vatras Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 07.06.07 21:07 
Danke für eure Hilfe, nur leider funktionierd das Programm immer noch nicht so, wie es sollte!
Es gibt zwar nun keine Fehlermeldung mehr, dafür stürtzt es aber nach n paar Minuten ab -.- .

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Button1Click(Sender: TObject);
var sek,std,min,weck : integer;
begin
std:=strtointdef (edit1.text,10);
min:=strtointdef (edit2.text,10);
sek:=strtointdef (edit3.text,10);
weck:=std*360000+min*60000+sek*1000;
sleep (weck);
beep;
beep;
showmessage ('Es wird Zeit');
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 07.06.07 21:22 
Moin!

user profile iconvatras hat folgendes geschrieben:
Es gibt zwar nun keine Fehlermeldung mehr, dafür stürtzt es aber nach n paar Minuten ab

Was genau soll "abstürzen" denn bedeuten? :gruebel: Das Programm wird ja nicht aus dem Computer fallen, oder... :roll: :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
vatras Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 07.06.07 22:10 
user profile iconNarses hat folgendes geschrieben:
Moin!

user profile iconvatras hat folgendes geschrieben:
Es gibt zwar nun keine Fehlermeldung mehr, dafür stürtzt es aber nach n paar Minuten ab

Was genau soll "abstürzen" denn bedeuten? :gruebel: Das Programm wird ja nicht aus dem Computer fallen, oder... :roll: :nixweiss:

cu
Narses


friert sich ein ;)
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Do 07.06.07 22:13 
user profile iconvatras hat folgendes geschrieben:
friert sich ein ;)

Was habe ich dir denn geschrieben?:roll:
user profile iconMarc. hat folgendes geschrieben:
Was mir an deinem Programm nicht gefällt ist die Sleep-Prozedur.
Diese lässt dein Programm gefrieren. Besser wäre wohl ein Timer, mit dem du entweder die Zeit herunterzählst oder Endzeit und Startzeit sekündlich miteinander vergleichst.

grüße


grüße
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 07.06.07 22:19 
Moin!

user profile iconvatras hat folgendes geschrieben:
friert sich ein ;)

Das bedeutet also, du übergibt eine sehr große Wartezeit; vielleicht ja gar nicht die Zeit, die du tatsächlich warten willst? :mahn: ;)

Gib doch mal testweise die Zeit aus, die du errechnet hast: :idea:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var sek,std,min,weck : integer;
begin
std:=strtointdef (edit1.text,10);
min:=strtointdef (edit2.text,10);
sek:=strtointdef (edit3.text,10);
weck:=std*360000+min*60000+sek*1000;
ShowMessage(IntToStr(weck));
sleep (weck);
beep;
beep;
showmessage ('Es wird Zeit');

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.