Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Galgenmännchen - Abfrageproblem -

  Alt 14. Nov 2008, 22:46
Schau Dir mal die Hilfe zu Copy an und überprüf mal was Du dort machst .

Generell ist Dein Code ein wenig komisch. Ich schreib hier mal die Sachen:

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var i, buchstabe, wlange:Integer; key:STring;
  begin
  key := Edit1.Text;
  buchstabe := 0;
  wlange := Length (wort);
  for i := 0 to (wlange) do // Die Schleife wird in der Form "Anzahl der Buchstaben + 1" Mal ausgeführt. Du willst sie aber nur für jeden Buchstaben im String ausführen. Also entweder i := 1 to wlange oder i := 0 to (wlange - 1).
    begin
    inc (buchstabe); // Eigentlich ist das völlig unnötig. Weil Du hast doch schon eine Variable die bei jedem Schleifendurchlauf inkrementiert wird -> i. wenn du die for schleife von "1 to wlange" definierst, gehst du jeden einzelnen Buchstaben von Wort durch
    if Copy (wort, buchstabe, buchstabe) = key then // das Copy ist falsch und eigentlich auch total unnötig. Wenn Du Copy verwenden willst, dann schau Dir die Hilfe zu Copy an. Alternativ überleg mal: So ein String kann man auch als ein Array of Char sehen. Vielleicht kommst Du drauf was effektiver wäre :).
      begin
      TButton (FindComponent('Button' + IntToStr (buchstabe))).Caption := Copy (wort, buchstabe, buchstabe); // Das Gleiche wie oben.
      end;
    end;
  end;
Fridolin Walther
  Mit Zitat antworten Zitat