![]() |
Hilfe mit einer ListBox und einem Edit programmieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich möchte eine Hilfe wie in Delphi programmieren (wie der Index). Ich habe bereits ein Edit und eine ListBox. Im OnChange habe ich folgenden Code:
Delphi-Quellcode:
1. funktioniert der Code nicht (ich weiß wirklich nicht warum)
procedure Thelpform.SearchEditChange(Sender: TObject);
begin Searchbox.ItemIndex := Searchbox.Items.IndexOf(SearchEdit.Text); end; 2. mit der Select-Methode wird es wahrscheinlich nicht funktionieren, da ich ja im Edit feld, immer noch frei schreiben will. 3. Was könnte ich jetzt tun ? Wie könnte ich so etwas programmieren ? Ich will dazu aber keine Programme und Hilfe Dateien benutzen. Was wäre noch dafür geiegnet ? Falls euch meine Beschreibungen nicht reichen, hier ein Screenshot: |
Re: Hilfe mit einer ListBox und einem Edit programmieren
Ich regel das ganze jetzt mit der LMD-ListBox.
Aber dann habe ich immer noch ein Problem: Es wird nur etwas markiert, wenn ich das gesamte Wort eingegeben habe, wie kann ich das verhindern ?
Delphi-Quellcode:
Sry, für doppelpost :duck:
procedure TForm1.SearchEditChange(Sender: TObject);
begin Searchbox.ItemIndex := Searchbox.Items.IndexOf(SearchEdit.Text); end; |
Re: Hilfe mit einer ListBox und einem Edit programmieren
Ich würd die listbox mit einer Schleife durchlaufen und pos verwenden:
(so in etwa)
Delphi-Quellcode:
var i: integer;
begin for i:=0 to searchbox.items.count-1 do begin if pos(lowercase(searchedit.text),lowercase(searchbox.items[i]))<>0 then begin searchbox.ItemIndex:=i; break; end; end; end; |
Re: Hilfe mit einer ListBox und einem Edit programmieren
Zitat:
@Nils: Benutze das letzte Item, bei dem CompareText größer -1 ist. |
Re: Hilfe mit einer ListBox und einem Edit programmieren
Danke Danke, jetzt läuft es :-D
Nachtrag: Aber wenn ich r eintippe springt das Programm dann zum w, das darf dann nicht sein, wie kann ich das beseitigen ? |
Re: Hilfe mit einer ListBox und einem Edit programmieren
kanns sein dass es kein R gibt und er zum nächsten Buchstaben vom Alphabet in deiner Listbox springt?
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
Das ist mir klar, nur wie verhindere ich das ?
Cool der 1111 Beitrag. |
Re: Hilfe mit einer ListBox und einem Edit programmieren
Welchen "Suchalgorithmus" benutzt du denn nun? Meiner sollte eigentlich funktionieren.
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
Ich benutze deinen.
Delphi-Quellcode:
for i:=0 to searchbox.items.count-1 do begin
if pos(lowercase(searchedit.text),lowercase(searchbox.items[i]))<>0 then begin searchbox.ItemIndex:=i; break; end; end; |
Re: Hilfe mit einer ListBox und einem Edit programmieren
Versuch mal = 1 statt <> 0
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
@Nils: Dann muss ich blind sein, denn für mich sieht das nach arbu mans Algorithmus (der sich wirklich nicht gerade wie die Delphi-Hilfe verhält) aus :stupid: .
@Mystic: Meiner ist der einzig richtige Algorithmus, basta :P :mrgreen: . |
Re: Hilfe mit einer ListBox und einem Edit programmieren
@arbu mans: Dein Vorschlag wird funktionieren, aber es ist seeehr ineffizient. Ich würde hier einen BinarySearch-Verfahren bevorzügen. Ein "spartanisches" Beispiel gibt es auf meiner
![]() |
Re: Hilfe mit einer ListBox und einem Edit programmieren
Warum will mir denn niemand glauben :stupid: ? Pos ist in diesem Falle völlig nutzlos. Nehmen wir zum Bleistift an, in der Liste sind die Einträge "pa" und "pc" . Der Anwender gibt nun "pb" ein, Pos liefert 0. Meine Version würde zu "pa" springen. Ein anderer Fall wäre z.B. "paa".
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
@ Khabarakh: :wall: Hast recht. Ich habe nur die Schleiffe gesehen. Davon war ich geblendet. :zwinker:
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt will ich meinen alten Code auch mal vorholen. Ist sehr simpel programmiert. Ich hoffe, du kannst damit etwas anfangen.
Da der Code etwas älter ist, weiß ich nicht, ob er tadellos funktioniert, aber eigentlich sollte er das. :zwinker: |
Re: Hilfe mit einer ListBox und einem Edit programmieren
@ Chrissi91: Versuch mal etwa 10000 Einträge mit deinem Programm zu "verwalten". Ich schätze, es wird keinen Spass machen. :zwinker:
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
Aha, und jetzt bitte auf deutsch. :lol:. Es ist ja kein Programm, es sortiert ja lediglich nach der Eingabe.
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
Zitat:
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
Zitat:
|
Re: Hilfe mit einer ListBox und einem Edit programmieren
Man kann das ganze auch sortieren. sorted:=true . ^^
Dann geht das auch. Ist ja auch, wie schon geschrieben, mal ne kleine Übung gewesen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz