Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Kein Hinweisfenster erscheint bei Case-Verzweigung


kingsusu - Di 22.12.09 01:30
Titel: Kein Hinweisfenster erscheint bei Case-Verzweigung
Hey Leute, ich hab ein Problem.

Kurz zum Programm - es ist eine Art Wecker:

Ich hab 2 Edit Felder und ein TMemo.



Im ersten soll man eine Art Überschrift haben (EdAlarm), im EdZeit schreibt man dann die Uhrzeit und in MemNachricht dann die Ausführliche Nachricht.

Hier ein Ausschnitt.

Im ersten Teil will ich, dass wenn nichts in den Feldern steht, dass dann ein Hinweis-Fenster mit: 'Erst alles ausfüllen' erscheint.




Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TFHinzu.BtSpeichernClick(Sender: TObject);
var Index, Mode: Integer;
begin

Index:= FHaupt.listbox1.Itemindex ;

case Mode of
  1begin
      if (edalarm.Text= '' ) or (edzeit.Text= ''or (memnachricht.Text= '')
        then
          begin
          Application.MessageBox ('Erst alles ausfüllen','Hinweis!',MB_iconerror);
            end

(und diesen Teil für das Zeitfenster(EdZeit) habe ich im Internet gefunden)

      else if (Length(edzeit.text) <5or (Copy(edzeit.Text, 31) <> ':'then
        begin
            Application.MessageBox('Faslches Format der Zeit, Nutze:' + #13 + ' "24:00" zeitformat.' , 'Fehler', MB_iconerror); 
                 
   
            exit;



Und wenn ich das so habe funktioniert es nicht - kein HInweisfenster erscheint. Könnt ihr mir sagen wieso?

Lg

Kingsusu

Edit: Ok danke Narses. Ich hoffe, dass es so besser ist.

Crosslink: http://www.delphipraxis.net/post1112605.html#1112605


Narses - Di 22.12.09 01:33

Moin und :welcome: im Forum!

Bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Richtlinien [http://www.entwickler-ecke.de/richtlinien.html]:
1.2 Beiträge:
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]
Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken und den Titel ändern. Danke Dir!

cu
Narses


elundril - Di 22.12.09 10:14

also, erstmal: pfui! pfui, pfui zu deiner Codeformatierung. :zwinker:

also, ich hab mal gekürzt, formatiert und so weiter und bei mir funktioniert dieser Code perfekt:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  if (edalarm.Text= '' ) or (edzeit.Text= ''or (memnachricht.Text= ''then begin
    Application.MessageBox ('Erst alles ausfüllen','Hinweis!',MB_iconerror);
  end
  else if (Length(edzeit.text) <5or (edzeit.Text[3] <> ':'then begin
    Application.MessageBox('Faslches Format der Zeit, Nutze:' + #13 + ' "24:00" zeitformat.' , 'Fehler', MB_iconerror);
  end;


Kann vielleicht an der Variablenbelegung für Mode liegen?
Außerdem, wozu das exit? Weiters würde bei deinem Code vor bzw nach dem Exit noch ein end für begin vom If fehlen. ;)

lg elundril


kingsusu - Mi 23.12.09 00:22

Oh Ja! Hat super geklappt. Danke dir.


Ich hab nun einiges fertig in meinem Programm.

- da es mein erstes ist fehlt mir nun die Idee zu meiner nächsten Stufe

Es soll ein Erinnerungsprogramm werden, so eine Art Wecker.

Und hier komm ich an den Punkt an, wo ich auch eure Hilfe brauche. Einfach den Anstoß welchen Schritt ich als nächstes machen soll.

Dazu werde ich nun alle wichtigen Dateien hochladen in der Hoffnung, dass mir einer sagen kann was ich als nächstes machen soll.

Ich bin sehr scharf drauf weiter zu programmieren und freue mich auf eure Tipps! :)

PS: Das Programm stürzt wenn ich einen Termin hinzufügen will auch ab - wäre nett wenn mir einer sagen würde wieso.