Hallo!
Folgendes Problem: Ich möchte einen bestimmten Inhalt durch den aus einer Listbox ersetzen. Dazu verwende ich folgende Funktion:
Delphi-Quellcode:
function FachLang(fach: String; erlaubt: Boolean; listbox_kurz,listbox_lang: TListBox): String;
var li: Integer;
begin
if erlaubt then begin
for li := 0 to listbox_kurz.Count -1 do
if ansipos(ansilowercase(fach),ansilowercase(listbox_kurz.Items.Strings[li]))
= 1 then
Result:=listbox_lang.Items.Strings[li];
end
else
Result := fach;
end;
Diese funktioniert soweit auch. Wenn ich allerdings 2 Einträge habe, die bis dahin mit den gleichen Zeichen beginnen, bekomme ich das jeweils letzte Ergebnis ausgegeben.
Beispiel: Ich möchte das Schulfach 'De' durch 'Deutsch' ersetzen, habe aber auch das Fach 'DeHbF', welches durch 'Deutsch (Hbf)' ersetzt werden soll. Nun bekomme ich bei 'De' bereits den Ersatz 'Deutsch (HbF)' ausgegeben.