-
прошу извенить меня за неопытность но искал на форуме так и не нашел ответа. я только начал учить делфи. прошу полное описание и желательно пример использования function CopyMoveFiles( const FromList, ToList: KOLString; Move: Boolean ): Boolean;
-
FromList, ToList - имена файлов, разделённые символами ';' или #13 Move - если True, файлы будут перемещены, в противном случае скопированы
-
а именно пример можно
-
CopyMoveFiles( 'C:\FromThat.txt', 'C:\To.txt', True ) - перемещение CopyMoveFiles( 'C:\FromThat.txt', 'C:\To.txt', False ) - копирование
Если нужно копировать-перемещать несколько файлов за раз, организууй цикл или передавай в первом-втором параметре пути к файлам, разделённые символами, которые я указал выше
-
не работает компилируется но выдает ошибку. сложно с этим колом разобратся блин. можешь дать весь код что у тебя в редакторе начиная с uses и до end.
-
какую ошибку?
-
Нету кода, я от руки писал. Лучше ты давай свой проект начиная с uses и до end.
-
> xz386 © (17.02.09 09:21)
Первый параметр - список файлов с полными путями, разделенный #13 или, если определен символ OLD_COMPAT, ';'. Второй параметр некорректно назван ToList, функции требуется не список файлов а конечная директория. Пример. Копирование всех mp3 из рабочей директории в общую папку музыки: program CopyMoveFiles_test;
uses
Windows, KOL;
var
CommonMusicPath: array [0..MAX_PATH] of Char;
WorkDir: string;
FFD: TFindFileData;
ListFrom: PStrList;
const
CSIDL_FLAG_CREATE = $8000;
CSIDL_COMMON_MUSIC = $0035;
function SHGetFolderPathA(hwndOwner: Cardinal; nFolder: Integer; hToken: Cardinal;
dwFlags: Cardinal; pszPath: PChar): HRESULT; stdcall; external 'shell32.dll';
begin
SHGetFolderPathA(GetDesktopWindow, CSIDL_FLAG_CREATE or CSIDL_COMMON_MUSIC,
0, 0, CommonMusicPath);
if CommonMusicPath[0] = #0 then
exit;
ListFrom := NewStrList;
try
WorkDir := IncludeTrailingPathDelimiter(GetWorkDir);
if Find_First(WorkDir + '*.mp3', FFD) then
repeat
ListFrom.Add(WorkDir + FFD.cFileName);
until not Find_Next(FFD);
if ListFrom.Count > 0 then
CopyMoveFiles(ListFrom.Join(#13), string(CommonMusicPath), False);
finally
ListFrom.Free;
end;
end.
-
вот
{ KOL MCK } // Do not remove this line! {$DEFINE KOL_MCK} unit Unit1;
interface
{$IFDEF KOL_MCK} uses Windows, Messages, KOL {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckObjs, Graphics, mckCtrls {$ENDIF (place your units here->)}; {$ELSE} {$I uses.inc} Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; {$ENDIF}
type {$IFDEF KOL_MCK} {$I MCKfakeClasses.inc} {$IFDEF KOLCLASSES} {$I Form1class.inc} {$ELSE OBJECTS} PForm1 = ^TForm1; {$ENDIF CLASSES/OBJECTS} {$IFDEF KOLCLASSES}{$I TForm1.inc}{$ELSE} TForm1 = object(TObj) {$ENDIF} Form: PControl; {$ELSE not_KOL_MCK} TForm1 = class(TForm) {$ENDIF KOL_MCK} KOLProject1: TKOLProject; KOLForm1: TKOLForm; Button1: TKOLButton; procedure Button1Click(Sender: PObj); private { Private declarations } public { Public declarations } end;
var Form1 {$IFDEF KOL_MCK} : PForm1 {$ELSE} : TForm1 {$ENDIF} ;
{$IFDEF KOL_MCK} procedure NewForm1( var Result: PForm1; AParent: PControl ); {$ENDIF}
implementation
{$IFNDEF KOL_MCK} {$R *.DFM} {$ENDIF}
{$IFDEF KOL_MCK} {$I Unit1_1.inc} {$ENDIF} function CopyMoveFiles( const FromList, ToList: KOLString; Move: Boolean ): Boolean; begin CopyMoveFiles( 'C:\1.txt', 'C:\test\1.txt', True ); end; procedure TForm1.Button1Click(Sender: PObj); begin CopyMoveFiles( 'C:\1.txt', 'C:\test\1.txt', True ); end;
end.
-
что не так может я все через 5 точку делаю? или кол не так использую?
-
Вот это вот убери
function CopyMoveFiles( const FromList, ToList: KOLString; Move: Boolean ): Boolean; begin CopyMoveFiles( 'C:\1.txt', 'C:\test\1.txt', True ); end;
остальное оставь
-
а вообще, надо текст ошибки цитировать
-
вот круто работает.... так что тут в кол просто функцию использовать надо сразу и не надо её прописывать? просто я в асм писал в начале функцию потом присваивал ей пораметр а тут сразу параметром пишешью так или нет?
пс Спасибо тебе за помощь Дмитрий.
-
Тут нас двое :)
Нет, не надо прописывать, это не асм, это делфи :)
|