Announcement

Collapse
No announcement yet.

Combobox- Eintrag einen Wert hinterlegen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Combobox- Eintrag einen Wert hinterlegen

    Hallo

    Erstmal vorweg ich bin Anfänger und verzweifel gerad an einer, für andere warscheinlich, einfachen Aufgabe.
    Folgendes Problem:

    Ich habe eine Combobox erstellt und im Object Manager über Items meine Einträge eingegeben.
    Werden auch alle schön angezeigt
    Ich will aber nun auch noch das jedem Eintrag eine Zahl hinterlegt wird mit der dann gerechnet werden soll.

    Wenn mir da jemand ein Denkanstoss geben könnte wäre das nett
    (Aber bitte einen den ich auch verstehe )

    mfg

  • #2
    Soweit ich weiß gibt es zwar Fremdkomponenten, die das können, aber mit der Standard-Combobox geht das nicht. Du kannst stattdessen ein Array definieren in dem diese Zahlen stehen und der ItemIndex aus der Combobox ist dann der Elementindex des Arrays.

    bye,
    Helmut

    Comment


    • #3
      oha

      gibts dafür zufällig irgendwo ein Beispiel?
      Elementindex

      Comment


      • #4
        Eine Ganzzahl läßt sich auch elegant direkt in TCombobox.Items.Objects hinterlegen:

        [highlight=pascal]
        Combobox.Items.AddObject("Zahl 1", Pointer(1))
        Combobox.Items.AddObject("Zahl 2", Pointer(2))
        // usw.

        If Combobox.ItemIndex >= 0 then
        MessageDlg("gewählt wurde: " + IntToStr( Integer(Combobox.Items.Objects[Combobox.ItemIndex]))))

        [/highlight]

        Ansonsten wie hwoess vorschlug ein externes Array
        Elementindex = Combobox.ItemIndex
        Ich habs gleich!
        ... sagte der Programmierer.

        Comment


        • #5
          Hallo
          erst mal danke für die Antworten.

          Ich hab jetzt mal probiert den Code von tinof auszuführen. Damit ich irgendwie al was sehe..
          Hab dann hier und da noch was angepasst aber in der letzten Zeile bekomm ich den Fehler: Unit1.pas(33) Not enough actual Parameters

          Code:
          begin
          Combobox1.Items.AddObject('Zahl 1', Pointer(1))       ;
          Combobox1.Items.AddObject('Zahl 2', Pointer(2))        ;
          // usw.
          
          If Combobox1.ItemIndex >= 0 then
            MessageDlg('gewählt wurde: ' + IntToStr( Integer(Combobox1.Items.Objects[Combobox1.ItemIndex]))))
          end;

          Hab mir das ganze etwas einfacher vorgestellt.
          Soll doch nur so ein einfacher MwSt Rechner werden
          Aber ohne diese Auswahl am Anfang komm ich halt überhaupt nicht weiter.
          ---
          Das Problem ist unter anderem auch das meine Freundin (für die dieses ganze Projekt ist) das auch nicht in der Schule oder so drann hatte. Da sollte sie heute mal den Lehrer fragen aber auch der weiß da anscheind nich wie es geht. Sie soll sich das doch bitte irgendwie zusammenfriemeln -.- Solche Lehrer mag ich ja...

          Comment


          • #6
            Wuhu
            Hab es doch noch geschafft

            Bzw sieht es auf den ersten Blick so aus

            Eine Frage hät ich allerdings doch noch
            Wenn ein Rechenergebnis ausgeben will auf einem Label, dann muss ich immer erst einmal ins Feld Klicken damit das Ergebniss erscheint. Bei einem Edit Feld muss ich erst irgendwas ändern damit das Ergebniss angezeigt wird.
            Das hängt ja bestimmt mit den Events im Object Inspector zusammen oder?
            Was muss ich den da einstellen damit das Ergebniss sofort angezeigt wird? Sollte doch möglich sein oder?

            Frage hat sich erledigt. Ein Button hat ausgeholfen.
            Zuletzt editiert von Classic1; 02.06.2011, 00:06.

            Comment


            • #7
              Control.OnChange wäre das gesuchte Event gewesen.

              Gruß
              Tino
              Ich habs gleich!
              ... sagte der Programmierer.

              Comment

              Working...
              X