Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » wie kann ich eine listbox mit einem array füllen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.05.2005, 12:12 Uhr
~keine ahnung
Gast


hallo ich habe ein problem und hoffe das mir wer helfen kann. ich benutzte das visual studio 2003.net und hab ein programm in c++.

ich mache eine datenbankabfrage und bekommen werte zurück (doublesa). diese habe ich in ein array eingelesen. jetzt habe ich eine listbox und möchte alle werte aus dem array in der listbox anzeigen lassen. strings kann man ja über: "m_ctrlListBox.AddString(test);" anzeigen lassen. gibt es eine möglichkeit wie ich meine array elemente anzeigen lasse? muss nicht unbedingt eine listbox sein. ich muss nur nachher einen wert aus der listbox zur weiterverarbeitung herausnehmen können. ich habe in foren häufig notationen wie:
"for (int i = 0; i < blabla; i++)
{
listBox1.Items.Add(zahlen[i]);
}
"
ich kann so nicht auf meine listbox zugreifen - ich bekomme dann immer eine fehlermeldung das links von .Items oder .Add ein klasse/struct usw erwartet wird. muss ich hier vielleicht dem listbox steuerelement eine klasse zuweisen? was sollte ich dann als basisklasse usw verwenden.

ich hoffe das mir jemand helfen kann.

patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.05.2005, 12:25 Uhr
Tommix



Hallo,

C++:
for (int i = 0; i < blabla; ++i)
{
    CString s;
    s.Format("%.3f", zahlen[i]);
    m_ctrlListBox.AddString(s);
}


Hoffe, ich habe die Problematik verstanden.
Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.05.2005, 12:47 Uhr
~keine ahnung
Gast


@Tommix: vielen vielen dank für die schnelle antwort. ich bin mir zwar noch nicht ganz sicher aber es scheint zu funktionieren - zumindest bekomme ich keine fehlermeldung. kannst du mir die zeile: "s.Format("%.3f", zahlen[i]);" nochmal genau erklären? was macht "%.3f"? ist das ein standardbefehl oder ändert sich der je nachdem von was zu was ich formatieren will?

jetzt hab ich noch das problem das sich besagtes array in der view klasse befindet weil hier die komplette datenbankabfrage gemacht wird. damit in der listbox aber was angezeigt wird muss ich ja in die onInitDialog funktion und die ist in der dialog klasse - wie bekomme ich das array in die dialogklasse um es in der onInitDialog aufzurufen? müsste doch irgendwie mit pointern gehen.

nochmal vielen dank patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.05.2005, 13:00 Uhr
Tommix



Zu 1 - ist im MSDN beschrieben.

Zu 2. - genau, dem Dialog verpaßt Du zwei Member-Variablen:

C++:
private:
    double* m_pData;
    int m_size;


Und dann noch eine Funktion zum setzen:

C++:
CMyDialog::SetData(double* pData, int size)
{
    m_pData = pData;
    m_size = size;
}

BOOL CMyDialog::OnInitDialog()
{
    for (int i = 0; i < m_size; ++i)
    {
        CString s;
        s.Format("%.3f", m_pData[i]);
        m_ctrlListBox.AddString(s);
    }

    return TRUE;
}



... und in der View dann in etwa so


C++:
double data[10];
// fülle Array
CMyDialog dlg;
dlg.SetData(data, 10);
dlg.DoModal();



- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: