Autor Beitrag
Anisas
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 29

Win XP Professional
Delphi 7
BeitragVerfasst: Fr 13.04.07 21:32 
Hallo!

Ich habe eine Aufgabe bekommen, welche nicht sehr schwer ist, ich aber den 2. Teil nicht schaffe. Ich habe einen Rechner gegeben und muss dort die if-abfragen in ein "case" schreiben. Das nächste wäre, die 5 Abfragen zu 3 zusammenzufassen. Ich geb hier mal den Code rein:
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:
   {if j = 1 then       //case-fall wäre besser geeignet dafür
      begin
         showmessage('Fehler: Falsche Eingabe');
         //j := 0;
         if k = 1 then
            Form1.Zahl1.setfocus
         else
            Form1.Zahl2.setfocus;
      end;
   if j = 2 then
      begin
         showmessage('Fehler: Ungültiger Zähler');
         //j := 0;
         if k = 2 then
            begin
               Form1.Zahl2.setfocus;
               j := 0;
            end;
      end;
   if j = 3 then
      begin
         showmessage('Fehler: Mod bzw. Div arbeitet mit ganzen Zahlen.');
         if k = 1 then
            begin
               Form1.Zahl1.SetFocus;
               k := 0;
               j := 0;
            end;
         if k = 2 then
            begin
               Form1.Zahl2.Setfocus;
               k := 0;
               j := 0;
            end;
      end;}


Das ist die unbearbeitete Stelle. Hier hätte ich mir dann den Kopf darüber zerbrochen nur funktioniert das irgendwie nicht so richtig:
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:
   case j of
      1 : case k of
             1 : Form1.Zahl1.SetFocus;
                 k := 0;
                 j := 0;
             2: Form1.Zahl2.SetFocus;
                k := 0;
                j := 0;
      {if k = 1 then
             begin
                Form1.Zahl1.setfocus;
                k := 0;
                j := 0;
             end;
          if k = 2 then
             begin
                Form1.Zahl2.setfocus;
                k := 0;
                j := 0;
             end;}

      2 : showmessage('Ungültiger Zähler');
          Form1.Zahl2.setfocus;
          k := 0;
          j := 0;
      3 : showmessage('Fehler: Mod bzw. Div arbeitet mit ganzen Zahlen');
          if k = 1 then
             begin
                Form1.Zahl1.SetFocus;
                k := 0;
                j := 0;
             end;
          if k = 2 then
             begin
                Form1.Zahl2.SetFocus;
                k := 0;
                j := 0;
             end;


Kann mir da jemand helfen? Danke schonmal im Vorraus.

Lg
Anisas
hibbert
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1007

WinServer2003, Win XP, Linux
D6 Pers, D05
BeitragVerfasst: Fr 13.04.07 21:41 
hi,
versuchs mal so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
   case j of
      1 : case k of
             1 : begin
                   Form1.Zahl1.SetFocus;
                    k := 0;
                    j := 0;
                 end;
{...}

hibbert

_________________
I kunnen väl svara endast ja eller nej
Om i viljen eller nej