NMFTP Files in ListBox anzeigen



  • Um nur die Dateinamen in einer ListBox anzuzeigen verwende ich:

    void __fastcall TfrmStart::NMFTP1ListItem(AnsiString Listing)
    {
            int i;
    
            for(i=0; i<(NMFTP1->FTPDirectoryList->name->Count-1); i++)
                 {
                   ListBox1->Items->Add(NMFTP1->FTPDirectoryList->name->Strings[i]);
                    }
    }
    

    aber es werden Dateien doppelt angezeigt und dazu noch Punkte . ..
    Habt ihr einen Tip für mich?



  • Hmmm Tipps...

    Also
    1. Formatier deinen Quelltext mal etwas angenehmer, nicht einfach so wie das automatische Einrücken den Cursor grad platziert. Und achte auch mal auf Lesbarkeit. Leerzeichen und Absätze kosten dich weder Zeit noch kostet es dich geschwindigkeit, noch haben die sonst irgendwelche Konsequenzen ausser dass sie den Code lesbarer machen.
    2. In C++ kann man die Variable auch bei der initialisierung deklarieren:

    for (int i = 0;i < ...
    

    3. Stehen alle Dateinamen doppelt drin? Grundsätzlich könntest du mittels IndexOf() erst prüfen ob die Datei schon in die LB eingetragen wurde...
    4. Die Punkte: .. bringt dich eine Verzeichnisebene höher, . bezeichnet das aktuelle Verzeichnis. Möchtest du die nicht angezeigt haben, musst du sie wohl oder übel ausfiltern.

    -junix

    [ Dieser Beitrag wurde am 21.05.2003 um 10:32 Uhr von junix editiert. ]



  • Ich habe das so realisiert, nur noch die Punkte muß ich filtern:

    TStringList *liste = new TStringList;
    
             int i;
    
            for(i = 0; i < =(NMFTP1->FTPDirectoryList->name->Count-1); i++)
                 {
                   liste->Add(NMFTP1->FTPDirectoryList->name->Strings[i]);
    
                    }
                  ListBox1->Items->Assign(liste);
    
                   delete liste;
    


  • worin unterscheidet sich diese Lösung von der oben von dir geposteten?

    Ausserdem mach ich meine Bemerkungen bezüglich Formatierung etc. nicht zum spass damit man sie überliest sondern damit man sie liest und anwendet.

    -junix


Anmelden zum Antworten