Forum: Programmieren allgemein
Delphi
by himitsu,
3. Okt 2011
Er hat danach gefagt?
Und es hat keiner gesagt, daß er diese nicht doch gebrauchen könnte (vorallem Er nicht),
nur daß es anders eventuell auch möglich wäre.
Wir kennen ja sein Wörterbuch nicht.
Sonst beschweren sich doch auch alle, wenn jemand mal nach etwas "geziehlt" fragt
und dann alle nur über die Alternativen reden, aber die ursprüngliche Frage nicht beantworten.
Forum: Programmieren allgemein
Delphi
by himitsu,
3. Okt 2011
Er wollte ja wissen wie man es machen kann. :stupid: (uns fehlt das Negieren :cry:)
- ja, es geht über eine Datenbank
- nein, es geht auch ohne (siehe die letzen Posts, welche eine ganz ganz kleine Auswahl aller Möglichkeiten darstellen)
- und für den Anfang wäre auch eine einfache TStringList ausreichend (die muß man nichtmal irgendwo wegkapseln)
Kann er sich ja interessehalber dennoch...
Forum: Programmieren allgemein
Delphi
by himitsu,
3. Okt 2011
Jain, eigentlich nicht.
Find findet nur ganze Strings. :angle2:
Aber wenn es nichts findet, dann gibt es dennoch die Stelle zurück, wo das Wort zu finden wäre, wäre es vorhanden gewesen.
Also die perfekte Stelle, um dort mit der Suche zu beginnen. (oder um ein Insert zu machen, so wie es praktisch vorgesehn ist)
Aber notfalls könnte man das ja nochmal ausprobieren, um ganz sicher zu...
Forum: Programmieren allgemein
Delphi
by himitsu,
3. Okt 2011
Wobei es notfalls auch ohne Datenbank ginge.
Also einfach nur ein TClientDataSet. :angle: (da gibt es Insert, Post, Locate und einen Filter)
Aber zum Lernen hat die manuelle Pascal-Variante doch auch ihre Vorteile.
Forum: Programmieren allgemein
Delphi
by himitsu,
3. Okt 2011
Um den Anfang auch noch wegzuoptimieren...
procedure TWoerterbuch.Filter(const Suchwort: string; FilterResult: TStrings);
var
i: Integer;
begin
Assert(Assigned(FilterResult));
FilterResult.BeginUpdate;
try
FilterResult.Clear;
if Suchwort <> '' then begin
Forum: Programmieren allgemein
Delphi
by himitsu,
3. Okt 2011
Aber nur, wenn TStringList.CaseSensitive auf true gesetzt wurde.
Du könntest über TStringList.Find den Anfang innerhalb der sortierten Liste suchen, also das was als Erstes dem gesuchten Wortanfang "ähnlich" ist.