AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ComboBox Einträge editieren

Ein Thema von Chemiker · begonnen am 10. Jul 2010 · letzter Beitrag vom 17. Jul 2010
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: ComboBox Einträge editieren

  Alt 12. Jul 2010, 19:42
Probier doch einfach meine überarbeitete Version aus und beobachte die Werte im Debugger
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: ComboBox Einträge editieren

  Alt 12. Jul 2010, 21:59
Hallo,

ja, ich gebe zu ich habe Count und Index gleichgesetzt, ohne zu prüfen ob meine Aussage richtig ist.

Im ersten Quellcode von DeddyH schien es so, als wenn der letzte Eintrag nicht gelöscht worden wäre. Dies ist aber nicht richtig, sondern es ist nur der ComboBox.Text stehen geblieben.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 10:42
Hallo,

nochmal eine Frage. Das neue Item wird erst mit ENTER übernommen, wenn zuvor die ComboBox mit der Maus aufgeklappt worden ist, trotzdem im OI AutoDropDown := TRUE ist. Wie kann man das Verhalten ändern, so dass die Eingabe direkt nach ENTER drücken übernommen wird?

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 11:04
Das neue Item wird erst mit ENTER übernommen, wenn zuvor die ComboBox mit der Maus aufgeklappt worden ist, ...
Das kann ich hier nicht nachvollziehen. Wie ist die ComboBox denn genau eingestellt (OI)?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 11:29
Hallo DeddyH,
So sind zurzeit die Einstellungen:
Delphi-Quellcode:
object cBoxServername: TComboBox
      Left = 127
      Top = 36
      Width = 145
      Height = 22
      AutoComplete = False
      AutoDropDown = True
      ItemHeight = 14
      ItemIndex = 0
      TabOrder = 1
      Text = 'localhost'
      OnKeyDown = cBoxServernameKeyDown
      OnKeyPress = cBoxServernameKeyPress
      Items.Strings = (
        'localhost')
    end
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#16

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 12:50
ich arbeite zurzeit mit einer ComboBox in der Einträge vorhanden sind und weitere im Programm hinzugefügt werden sollen, desweiteren sollen Einträge auch wieder gelöscht werden.
Vielleicht sollte man erst mal das genaue Verhalten der Combobox klären, bevor man (wild) drauflos programmiert.

Ein Beispiel:
Der Benutzer gibt eine URL ein, um sich die Daten anzeigen zu lassen.
Wird die URL gefunden dann wird sie in die Drop-Down-Liste aufgenommen.
Das Programm steuert den Zeitpunkt der Aufnahme des eingegeben Text in die Liste durch Aufruf einer Methode.
So wird verhindert, dass ungültige URLs in die Liste aufgenommen werden.
Einträge sollen nicht doppelt aufgenommen werden.
Da nur eine begrenzte Anzahl in der Drop-Down-Liste sein soll, verdrängt der neueste Einträg den Ältesten.
Wenn die Drop-Down-Liste aufgeklappt ist, darf der Benutzer mit der DEL-Taste Einträge löschen.
Er darf Einträge in der Liste nicht direkt editieren.
Die Einträge in der Liste können entweder in der Reihenfolge ihrer Aufnahme oder alphabetisch sortiert sein.


Erst wenn es eine Beschreibung dieser Art (User story) gibt, dann kann man auch was Sinnvolles Programmieren!
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#17

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 13:25
[Edit]
Delphi-Quellcode:
procedure TForm1.cBoxServernameKeyPress(Sender: TObject; var Key: Char);
begin
  //"Bimmeln" unterbinden
  if Key = sLineBreak[1] then
    Key := #0;
end;
[/edit]
Hallo DaddyH. Ich hätte mal eine Frage. Wie funktioniert sLineBreak[1] und vor allem: Wie willst du damit das "Bimmeln" unterdrücken? Wär super wenn du das kurz umreissen könntest, weil mich das auch schon ewig nervt bei OnKeyDown
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 14:02
Hallo Hans,

die Konstante sLineBreak ist unter Windows als #13#10 (CRLF) definiert, ich hätte also auch gleich #13 schreiben können. Da einige damit aber immer wieder durcheinanderkommen, habe ich mich entschieden, das so zu schreiben, dass jeder weiß, dass damit das erste Zeichen der Konstanten gemeint ist. Und da Windows nunmal einen Ton ausgibt, wenn man im Eingabefeld einer ComboBox RETURN drückt, muss man das Zeichen eben entwerten, indem man ihm den Wert 0 zuweist (es ist ja nicht ohne Grund ein Var-Parameter). Im OnKeyDown-Ereignis kommt das RETURN trotzdem an.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 14:10
Hallo sx2008,

danke für Deine Ausführungen, aber ich habe sehr wohl eine Vorstellung wie diese ComboBox aussehen soll und wie sie zu bedienen ist. Außerdem wird im zarten Alter von 50 Jahren nicht mehr wild drauflos programmiert das geht rein körperlich schon nicht mehr.

Ich habe den Fehler jetzt nach einigen probieren gefunden. Wenn man eine TBitBtn-Komponente auf das Form zieht und das Kind-Property auf bkOK setzt, dann funktioniert die Eingabe in der ComboBox erst, wenn sie aufgeklappt ist. Warum das so ist bin ich noch am untersuchen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: ComboBox Einträge editieren

  Alt 17. Jul 2010, 14:19
Dann weiß ich auch, wieso der Fehler bei mir nicht aufgetreten ist

[edit] Aus der Hilfe zu TBitBtnKind:
Zitat:
bkOK
Auf der Schaltfläche wird der Text "OK" (eventuell mit einem grünen Häkchen) angezeigt. Die Schaltfläche wird zur Standardschaltfläche (die Eigenschaft Default wird automatisch auf true gesetzt). Wenn der Benutzer auf die Schaltfläche klickt, wird das Dialogfeld geschlossen. Der ModalResult-Wert dieser Schaltfläche ist mrOK.
Da hamwas.[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (17. Jul 2010 um 14:22 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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