Problem mit FileListView (Kylix)
-
Hallo, ich habe folgendes Problem:
Ich möchte in einem FileListView die Files eines FTP-Listings anzeigen.FileListView_web->Directory->Location = "\MyDir\abc”; // alles OK! TStringList *FTPDirList; FTPDirList = new TStringList; // StringListe deklarieren IdFTP->Connect(); IdFTP->List(FTPDirList); Memo->Lines = FTPDirList; // Im Memo wird alles korrekt angezeigt FileListView_web->Directory->Location = ???? // was muss hier stehen // oder wie zeige ich den Inhalt an?Ich suche schon einige Tage nach einer Lösung, komme aber nicht weiter!
Möglich, das es in Kylix etwas anders aussieht, als bei Windows.
Vielleicht komme ich auch weiter, wenn ich weiß, wie es bei WIN läuft.
Gruß, Harald
-
Andresen schrieb:
FileListView_web->Directory->Location = "\MyDir\abc”; // alles OK!Sicher? Der Backslash ist ein Escape-Character, d.h., daß das nachfolgende Zeichen speziell behandelt wird. Wenn du einen Backslash willst, schreibe ihn zweimal, das ist die Escape-Sequenz für "Backslash". (Ärgerlicherweise meldet kein mir bekannter C++-Compiler so etwas wie "\MyDir" als Syntaxfehler, obwohl es völlig unsinnig ist. Der GCC warnt immerhin davor
)
Überdies meine ich mich zu erinnern, daß FTP normale Slashs ("/") verwendet.
-
Ich gehe davon aus, dass der FileListView nur lokale Dateisysteme darstellen kann.
Du wirst wohl nicht umhinkommen, ein normales ListView-Control "von Hand" mit den Ergebnissen aus FTPDirList zu bestücken.
-
Die Backslash waren ein Schreibfehler! "/" ist richtig!
Ich hatte gehofft, man könnte "FTPDirList" evtl. zur Directory->Location erklären.
Habe mich jetzt mit dem ListView beschäftigt.
ListView_Web->Items->Item[1]->Caption = "111"; ListView_Web->Items->Item[2]->Caption = "222"; ListView_Web->Items->Item[1]->SubItems->Text = "333"; ListView_Web->Items->Item[2]->SubItems->Text = "444";Damit kann ich die ersten und zweiten Felder füllen.
Wie fülle ich das dritte und vierte Feld?Weiteres Problem:
Wie lege ich die Items während der Laufzeit an?
Es läuft nur, wenn ich die Felder mit dem Eintragseditor vorher erstelle!Habe die Hilfe studiert, vielleicht etwas übersehen oder nicht verstanden.
Komme ohne eure Hilfe hier nicht weiter.
Gruß, Harald
-
Ein Beispiel sagt mehr als 1000 Worte:
ID = ListView1->Items->Count;
ListView1->Items->Add();
ListView1->Items->Item[ID]->Caption = "1.Spalte";
ListView1->Items->Item[ID]->SubItems->Add("2.Spalte");
ListView1->Items->Item[ID]->SubItems->Add("3.Spalte");
ListView1->Items->Item[ID]->SubItems->Add("4.Spalte");
-
Ein passendes Beispiel solltest du in der Hilfe zu TCustomListView::Items finden.
Allerdings hat das ja nicht mehr direkt mit dem FileListView zu tun. Wenn noch mehr Diskussionbedarf besteht, dann bitte in einem eigenen Thread.