Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ComboBox (https://www.delphipraxis.net/28666-combobox.html)

LOMBI 27. Aug 2004 19:16


ComboBox
 
Hallo,

kann mir bitte jemand weiterhelfen:

Was muß ich tun, damit im Programm neue Eingaben bei der ComboBox automatisch in die aufklappbare Liste übernommen werden? Hab noch
nicht viel Erfahrung mit Programmierung.

Besten Dank vorab!

Christian Seehase 27. Aug 2004 19:28

Re: ComboBox
 
Moin Lombi,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Als erstes müsstest Du Dich entscheiden, was Du als Ende der Eingabe akzeptieren willst.
Dafür kämen dann wohl das Betätigen der Enter Taste (siehe dann die Ereignisse OnKeyDown/OnKeyUp/OnKeyPress) und/oder das Verlassen der ComboBox (Ereignis OnExit).

Anschliessend kannst Du dann mit

Delphi-Quellcode:
ComboBox1.Items.Add(ComboBox1.Text);
den neuen Eintrag hinzufügen.

Um doppelte Einträge zu verhindern schaust Du Dir am Besten einmal Delphi-Referenz durchsuchenTComboBox.Items.IndexOf(...) an.

LOMBI 28. Aug 2004 13:09

Re: ComboBox
 
Hallo Chris,

vielen Dank für die prompte Antwort. In der Hilfe zu Delphi3 Prof.
finde ich nichts über TComboBox.Items.IndexOf(...), um doppelte Einträge
zu verhindern.

Wie werden Einträge im Listenfeld mittels Alt+Entf-Tasten vom Anwender wieder gelöscht?

Bitte hilf mir weiter, danke.

Tschüß

nailor 28. Aug 2004 13:15

Re: ComboBox
 
bei delphi 7 gibts ne hilfe mit bei delphi dabei. kostenlos ;) da steht dann drin:

[oh]Methoden von TCustomComboBoxStrings -> In TCustomComboBoxStrings -> Delete[/oh]

und da wiederum steht:

Zitat:

Die Methode Delete löscht den String mit dem angegebenen Index.

Delphi-Syntax:

procedure Delete(Index: Integer); override;

C++ Syntax:

virtual void __fastcall Delete(int Index);

Beschreibung

Mit Delete können Sie einen bestimmten String aus der Liste löschen. Wenn dem String ein Objekt zugeordnet ist, wird auch die Referenz auf das Objekt entfernt. Index ist die Position des Strings in der Dropdown-Liste, wobei 0 der erste String ist, 1 der zweite usw.

LOMBI 28. Aug 2004 13:32

Re: ComboBox
 
Danke NAILOR,

werde mir das mal näher ansehen.
Ach ja, wie ändere ich die Farbe des Balkens im Listenfeld der ComboBox?

Gruß

LOMBI 30. Aug 2004 11:56

Re: ComboBox
 
Ich bräuchte bitte nochmals Unterstützung. Sendet mir bitte die
Quellcodes für die ComboBox, damit:

1.) Einträge im Listenfeld mit Alt+Entf.-Tasten gelöscht werden können.
2.) Doppelte Einträge im Listenfeld vermieden werden.
3.) Der Balken im Listen Feld in gelb dargestellt wird.

Vielen Dank!

mytar 30. Aug 2004 12:02

Re: ComboBox
 
Doppelte Einträge solltest du bereits beim Einfügen verhindern!

Mit Delphi-Referenz durchsuchenIndexOf() und Delphi-Referenz durchsuchenDelete()

Delphi-Quellcode:
with ComboBox1.Items do
 if not IndexOf('dein Eintrag') > -1 then
  Add(IndexOf('dein Eintrag'));
Und das Löschen über einen Eintrag:

Delphi-Quellcode:
with ComboBox1.Items do
 if IndexOf('dein Eintrag') > -1 then
  Delete(IndexOf('dein Eintrag'));

Matze 30. Aug 2004 12:06

Re: ComboBox
 
Zitat:

Zitat von LOMBI
Ich bräuchte bitte nochmals Unterstützung. Sendet mir bitte die
Quellcodes für die ComboBox, damit:

1.) Einträge im Listenfeld mit Alt+Entf.-Tasten gelöscht werden können.
2.) Doppelte Einträge im Listenfeld vermieden werden.
3.) Der Balken im Listen Feld in gelb dargestellt wird.

Also so geht das hier aber nicht, du musst schon selbst versuchen, die Probleme zu lösen und Ansätze, die du bereits hast, hier posten.

Stevie 30. Aug 2004 13:35

Re: ComboBox
 
Zitat:

Zitat von LOMBI
Ich bräuchte bitte nochmals Unterstützung. Sendet mir bitte die
Quellcodes für die ComboBox, damit:

1.) Einträge im Listenfeld mit Alt+Entf.-Tasten gelöscht werden können.
2.) Doppelte Einträge im Listenfeld vermieden werden.
3.) Der Balken im Listen Feld in gelb dargestellt wird.

Vielen Dank!

Neenee, nix da! :wink:
Zu den ersten beiden Punkten mal ein paar Denkanstöße:
1.: Wenn du eine Action-List benutzt, dann kannst du einer Aktion einen Short-Cut zuweisen...
2.: mytar hat ja bereits auf die IndexOf-Methode hingewiesen, die ja bei "Nicht-Finden" -1 zurückliefert...

glkgereon 30. Aug 2004 13:38

Re: ComboBox
 
nummer 3: so ne combobox an sich besitzt wie fast alle anderen visuellen eine eigenschaft wie color oder so......

das sollt dann aber auch reichen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz