Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.03;
Скачать: CL | DM;

Вниз

фукция копирования   Найти похожие ветки 

 
xz386 ©   (2009-02-17 09:21) [0]

прошу извенить меня за неопытность но искал на форуме так и не нашел ответа. я только начал учить делфи. прошу полное описание и желательно пример использования function CopyMoveFiles( const FromList, ToList: KOLString; Move: Boolean ): Boolean;


 
Дмитрий   (2009-02-17 12:20) [1]

FromList, ToList - имена файлов, разделённые символами ";" или #13
Move - если True, файлы будут перемещены, в противном случае скопированы


 
xz386 ©   (2009-02-17 13:30) [2]

а именно пример можно


 
Дмитрий   (2009-02-17 14:59) [3]

CopyMoveFiles( "C:\FromThat.txt", "C:\To.txt", True ) - перемещение
CopyMoveFiles( "C:\FromThat.txt", "C:\To.txt", False ) - копирование

Если нужно копировать-перемещать несколько файлов за раз, организууй цикл или передавай в первом-втором параметре пути к файлам, разделённые символами, которые я указал выше


 
xz386 ©   (2009-02-18 09:05) [4]

не работает компилируется но выдает ошибку. сложно с этим колом разобратся блин. можешь дать весь код что у тебя в редакторе начиная с uses и до end.


 
D[u]fa   (2009-02-18 09:36) [5]

какую ошибку?


 
Дмитрий   (2009-02-18 10:41) [6]

Нету кода, я от руки писал. Лучше ты давай свой проект начиная с uses и до end.


 
Дмитрий К ©   (2009-02-18 11:22) [7]


> 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, {SHGFP_TYPE_CURRENT}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.


 
xz386 ©   (2009-02-18 14:02) [8]

вот

{ 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.


 
xz386 ©   (2009-02-18 14:04) [9]

что не так может я все через 5 точку делаю? или кол не так использую?


 
Дмитрий   (2009-02-18 17:11) [10]

Вот это вот убери

function CopyMoveFiles( const FromList, ToList: KOLString; Move: Boolean ): Boolean;
begin
CopyMoveFiles( "C:\1.txt", "C:\test\1.txt", True );
end;

остальное оставь


 
Дмитрий   (2009-02-18 17:12) [11]

а вообще, надо текст ошибки цитировать


 
xz386 ©   (2009-02-18 18:41) [12]

вот круто работает.... так что тут в кол просто функцию использовать надо сразу и не надо её прописывать? просто я в асм писал в начале функцию потом присваивал ей пораметр а тут сразу параметром пишешью так или нет?

пс Спасибо тебе за помощь Дмитрий.


 
Дмитрий   (2009-02-19 09:42) [13]

Тут нас двое :)

Нет, не надо прописывать, это не асм, это делфи :)



Страницы: 1 вся ветка

Текущий архив: 2011.07.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
2-1301399479
young_dev
2011-03-29 15:51
2011.07.03
вопрос про assert ы


15-1300486988
Иксик
2011-03-19 01:23
2011.07.03
Вот когда надо написать Карлосу Гомесу, откуда знать где имя,


11-1233338364
Сидор
2009-01-30 20:59
2011.07.03
PaintBox и Button: проблема размещения


2-1301080427
DenKa
2011-03-25 22:13
2011.07.03
Вписать картинку в рамку с закругленными краями


1-1258894985
GreyWolf
2009-11-22 16:03
2011.07.03
Подскажите где взять Static Separator для Dialog Box