Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Tachchen

Hab da nen problem!!!

Ich habe ein programm welches werte aus einer datei in einem dialog anzeigen soll!!

nun is es möglich das werte doppelt vorkommen bsp: es kann z.b. zwei formate geben. nun möchte ich, dass man sich eines auswählen kann und möchte dies in einer combobox darstellen.

nur irgendwie zeigt der immer nur einen wert an

hat einer ne idee bzw. lösung???:confused:

Geschrieben

Benutzt du Visual C++ / MFC und eine Dialogresource?

Dann kann es sein, dass du in der Dialogresource einfach nur die Höhe der Combobox vergrößern must. Das geht aber erst, nachdem du einmal auf die Schaltfläche zum Aufklappen geklickt hast.

Wenn das nicht hilft, solltest du uns den Code zeigen, mit dem du die Combobox füllst.

Geschrieben

ich arbeite mit visual studio.net 2003

mit forms!!

nicht mit mfc!

ich arbeite erst seit drei monaten und hab hier noch nich so den plan davon. und in meiner firma hier kann mir irgendwie auch keiner helfen(oder es keiner lust dazu).

Geschrieben
//---------------------Füllen der ComboBox------------------------  

   strncpy(f_format, pDbsQ->getF_Format(&MaxUmfo), sizeof(f_format)-1);

     IDC_FORMAT->Text = f_format;


//-----------------------------Prototyp------------------------------

char* CDbsQ::getF_Format(short *pMaxUmfo);


//------------------------------- Funktion-------------------------------------

char* CDbsQ::getF_Format(short *pMaxUmfo)

{

 char f_format[9];

 char f_an_betrieb[7];

 char f_abkuehl[8];

 char f_uebergabe[9];

 char umform[] = "P\tMMAL\tA\tUMFO";  // markiert den logischen Anfang der Formate 


 if (*pMaxUmfo >= 0)

 {

 for (m_line = 0; m_line<= *pMaxUmfo; m_line++)

 {

  if (m_TokenUmfo.tokenUmfoField[m_line][5][0] != '\0') // Format vorhanden ?

  {

   memset(f_format,0,sizeof(f_format));

   memset(f_an_betrieb,0,sizeof(f_an_betrieb));

   memset(f_abkuehl,0,sizeof(f_abkuehl));

   memset(f_uebergabe,0,sizeof(f_uebergabe));


   // Schluessel     

   strncpy (f_format, m_TokenUmfo.tokenUmfoField[m_line][5], sizeof(f_format)-1);

   // Betrieb

   strncpy (f_an_betrieb, m_TokenUmfo.tokenUmfoField[m_line][7], sizeof(f_an_betrieb)-1);


   if (m_TokenUmfo.tokenUmfoField[m_line][8][0] == '1') // Abkühlung Walzwerk?

   {   

    strncpy (f_abkuehl, m_TokenUmfo.tokenUmfoField[m_line][9], sizeof(f_abkuehl)-1);

    strncpy (f_uebergabe, m_TokenUmfo.tokenUmfoField[m_line][10], sizeof(f_uebergabe)-1);

    f_an_betrieb[0] = 'W';

   }

   if (m_TokenUmfo.tokenUmfoField[m_line][11][0] == '1') // Abkühlung Schmiede?

   {   

    strncpy (f_abkuehl, m_TokenUmfo.tokenUmfoField[m_line][12], sizeof(f_abkuehl)-1);

    strncpy (f_uebergabe, m_TokenUmfo.tokenUmfoField[m_line][13], sizeof(f_uebergabe)-1);

    f_an_betrieb[0] = 'S';

   }

  }

 }   

 }

 return m_TokenUmfo.tokenUmfoField[m_line][5];

}


//-------*pMaxUmfo hat in diesem Fall den Wert 2;

Geschrieben

Ich denke, das Problem liegt zunächst mal hier:

IDC_FORMAT->Text = f_format;

Eine Zuweisung an das Text-Property einer Combobox ändert nur den Text im Eingabefeld. Wenn du einen String zur Auswahlliste hinzufügen willst, musst du der Items-Collection neue Einträge hinzufügen.

Geschrieben

Ich verstehe nicht viel von .NET, aber es müsste wohl so aussehen:

IDC_FORMAT->Items.Add(/*hier dein neuer Eintrag*/);

Übrigens: Ich verstehe nicht, was die Methode CDbsQ::getF_Format macht. Es sieht so aus, als ob sie irgendwas in lokale char-Arrays kopiert, aber mit diesen Arrays geschieht nichts weiter, sie werden am Ende der Funktion wieder zerstört, ohne das mit ihnen irgendwas gemacht worden wäre.

Man könnte die Methode IMHO reduzieren auf:

char* CDbsQ::getF_Format(short *pMaxUmfo)
{
return m_TokenUmfo.tokenUmfoField[m_line][5];
}[/code]

Ich verstehe auch nicht, warum du pMaxUmfo als Zeiger übergibst.

Vielleicht könntest du erklären, was diese Methode tun [i]soll[/i].

Geschrieben

erstmal verstehe ich auch nich so viel von .net

also, das is natürlich nicht das ganze programm sondern nur ein ausschnitt!!!

das programm soll daten aus einer analysefile auslesen! in dieser stehen momentan 2 formate die(in einer anderen methode) in *pMaxUmfo gespeichert werden. nun soll das prog. beide formate in der comb. anzeigen. es zeigt aber nur einen wert an. das mit der kurzen fassung hatte ich vorher. es hat auch geklappt, aber wie gesagt wird nur ein wert angezeigt

Geschrieben
...in dieser stehen momentan 2 formate die(in einer anderen methode) in *pMaxUmfo gespeichert werden.

*pMaxUmfo ist nur ein short, da kann bestensfalls die Anzahl der Formate drinstehen.

Sehe ich das richtig, dass dann die Formate in

m_TokenUmfo.tokenUmfoField[0][5];

und

m_TokenUmfo.tokenUmfoField[1][5];

stehen?

Dann könntest du das so machen:


//---------------------Füllen der ComboBox------------------------
for(int i=0; i<*pMaxUmfo; ++i)
{
IDC_FORMAT->Items.Add(pDbsQ->getF_Format(i));
}

//-----------------------------Prototyp------------------------------
char* CDbsQ::getF_Format(int line);

//------------------------------- Funktion-------------------------------------
char* CDbsQ::getF_Format(int line)
{
return m_TokenUmfo.tokenUmfoField[line][5];
}[/code]

Alles ohne Gewähr (mangels .NET-Erfahrung).

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...