|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Копирование из из папки текущего пользователя
Здравствуйте уважаемые форумчане! Изучаю Делфи чуть более месяца, одной из поставленых задач является копирование информации из директории текущего пользователя. копировать папку решил этим методом, он рабочий.
Код:
application.ProcessMessages(); FillChar(Buffer, sizeof(Buffer), #0); p := @buffer; StrECopy(p, PChar(FromFolder)); //îòêóäà FillChar(Fo, sizeof(Fo), #0); Fo.Wnd := Application.Handle; Fo.wFunc := FO_COPY; Fo.pFrom := @Buffer; Fo.pTo := PChar(ToFolder); //êóäà Fo.fFlags := 0; if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then ShowMessage('File copy process cancelled') |
#2
|
||||
|
||||
Код:
function GetSpecialFolderLocation(Folder: Integer): String; var ppidl: PItemIDList; begin Result:=''; ppidl:=nil; try if SHGetSpecialFolderLocation(0, Folder, ppidl)=S_OK then begin SetLength(Result, MAX_PATH); if SHGetPathFromIDList(ppidl, PChar(Result)) then Result:=IncludeTrailingPathDelimiter(PChar(Result)) else Result:=''; end; finally if ppidl<>nil then CoTaskMemFree(ppidl); end; end; Код:
GetSpecialFolderLocation(CSIDL_APPDATA); Пишу программы за еду. __________________ |
#3
|
|||
|
|||
Вопросов у меня много постараюсь все сократить))Я видел нечто подобное одно даже есть в коде и компилируется. вот такое:
Код:
function GetSpecialPath(CSIDL: word): string; var s: string; begin SetLength(s, MAX_PATH); if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true) then s := ''; result := PChar(s); end; Код:
if FileExists(GetSpecialPath('\AppData\Local')) |
#4
|
||||
|
||||
Пишу программы за еду. __________________ |