Einzelnen Beitrag anzeigen

ArchaicSeraphim

Registriert seit: 11. Nov 2007
Ort: Niedernhausen
31 Beiträge
 
Delphi 7 Personal
 
#1

while-Schleife funktioniert nicht

  Alt 11. Nov 2007, 17:21
Hi Leutz,
Im Zuge von Automaten, unendlichen wie endlichen, sollen wir einen Termüberprüfer basteln. Ich sitze grade an den Klammern, aber irgendwie hab' ich ein Problem mit dem folgenden Code:

Code:
procedure TFTerm.BPruefenClick(Sender: TObject);
var
i: integer;
n: integer;
begin
  i := 1;
  n := EEingabe.SelLength;
  if n > 0 then
  begin
    while i<n do
      begin
        if EEingabe.Text[i] = '(' then K := K+1
        else if ((EEingabe.Text[i] = ')') and (K>0)) then K := K-1
        else if EEingabe.Text[i] = ')' then K := K+1;
      Label1.Caption := inttostr(K);
      inc(i);
      end
  end;
end;
Dazu ist zu sagen, dass EEingabe mein Eingabeeditfeld, K meine Klammervariable ist, ein Integer. Die ist quasi mein Keller, bzw. Stack. Geht das?

Vorher habe ich noch
Code:
procedure TFTerm.FormCreate(Sender: TObject);
begin
  K := 0;
end;
gesetzt.

Wieso funktioniert die Überprüfung nicht? Wäre über Antwort erfreut! ^^
In diesem Sinne,

Arc
  Mit Zitat antworten Zitat