Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#13

AW: Eintrag nur hinzufügen wenn nicht in Listview vorhanden

  Alt 16. Okt 2014, 07:17
Ich komm irgendwie mit deinen Einrückungen nicht klar und find die unübersichtlich, aber mMn fehlt da in der Version ein else-Zweig. Ausserdem ist es doch schöner, gewisse Dinge auszulagern, dann wird der Code übersichtlicher:

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var i: integer;
begin
  if RadioButton1.checked then
    begin
    if EntryExistsInListView(edit1.text,Form1.Listview1) then
      showmessage('Eintrag bereits vorhanden')
    else if AddEntryToListView(edit1.text,Form1.Listview1) then
      showmessage('Eintrag wurde hinzugefügt')
    else
       showmessage('Eintrag war nicht vorhanden, konnte aber auch nicht hinzugefügt werden');
    end;
end;

function EntryExistsInListView(entry:String,LW:TListView):Boolean;
var i:integer;
begin
  Result:=false;
  for i := 0 to LW.Count - 1 do
    if LW.Items[i].Caption=entry then
      begin
      Result:=true;
      Break;
      end;

  //Könnte man dann ggf. ersetzen durch:
  //Result:=LW.Items.IndexOf(entry)>=0;
end;

function AddEntryToListView(entry:String,LW:TListView):Boolean;
begin
   Result:=true;
   LW.items.add
   LW.items[LW.Count-1].caption:=entry;
   //Muss man noch um diese Subentries aufbohren
   //und dafür sorgen, dass wenn irgendwas nicht klappt false als Result geliefert wird.
end;
Ralph
  Mit Zitat antworten Zitat