Hi DPler
Ich versuche gerade alle Dateinamen in einem Ordner mit Foto Dateien auszulesen und über
TCP an einen server.socket zu übermitteln und in einem Listview anzuzeigen.
Dies funktioniert eigentlich ganz gut.
Nun habe ich aber einen Ordner wo es über 1000 Fotos drinn hat und da sendet es nur bis zu einer bestimmten Stelle. z.b
Foto0001
Foto0002
Foto0003
..
..
Foto0999
obwohl eingentlich bis Foto1239 sein sollte.
Die Datei listening Rutine listet alle Dateien auf, dies hab ich überprüfft nur nach dem socket.sendtext(Filelist); sind diese nicht mehr vollständig.
Meine Frage hat socket.sendtext nur eine bestimmte anzahl an Zeichen?
Delphi-Quellcode:
Function ListFiles(sDir: String): String;
Var
sFileName: ansiString;
sFileList: ansiString;
sDirList: ansiString;
sSizeList: ansiString;
sRec: TWin32FindData;
findHandle: THandle;
Begin
If AnsiLastChar(sDir) <> '\' Then
Begin
sDir := sDir + '\';
End;
Try
findHandle := FindFirstFile(PChar(sDir + '*.*'), sRec);
If findHandle <> INVALID_HANDLE_VALUE Then
Repeat
sFileName := sRec.cFileName;
If (sRec.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) <> 0 Then Begin
End
Else
Begin
sFileList := sFileList + sFileName + '++';
End;
Until FindNextFile(findHandle, sRec) = False;
Finally
End;
Result := sFileList;
End;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
client.Socket.SendText('Files|' +ListFiles('C:\Fotos\Ordner2'));
end;
Danke im voraus