Einzelnen Beitrag anzeigen

Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#1

Problem beim Ersetzen von Inhalten mit 2 Listboxen

  Alt 19. Okt 2008, 03:41
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.
Sven Kannenberg
  Mit Zitat antworten Zitat