AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language FreePascal Auswahl eines ComboBox-Elements per ENTER/durch das System

Auswahl eines ComboBox-Elements per ENTER/durch das System

Ein Thema von qiLy4n · begonnen am 6. Jun 2015 · letzter Beitrag vom 11. Jun 2015
Antwort Antwort
Seite 1 von 2  1 2   
qiLy4n

Registriert seit: 1. Jun 2015
Ort: MV / Germany
22 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 6. Jun 2015, 23:36
Hab schon gemerkt und behoben. Wert bleibt trdm auf -1

Geändert von qiLy4n ( 7. Jun 2015 um 10:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 06:24
Wie wärs mit OnClick?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
qiLy4n

Registriert seit: 1. Jun 2015
Ort: MV / Germany
22 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 09:20
Nein, leider nicht. Hatte es schon ausprobiert, aber es ergibt an sich auch wenig Sinn, wenn es in diesem Zusammenhang (wo ich doch per ENTER auswählen können will) genutzt würde.

Ich hatte eine Idee für ein Work-Around mit meinen Mitteln:

Code:
if Key=13 //müsste Enter sein
then do
if ComboBox1.Text:='x' then ComboBox1.Itemindex:=0 else
 if ComboBox1.Text:='y' then ComboBox1.Itemindex:=1 else ... etc etc
Wäre zwar haufenweise Schreibarbeit, aber ich sehe mit meinem Können momentan keine andere Lösung.
Die Sache dabei ist auch, dass ich es schon so versucht hatte, darauf aber die Antwort kam, dass Boolean expected wäre (bei jeder einzelnen Zeile)...
Kann mir das wer erklären bzw meinen Fehler beheben (möglichst simpel)?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.583 Beiträge
 
Delphi 12 Athens
 
#4

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 09:42
Zitat:
if ComboBox1.Text:='xthen
Zuweisung oder Vergleich?

Delphi-Quellcode:
if Key = Char(VK_RETURN) then begin
  i := ComboBox1.Items.IndexOf(ComboBox1.Text);
  if i >= 0 then
    ComboBox1.ItemIndex := i;
end;
bzw.
Delphi-Quellcode:
if Key = Char(VK_RETURN) then
  ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(ComboBox1.Text);
Schreibarbeit? Die CB kennt doch ihre Einträge, also fragt man sie einfach.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Jun 2015 um 09:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 09:48
*war mal wieder zu spät*
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
qiLy4n

Registriert seit: 1. Jun 2015
Ort: MV / Germany
22 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 10:14
Hi, danke für diese - wie immer (seit 13 Jahren) - schnelle Antwort.
Hätte ich gewusst, dass man das so abfragen kann, hätte ich es vllt auch so aufgeschrieben

Eine Sache gibt es noch: ich kenn mich mit KeyDown nicht aus und in den Nachrichten erhalte ich den Hinweis:

Zitat:
unit1.pas(81,28) Error: Incompatible types: got "Char" expected "LongWord"
... bei diesem Code:

Code:
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: word;
  Shift: TShiftState);
begin
  if Key = Char(VK_RETURN) then begin
  i := ComboBox1.Items.IndexOf(ComboBox1.Text);
  if i >= 0 then
    ComboBox1.ItemIndex := i;
  end;
  end;
Was ist da das Problem?
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 10:21
Lass einfach die Umwandlung in Char weg if Key = VK_RETURN then
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
qiLy4n

Registriert seit: 1. Jun 2015
Ort: MV / Germany
22 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 10:31
Danke, wieder so eine Sache von der ich gar nicht wusste, dass man sie machen darf.

Werd ich also so umsetzten.
Just in case: Warum gibt es denn beim Doppelklicken auf das Ereignis im Objektinspektor eine Prozedur und offensichtlich - da ich den Code ja von himitsu hab - noch eine ähnliche mit einer anderen Variablen?
Ist für das Programm nicht mehr wichtig btw
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.881 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 10:42
Der Paramter key ist schon ein Integer

if Key = VK_RETURN then begin
Markus Kinzler
  Mit Zitat antworten Zitat
qiLy4n

Registriert seit: 1. Jun 2015
Ort: MV / Germany
22 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Auswahl eines ComboBox-Elements per ENTER/durch das System

  Alt 8. Jun 2015, 10:58
Wieso Integer, es doch um Word und Char?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:10 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