Einzelnen Beitrag anzeigen

Benutzerbild von xShadowBoZz
xShadowBoZz

Registriert seit: 19. Jan 2008
Ort: Deutschland ~.~
80 Beiträge
 
Delphi 7 Enterprise
 
#1

ValueListEditor "Items" (durch-)suchen?

  Alt 23. Jun 2008, 11:16
ok hab da mal eine Frage zum ValueListEditor.
Habe hier und auch schon auf google gesucht, aber nicht wirklich was gefunden, was mir weiterhilft.

Also ich würde gern mithilfe eines Editfelds und einen Button den ValueListEditor nach Edit1.Text (Usereingabe) durchsuchen, also das der Benutzer den ValueListEditor nach egal was durchsuchen kann (also text).
nur weis ich nicht wie ich das machen soll, hatte davor mit einer ListBox gearbeitet und kann da auch suchen, aber hier ist das für mich etwas schwieriger, weil ich hier auch nicht ValueListEditor1.Items eingeben kann.
also wenn jemand weiß wie ich eine Suchfunktion einbauen kann dann bitte helfen ^^.

ok falls das hilft, hier meine ListBox suchfunktion. (kommentiert)

Delphi-Quellcode:
var i : Integer;
    searchUp : String;
...
//ListBox1
If Form2.ListBox1.Visible then begin // damit nur gesucht wird wenn sichtbar.
  If Edit2.Enabled then begin // Edit2 ist eine zusätzliche angabe (kann aktiviert werden und auch deaktiviert werden)
    Form2.listBox1.MultiSelect := True; //Multiselect, damit mehrere Items makiert werden können
    searchUp := AnsiUpperCase(Edit1.Text); //Edit1 = Nach was gesucht werden soll
    for i:=0 to StrToInt(Edit2.Text) do // Edit2 = Integer zb. 33 dann wird von zeile 0 nach 33 nach Edit1.Text gesucht.
      if Pos(searchUp, AnsiUpperCase(Form2.listBox1.Items[i])) > 0 then begin //wenn suchergebnis > 0 dann
      Form2.listBox1.Selected[i] := true; //Markieren, wenn gefunden
      application.ProcessMessages;
    end
    else
      Form2.listBox1.Selected[i] := false; //Damit nichts anderes markiert ist
    end;
  If not Edit2.Enabled then begin // Edit2 ist eine zusätzliche angabe (kann aktiviert werden und auch deaktiviert werden)
    Form2.listBox1.MultiSelect := True; //Multiselect, damit mehrere Items makiert werden können
    searchUp := AnsiUpperCase(Edit1.Text); //Edit1 = Nach was gesucht werden soll
    for i:=0 to Form2.listBox1.Items.Count-1 do //durchsuche alle Items von listbox.
      if Pos(searchUp, AnsiUpperCase(Form2.listBox1.Items[i])) > 0 then begin //wenn suchergebnis > 0 dann
      Form2.listBox1.Selected[i] := true; //Markieren, wenn gefunden
      application.ProcessMessages;
    end
    else
      Form2.listBox1.Selected[i] := false; //Damit nichts anderes markiert ist
    end;
  end;
thx im vorraus.
Andreas
  Mit Zitat antworten Zitat