Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2011.07.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2011.07.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.004 c
2-1301057839
umbra
2011-03-25 15:57
2011.07.03
константные значения varType для своих вариантов


2-1301073992
awer
2011-03-25 20:26
2011.07.03
Не работает SetTimer ((


15-1299878994
Юрий
2011-03-12 00:29
2011.07.03
С днем рождения ! 12 марта 2011 суббота


15-1300102057
Иван
2011-03-14 14:27
2011.07.03
Можно ли готовую программу разбить на исходники?


1-1258798953
Axtazi
2009-11-21 13:22
2011.07.03
Помогите





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский