mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
79 lines
1.7 KiB
ObjectPascal
79 lines
1.7 KiB
ObjectPascal
library Sample;
|
|
|
|
{$mode objfpc}{$H+}
|
|
{$include calling.inc}
|
|
|
|
uses
|
|
{$IFDEF MSWINDOWS}
|
|
Windows,
|
|
{$ENDIF}
|
|
{$IFDEF unix}
|
|
baseunix,
|
|
{$ENDIF}
|
|
Classes,
|
|
WfxPlugin,
|
|
SysUtils;
|
|
|
|
{$E wfx}
|
|
{$R *.res}
|
|
|
|
var
|
|
gPluginNr: integer;
|
|
gProgressProc: tProgressProc;
|
|
gLogProc: tLogProc;
|
|
gRequestProc: tRequestProc;
|
|
|
|
function FsInit(PluginNr:integer;pProgressProc:tProgressProc;pLogProc:tLogProc;
|
|
pRequestProc:tRequestProc):integer; dcpcall;
|
|
begin
|
|
gPluginNr:= PluginNr;
|
|
gProgressProc:= pProgressProc;
|
|
gLogProc:= pLogProc;
|
|
gRequestProc:= pRequestProc;
|
|
Result:= 0;
|
|
end;
|
|
|
|
function FsFindFirst(path :pchar;var FindData:tWIN32FINDDATA):thandle; dcpcall;
|
|
begin
|
|
FillChar(FindData, SizeOf(FindData), 0);
|
|
FindData.dwFileAttributes :=0; //0 - обычный файл без каких-либо атрибутов
|
|
StrPCopy(FindData.cFileName,'Hello, world.txt'); //имя файла
|
|
Result:= 1985; //функция нормально отработала}
|
|
end;
|
|
|
|
function FsFindNext(Hdl:thandle;var FindData:tWIN32FINDDATA): BOOL; dcpcall;
|
|
begin
|
|
// gRequestProc(gPluginNr, RT_URL, nil, nil, nil, 0);
|
|
Result:= False;
|
|
end;
|
|
|
|
function FsFindClose(Hdl:thandle):integer; dcpcall;
|
|
begin
|
|
Result:= 0;
|
|
end;
|
|
|
|
function FsRenMovFile(OldName,NewName:pchar;Move,OverWrite:bool;
|
|
RemoteInfo:pRemoteInfo):integer; dcpcall;
|
|
begin
|
|
gRequestProc(gPluginNr, RT_MsgOK, OldName, NewName, nil, 0);
|
|
Result:= FS_FILE_OK;
|
|
end;
|
|
|
|
function FsExecuteFile(MainWin:thandle;RemoteName,Verb:pchar):integer; dcpcall;
|
|
begin
|
|
gRequestProc(gPluginNr, RT_MsgOK, RemoteName, Verb, nil, 0);
|
|
Result:= FS_EXEC_OK;
|
|
end;
|
|
|
|
exports
|
|
// mandatory
|
|
FsInit,
|
|
FsFindFirst,
|
|
FsFindNext,
|
|
FsFindClose,
|
|
// optional
|
|
FsRenMovFile,
|
|
FsExecuteFile;
|
|
|
|
begin
|
|
end.
|