AGB  ·  Datenschutz  ·  Impressum  







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

Umgang mit ComboBox

Ein Thema von MarquiseDeSade · begonnen am 25. Aug 2007 · letzter Beitrag vom 25. Aug 2007
Antwort Antwort
Benutzerbild von MarquiseDeSade
MarquiseDeSade

Registriert seit: 18. Apr 2007
Ort: Mainz
55 Beiträge
 
Turbo Delphi für Win32
 
#1

Umgang mit ComboBox

  Alt 25. Aug 2007, 12:18
Hallo Delphianer

Ich programmiere derzeit an einem Quiz und meine Kenntnisse reichen mal wieder nicht aus

Also, folgendes Problem...

Ich habe einen Array für die 16 Bundesländer von Deutschland, und die Länder werden per Zufallsgenerator ausgegeben.

Delphi-Quellcode:
procedure TForm1.Laenderauswahl;
begin
  Randomize;
  //Alle 16 Bundesländer
  Laender[0] := 'Baden-Württemberg';
  Laender[1] := 'Bayern';
  Laender[2] := 'Saarland';
  Laender[3] := 'Rheinland-Pfalz';
  Laender[4] := 'Hessen';
  Laender[5] := 'Thüringen';
  Laender[6] := 'Sachsen';
  Laender[7] := 'Nordrhein-Westfalen';
  Laender[8] := 'Niedersachsen';
  Laender[9] := 'Sachsen-Anhalt';
  Laender[10] := 'Brandenburg';
  Laender[11] := 'Berlin';
  Laender[12] := 'Bremen';
  Laender[13] := 'Hamburg';
  Laender[14] := 'Schleswig-Holstein';
  Laender[15] := 'Mecklenburg-Vorpommern';
  Land := Random(16);
  Panel3.Caption := ' ' + Laender[Land];
end;
Die Variable Land hat also einen Wert von 0 bis 15 und diesen möchte ich in Verbindung einer Combobox nutzen. In dieser Combobox sind die Werte(Items) von 0-15 den Bundesländern mit der jeweils richtigen Stadt zugeordnet.
Bsp:
Laender[1] beinhaltet Bayern und in der Combobox ist bei Item 1 München....

Nun möchte ich dem Benutzer helfen, sobald er zwei mal hintereinander die falsche Stadt über die Combobox ausgewählt hat, indem ich ihm die richtige Antwort auf einem Panel ausgebe. Wie stelle ich nun eine Verbindung zwischen der Variable "Land", welche ja den Integer 0-15 beinhaltet, zur richtigen Stadt in der Combobox her ?

panel4.Caption:='Die gesuchte Stadt war '+ComboBox1.........??? Ich hoffe ihr versteht was ich meine, wenn nicht einfach nochmal fragen...

gruß Tobias
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Umgang mit ComboBox

  Alt 25. Aug 2007, 12:32
Hallo,
ComboBox1.Items.Strings[x] Ich weiss nicht, ob ich Dich richtig verstanden habe, wenn nicht -> einfach nochmal fragen

Edit: x ist natürlich der Index des korrekten Landes aus Deinem Array bzw. der Wert Deiner Variablen 'Land'

Edit2: Aber warum übergibst Du ihm denn nicht einfach gleich als Lösung den entsprchenden Wert Deines Arrays?
  Mit Zitat antworten Zitat
Benutzerbild von MarquiseDeSade
MarquiseDeSade

Registriert seit: 18. Apr 2007
Ort: Mainz
55 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Umgang mit ComboBox

  Alt 25. Aug 2007, 13:48
Zitat von s-off:
Edit2: Aber warum übergibst Du ihm denn nicht einfach gleich als Lösung den entsprchenden Wert Deines Arrays?
Mh, weil doch im Array nur die Bundesländer sind, der User aber die richtige Hauptstadt nennen soll, oder meintest du was anderes ??
Bin offen für eine Vereinfachung meines Problems ...

Auf jeden Fall funktioniert ComboBox1.Items.Strings[x] Danke dafür

gruß Tobias
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#4

Re: Umgang mit ComboBox

  Alt 25. Aug 2007, 14:24
Zitat von MarquiseDeSade:
Zitat von s-off:
Edit2: Aber warum übergibst Du ihm denn nicht einfach gleich als Lösung den entsprchenden Wert Deines Arrays?
Mh, weil doch im Array nur die Bundesländer sind, der User aber die richtige Hauptstadt nennen soll, oder meintest du was anderes ??
Äm, ja, natürlich, sorry - mein Fehler.

Du könntest natürlich ein zweidimensionales Array basteln, in welchem Du sowohl das Bundesland, als auch die dazu gehörige Landeshauptstadt speicherst.

Anschliessend könntest Du Deine Combobox mit den Werten aus Deinem Array füllen. Das hätte den Vorteil, dass Du nur Dein Array erweitern müsstest, wenn wir dann irgendwann mal..... ach, das war ein anderes Thema

Jedenfalls müsstest Du die grundlegenden Daten dann nur in Deinem Array pflegen, und nicht zusätzlich noch in der Combobox.

Aber für eine exaktere Aussage kenne ich Deine Struktur zu wenig.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Umgang mit ComboBox

  Alt 25. Aug 2007, 16:14
Ich würde die Bundesländer und ihre Hauptstädte in einem Record speichern (dafür eine Klasse zu bauen, halte ich für übertrieben). Etwa so (ungetestet, da kein Delphi zur Hand):
Delphi-Quellcode:
type TLand = record
  Name,
  Hauptstadt: string;
end;

var Laender: array[0..15] of TLand; //nur als Beispiel, ein privates Feld des Formulars wäre besser
...

procedure InitLaender;
begin
  Laender[0].Name := 'Bayern';
  Laender[0].Hauptstadt := 'München';
  Laender[1].Name := 'Schleswig-Holstein';
  Laender[1].Hauptstadt := 'Kiel';
  ...
end;

...

procedure Antwort;
begin
  ShowMessage(Laender[x].Hauptstadt; //x ist der ermittelte Zufallswert
end;
//Edit: Rächtschraipfeeler berrichticht
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
Antwort Antwort


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