In Borland C++ Builder, combofeld mit Daten füllen



  • Guten Tag zusammen,
    ich bin neu hier also einfach meckern wenn ich infos vergesse die noch fehlen 😉

    Also mein problem ist folgendes, mein chef hat mir die grandiose aufgabe gegeben ein programm was in pascal vorhanden ist, in c++ neu zu schreiben damit es auch auf neueren maschinen läuft.

    ich habe nun schon ein wenig gewerkelt obwohl ich mich kaum mit c++ auskenne.
    momentan hänge ich an den combofelder fest, ich schaffe es einfach nicht diese mit daten zu füttern. kann sein das ich einen denkfehler habe, ist es dringend notwendig eine datenbank zu haben um ein feld sagen wir eine auswahl von 5 werten zu geben?

    bei dem programm handelt es sich um ein fülldruckmessprogramm, dabei werden von einer maschine daten an den com1 port übermittelt und sollen ausgewertet werden.

    ich habe bislang probiert das combofeld über den befehl addstring zu füllen und 5 werte als variablen deklariert. bei den werten geht es um materialdicke.
    im endeffekt sollen bei dem programm 4 werte eingegeben werden, daraus soll dann durch den output der maschine ein rückwert ermittelt werden, ich glaube ich habe mir das einfacher vorgestellt als es ist.

    also ich hoffe ihr lest euch die masse text durch und habt nen tip für nen blutigen anfänger 😕 ich wäre euch echt dankbar..

    mfg
    Cane



  • Hallo

    Ja du hast etwas vergessen, nämlich das richtige Forum zu wählen. Es gibt hier ein BCB-Forum in das dich gleich ein Moderator verschieben wird.

    Zum Thema : Alle Items werden über die Items-Eigenschaft verwaltet.
    Entweder zur Entwurfszeit : Die ComboBox auswählen und im Objektinspektor auf die Items-Eigenschaft doppelklicken. Im sich öffnenden Dialogfenster kannst du feste Items eingeben.
    Oder zur Laufzeit : Hinter Items steht der Typ TStrings. Und mit den dortigen Methoden Add/Insert kannst du neue Items hinzufügen. Siehe BCB-Hilfe zu TStrings.

    bis bald
    akari



  • oh das tut mir leid, das hab ich wohl übersehen das es für den borland builder n extra forum gibt.

    aber vielen dank schonmal für deine antwort, das hilft mir schon sehr weiter:)

    mfg
    Cane



  • Warum kann denn das in Pascal geschriebene Programm nicht auf neueren Rechnern laufen (nutzt es direkten Zugriff auf Hardware?)???

    Und dann würde ich dir als Alternative Delphi ans Herz legen (wenn du nicht soviel Ahnung von C++ hast).
    Bzw. du kannst auch (Object-)Pascal Code mit dem BCB compilieren...



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum VCL (C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • hallo th,

    also das programm ist für dos geschrieben worden, es läuft bis windows 98 noch ganz okay aber win2k schmiert es ab, erst gab es schon wegen der schnellen prozessoren probleme /fehler 200/ war irgendwie ein laufzeit fehler, division durch 0 oder so (ich erinner mich nicht mehr ganz genau) auf jedenfall konnte ich das durch einen patch der "turbo.exe" beheben, wurden glaube neue bibliotheken eingespielt und alte/fehlerhafte entfernt.
    also im grunde läuft das programm auch unter win2k und co. durch den kompatibilitäts modus aber mein chef hätte das programm gern vereinfacht, in einem windowsprogramm mit eingabemaske, soll wohl moderner wirken ka.

    das combofeld zu füllen habe ich nun geschaft, vielen dank an alle 🙂

    hätte jetzt aber ein folgeproblem, und zwar muss das zweite combofeld in abhängigkeit der werte des ersten gefüllt werden.
    also z.B.

    combo1 auswahl X -> combo2 Auswahl 1;2;3
    combo2 auswahl Y -> combo2 Auswahl c;d;e

    hoffe ich drück mich verständlich aus 😕

    €dit:
    C++ soll ich nehmen weil meine firma es besitzt, also den Borlanf C++ Builder 6.0 (wurde irgendwann mal grundlos teuer gekauft und nie benutzt*rolleyes*)

    mfg
    Cane



  • ich hätte gedacht das es vieleicht so geht aber, irgenwie nicht hmpf..

    //---------------------------------------------------------------------------
    void __fastcall TForm1::ComboBox2Change(TObject *Sender)
    {
    switch (ComboBox2Change)
    {
            case ComboBox1Change(T4).select
                    {
                      cout << "T4 Kompaktlampe";
                    }
    
    }
    //---------------------------------------------------------------------------
    

    hab ich was flasch geschrieben oder is der ansatz schon ganz falsch?



  • Hallo

    Du must den OnChange-Event der ersten ComboBox benutzen um die zweite mit den richtigen Werten zu füllen

    void __fastcall TForm1::ComboBox1Change(TObject *Sender)
    {
      ComboBox2->Items->Clear();
      switch (ComboBox1->ItemIndex)
      {
        case 0 :
          ComboBox2->Items->Add("1");
          ComboBox2->Items->Add("2");
          ComboBox2->Items->Add("3");
          break;
        case 1 :
          ComboBox2->Items->Add("a");
          ComboBox2->Items->Add("b");
          ComboBox2->Items->Add("c");
          break;
      }
    }
    

    bis bald
    akari



  • Funktioniert! DANKE 🙂
    die items steht jetzt drin, sind aber nicht auswählbar.. aber das bekomm ich schon raus ^^


Anmelden zum Antworten