Announcement

Collapse
No announcement yet.

Starten eines Ereignisses mit dem Wert eines Edit Feldes

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

  • Starten eines Ereignisses mit dem Wert eines Edit Feldes

    Hallo

    Ich habe eine Combobox mit dem Ereigniss OnChange erstellt. Jetzt möchte ich gerne den Wert eines Edit Feldes nutzen um dieses OnChange Ereigniss auszufrühren. Leider hattte ich bisher damit keinen Erfolg diesen Wert an meine Onchange Prozedur zu übergeben und ich finde auch keinen richtigen Abschnitt in der Hilfe der mich weiter bringen könnte.

    Thx
    Marc Kuschel

  • #2
    Ruf doch Deine implementierte OnChange-Routine von Hand auf: ComboBox1Change(nil)?! Den Wert des Editfeldes erfährst Du mit Edit1.Text. Oder was meinst Du eigentlich??<p>
    Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Hi Marc,<br>
      <br>
      falls ich Dich richtig verstanden habe, könnte Dir folgendes helfen.<br>
      Wähle das Edit Feld aus, gehe im Objektinspektor auf die Ereignisse,<br>
      dann nur noch im OnChange des Editfeldes das OnChange der ComboBox<br>
      auswählen.<br>
      <br>
      Ciao<br>
      Chri

      Comment


      • #4
        Hallo

        Leider funktionierte keiner der beiden Tips.
        Bei Marios Lösung erhalte ich leider eine Debuggerfehlermeldung. Und bei Christians Lösung einen Read Error.
        Vieleicht versteht man das so besser!?
        Ich habe ein EditFeld mit einem Wert. Der wird entweder selber eingetippt oder am Anfang aus einer Datei geholt. (kein Problem)Sobald ich diesen Wert erhalten habe, möchte ich das ComboBox1Change mit diesem Wert ausführen. Also im Grunde das der gleiche Wert dort erscheint als ob man die Combobox manuell geändert hat und damit die Onchange Procedure startet. Ich verstehe nur nicht wie ich jetzt diesen Wert an diese Procedure übergeben kann.

        Thx
        Marc Kusche

        Comment


        • #5
          Hallo,<br>
          <br>
          meinst du vielleicht sowas hier?<br>
          <br>
          <pre>
          procedure TForm1.Edit1Change(Sender: TObject);
          begin
          ComboBox1.ItemIndex:=ComboBox1.Items.IndexOf(Edit1 .Text);
          end;
          </pre>
          <br>
          <br>
          Gruß<br>
          Harr

          Comment


          • #6
            Hi Marc,<br>
            <br>
            ich glaube, dass ich jetzt weiss, worauf Du hinauswillst.<br>
            Versuch's mal damit:<br>
            <pre>
            procedure TForm1.Edit1Change(Sender: TObject);
            begin
            ComboBox1.Text := Edit1.Text;
            ComboBox1Change(ComboBox1);
            end;
            </pre>
            <br>
            Das sollte laut Deiner Beschreibung funktionieren.<br>
            Dass OnChange der ComboBox muss 'zu Fuss' aufgerufen werden, da hier,<br>
            im Gegensatz zum TEdit, das Ereignis NICHT ausgelöst wird, wenn man<br>
            die Eingenschaft TEXT per Programm ändert.<br>
            <br>
            Ciao<br>
            Chri

            Comment


            • #7
              Hallo alle zusammen,

              bedenkt aber, daß das OnChange-Ereignis bei jedem Buchstaben, der eingegeben wird, ausgelöst wird. Wenn du wartenwillst, bis das vollständige Wort eingegeben ist, solltest du entweder das OnExit-Ereignis benutzen (setzt aber voraus, daß du das Edit-Feld verlässt) oder besser noch die Entertaste abfragen. Das kennen die Leutz wenigstens aus der Arbeit mit Excel.

              mfg Klaus-Pete

              Comment


              • #8
                Hallo Klaus-Peter,<br>
                <br>
                prinzipiell hast Du natürlich recht, aber wie soll das gehen, wenn<br>
                der Wert aus einer Datei stammt? <br>
                Dann müsste man den User dazu bringen trotzdem Enter zu drücken.<br>
                <br>
                Per Flag gesteuert könnte das funktionieren.<br>
                Die Funktion die den Wert in das Edit Feld schreibt setzt das Flag<br>
                und das OnChange des Edit Feldes setzt es wieder zurück.<br>
                Somit müsste sichergestellt sein, dass das OnChange der ComboBox sofort<br>
                angestossen wird, wenn der Wert aus einer Datei stammt (z.B. Flag <br>
                gesetzt), oder erst, wenn der Anwender Enter drückt. (Flag nicht gesetzt)<br>
                <br>
                Ciao<br>
                Chri

                Comment


                • #9
                  Hallo

                  Habe das leider jetzt erst ausprobiert...

                  Danke Christian, mit dieser Lösung hats funktioniert.

                  Cu
                  Marc Kusche

                  Comment

                  Working...
                  X