Thema: Delphi listview Vergleichen???

Einzelnen Beitrag anzeigen

sharkx

Registriert seit: 24. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: listview Vergleichen???

  Alt 26. Okt 2003, 20:49
Du kannst die ListView aber auch als StringList handeln...


Delphi-Quellcode:
var
  list, newlist: TStringList;
  meinString: String;

..............

function DupeInList(dupestring : string; list : TStrings; ignoreCase : boolean) : boolean;
var
  i : integer;
  dump : string;
  l1, l2 : integer;
begin
  result := true;

  for i := 0 to list.count-1 do
  begin
    dump := list.Strings[i];

    if ignoreCase then
    begin
      dump := UpperCase(dump);
      dupestring := UpperCase(dupestring);
    end;

    l1 := length(dump);
    l2 := length(dupestring);

    if l1 = l2 then
    if dump = dupestring then exit;
  end;

  result := false;
end;

function GiveListviewAsString(listView : TListView) : string;
var
  i : integer;
  l : TStrings;
  dump : string;
begin
  l := TStringList.Create;

  for i := 0 to Listview.Items.Count-1 do
  begin
    dump := ListVIew.Items[i].Caption+ListVIew.Items[i].SubItems[0];
    l.Add(dump);
  end;

  result := l.CommaText;
  l.Free;
end;

function DupeInListView(dupeString : string; Listview : TListView): boolean;
var
  list : TStrings;
begin
  list := TStringLIst.Create;
  list.CommaText := GiveListviewAsString(listview);

   result := DupeInList(dupeString,list,true);
end;
Aufrufen tust es dann mit ...

Delphi-Quellcode:
    if not DupeInListView(meinString,Form1.ListView1) then
      newlist.Add(meinString)
Mag zwar net die saubere lösung sein, aber besser hatte ich es auch nicht geschafft.
Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning!
  Mit Zitat antworten Zitat