DDX_Text(pDX, IDC_EDIT1, m_name) kann ich nicht im Listenfeld ausgeben



  • Hallo an alle!
    Ich habe ein Problem:

    //TestDLG.cpp
    void CAnalyseDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(CAnalyseDlg)
    	DDX_Text(pDX, IDC_EDIT1, m_name);    // mit grau markiert!
    	DDX_Text(pDX, IDC_EDIT2, m_vorname); // mit grau markiert!
    	//}}AFX_DATA_MAP
    }
    

    Ich möchte gerne Zeilen, die mit DDX_ anfangen auslesen
    und im Listenfeld ausgeben.

    //Hier ist mein Programmstück:
    void CAnalyseDlg::OnButton1() 
    {
    char* pFileName = "C:\\...\\TestDlg.cpp"; 
    CString str;
    CStdioFile f1(pFileName, CFile::modeRead | CFile::typeText); 
    
    CListBox* pLB= (CListBox*) GetDlgItem(IDC_LIST1);
    
    while( f1.ReadString(str) || (! str.IsEmpty()))
    {
      pLB->InsertString(-1, str); 
    
    if(!(str.Find("DDX_")))                                                    
    {
       pLB->InsertString(-1, str); 
    }
    
    }
    
     f1.Close();  // Datei schließen
    }
    

    Leider in Listenfeld wird nichts gezeigt,
    da DDX_Text(pDX, IDC_EDIT1, m_name) mit grau markiert ist.
    Alles anderes kann ich ausgeben außer DDX_Text....
    Vielleicht das Problem ist, dass diese Sätze mit grau markiert sind?
    Gibt es trotzdem Möglichkeit diese Sätze im Listenfeld auszugeben?

    Vielen Dank im Vorauß
    Slawik

    Edit by estartu: BITTE verwende Code-Tags



  • Ich habe versucht Deinem Code zu folgen. Du hast zweimal die Zeile:

    pLB->InsertString(-1, str);
    

    Ich nehme an, dass die erste zeile ein Versehen ist. die zweite Zeile wird nur geschrieben, wenn "DDX_" an erster Stelle der Zeile steht. Vielleicht sollte die Zeile auch lauten:

    if(str.Find("DDX_")!=-1)                                                    
    {
       pLB->InsertString(-1, str); 
    }
    


  • Herzlichen Dank.
    Jetzt funktioniert es!!!!!



  • Ich hoffe, Dir ist auch klar, warum es nun funktioniert.
    Die MSDN ist Dein bester Freund, wenn man sie gewissenhaft liest. 😉


Anmelden zum Antworten