Moin Moin,
Ich arbeite gerade an einem Schulprojekt, einem kleinem
FTP-Dateimanager, dabei will ich die Ordner/Dateien in einer ListBox darstellen.
Das funktioniert auch ganz gut (siehe Bild1) nur wenn es um Umlaute geht kann ich das nicht Anzeigen lassen.
Hier mein Code zum Abfragen der
FTP.List:
Code:
procedure TFDateiManager.List;
var
i : Integer;
begin
LBInhalt.Clear;
FTP.List();
IFTPLaenge :=
FTP.DirectoryListing.Count;
for i := 0 to IFTPLaenge - 1 do
LBInhalt.Items.Add(
FTP.DirectoryListing.Items[i].FileName);
end;
Die ListBox benutzt den
Ansi-Charset.
Der
FTP-Server benutzt UTF-8, jedoch funktioniert auch das folgende nicht.
Code:
LBInhalt.Items.Add(UTF8ToAnsi(
FTP.DirectoryListing.Items[i].FileName));
Ich kann allerdings, wenn ich in das Edit-Feld über der ListBox das Verzeichniss mit Umlaut eintrage ganz normal in das Verzeichnis wechseln.
Code:
procedure TFDateiManager.EPathKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then //wenn "Enter" gedrückt wird:
begin
FTP.ChangeDir(EPath.Text);
EPath.Text :=
FTP.RetrieveCurrentDir;
List;
end;
end;
Hoffe ihr könnt mir helfen
LG Hendrik