Listenelemete Spaltenweise auslesen?



  • Hallo zusammen,
    wollte mal fragen ob es möglich ist Listenelemente auch Spaltenweise auszulesen??
    bisher kenne ich das nur Zeilenweise!

    void CLElement_BerichtDlg::OnLaden()
      {
        CString strLesePuffer, strDateiName, strPfad;
        CStdioFile DateiLesen;
        int i=0;
    
        // Holt Pfad und Name mit .exe
        strPfad = GetCommandLine();
        // Dateierweiterung abschneiden
        int nPos = strPfad.ReverseFind( '\\');
        strPfad = strPfad.Mid(1, nPos-1);
    
        // Ermittelten Pfad + Dateiname in strDateiName schreiben
        strDateiName = strPfad +"//text.txt";
    
        // Kompletten Inhalt des Listenelements löschen
        m_List1.DeleteAllItems();
    
        // Datei Zeilenweise auslesen
        if (DateiLesen.Open(strDateiName, CFile::modeRead))
        {
          while(DateiLesen.ReadString(strLesePuffer))
          {
            // Datei zeilenweise auslesen
            m_List1.InsertItem(i, strLesePuffer);
            DateiLesen.ReadString(strLesePuffer);
            m_List1.SetItemText(i, 1, strLesePuffer);
            DateiLesen.ReadString(strLesePuffer);
            m_List1.SetItemText(i, 2, strLesePuffer);
            DateiLesen.ReadString(strLesePuffer);
            m_List1.SetItemText(i, 3, strLesePuffer);
            i++;
          }
        }
        else
           MessageBox ("Fehler beim Laden der Datei", "Fehler", MB_ICONINFORMATION);
      }
    

    m_List1 ist die Variable vom Listenelement!!!!


  • Mod

    Und was sollte an diesem Code falsch sein außer s.u.?

    BTW: Wenn Du InsertItem ausführst bekommst Du einen index zurück, den solltest Du für die nachfolgenden Operatinen verwenden. Für das InsertItem selbst solltest Du GetItemCount verwenden. Es ist nicht sicher/korrekt einfach i so hochzuzählen.



  • an dem code selber ist nichts falsch ich wollte nur fragen ob es möglich
    ist spaltenweise auszulesen und nicht zeilenweise deswegen habe ich
    den code gepostet?????

    ich möchte nur eine bestimmte Spalte haben nicht die ganze zeile geht sowas???

    vielen dank....



  • aus den listelement warum denn nicht, einfach nur die daten der gewünschten Spalte geben lassen, was das natürlich mit dem von dir geposteten Source zu tun hat, weiss ich auch nicht, dein Source erstellt Einträge im Listctrl



  • und mit welchem code bekomme ich es spaltenweise ausgelesen?

    den code habe ich gepostet weil er unten zeilenweise ausließt!!!!!!!!!



  • na ich weiss ja nicht was du unter zeilenweise auslesen eines CListCtrl siehst, bei mir werden die Daten in das CListCtrl geschrieben, also der totale gegensatz zu dem was du meinst

    und das auslesen spaltenweise ist ja nun nicht das problem wenn man die spalte fest macht und zeilenweise vorwärts geht mit GetItemText


Anmelden zum Antworten