хочу копировать файлы таким способом. Но не хочет копировать файлы с кириллицей, что делать? Windows и Lazarus у меня не на русском языке.
- Код: Выделить всё
src := SysToUTF8(ListView1.Items[i].SubItems.Strings[2]);
- Код: Выделить всё
procedure TMainForm.CopyBitBtnClick(Sender: TObject);
var
i: Word;
src, dest: String;
S: TFileStream = nil;
T: TFileStream = nil;
begin
if ListView1.Items.Count > 0 then
begin
for i := 0 to ListView1.Items.Count - 1 do
begin
if ListView1.Items[i].Checked then
begin
try
src := ListView1.Items[i].SubItems.Strings[2];
dest := StringReplace(src, src[1], AnsiUpperCase(DriveLetterNeto[1]), [rfIgnoreCase]);
S := TFileStream.Create(src, fmOpenRead);
try
T := TFileStream.Create(dest, fmOpenWrite or fmCreate);
T.CopyFrom(S, S.Size);
FileSetDate(T.Handle, FileGetDate(S.Handle));
except
on E: Exception do MessageDlg(E.ClassName + sLineBreak + E.Message, mtError, [mbOk], 0);
end;
finally
if T <> nil then T.Free;
S.Free;
end;
end;
end;
end;
end;