Zitat von
anku:
Dein Source hat aber noch eine kleine Lücke, da man den Wert der Edits ja zwischen dem generieren und dem Suchen ändern kann. Also solltest du für den Suchdurchlauf die Anzahl der Einträge in deiner Liste abfragen:
Delphi-Quellcode:
procedure TForm1.BSuchenClick(Sender: TObject);
var Ergebnis, laenge : integer;
begin
laenge:= lb1.Items.Count; //strtoint(EEnde.text)-strtoint(EAnfang.text);
//function aufrufen, result in Ergebnis speichern
Ergebnis:=BinSuche(StrToInt(EKey.Text),laenge);
EErgebnis.text:=inttostr(Ergebnis);
end;
MfG
wenn ich deinen Vorschlag mit lb1.items.count benutze, bekomme ich wieder eine Fehlermeldung, der Index der Liste überschreitet das Maximum.
Habe wie oben geschrieben setlength(feld, laenge+1); jeweils in Bgenerieren und BSuchen verwendet, ansosnten alles beim alten, damit klappt es.
Und ich bin mir auch sicher, dass der Quellcode ziemlich schlecht ist