想问一下,为什么这样就不行!时拷贝文件的代码!
这是下面代码中两个变量的赋值语句,是写在另外一个procedure里的
localads:=ADOQuery1.FieldByName('local1').AsString;
ftpads:=ADOQuery1.FieldByName('ftp1').AsString;
copyads:=ADOQuery1.FieldByName('copy1').AsString;
copy(localads,ftpads,copyads);//调用下面的procedure
是不是类型没转换好!
procedure TForm1.copygames(localads,ftpads,copyads:string);
var
F:TShFileOpStruct;
begin
if FileExists(localads)
then ShellExecute(handle,'',pchar(localads),'',nil,SW_Show)
else begin
if MessageBox(Handle,'确定要复制吗?','提示',MB_OKCANCEL+MB_IconInformation+MB_SystemModal)=IDOK then
begin
F.wnd:=Handle;
F.wFunc:=FO_COPY;
F.pFrom:=pchar(ftpads);//就这两行代码,ftpads,copyads都是string类型,他们的赋值语句在
F.pTo:=pchar(copyads);//还有这行,如果换成下面的就行!
// F.pFrom:='e:\1';//郁闷!这样写就行
// F.pTo:='C:\';
F.fFlags:=FOF_FilesOnly;
if ShFileOperation(F)<>0
then MessageBox(Handle,'文件拷贝失败!请再试一次,或和管理员联系!','提示',MB_OK+MB_IconInformation)
else
MessageBox(Handle,'文件拷贝成功!','提示',MB_OK+MB_IconInformation);
ShellExecute(handle,'',pchar(localads),'',nil,SW_Show);//拷贝完毕,执行游戏
end;
end;
end;
这是下面代码中两个变量的赋值语句,是写在另外一个procedure里的
localads:=ADOQuery1.FieldByName('local1').AsString;
ftpads:=ADOQuery1.FieldByName('ftp1').AsString;
copyads:=ADOQuery1.FieldByName('copy1').AsString;
copy(localads,ftpads,copyads);//调用下面的procedure
是不是类型没转换好!
procedure TForm1.copygames(localads,ftpads,copyads:string);
var
F:TShFileOpStruct;
begin
if FileExists(localads)
then ShellExecute(handle,'',pchar(localads),'',nil,SW_Show)
else begin
if MessageBox(Handle,'确定要复制吗?','提示',MB_OKCANCEL+MB_IconInformation+MB_SystemModal)=IDOK then
begin
F.wnd:=Handle;
F.wFunc:=FO_COPY;
F.pFrom:=pchar(ftpads);//就这两行代码,ftpads,copyads都是string类型,他们的赋值语句在
F.pTo:=pchar(copyads);//还有这行,如果换成下面的就行!
// F.pFrom:='e:\1';//郁闷!这样写就行
// F.pTo:='C:\';
F.fFlags:=FOF_FilesOnly;
if ShFileOperation(F)<>0
then MessageBox(Handle,'文件拷贝失败!请再试一次,或和管理员联系!','提示',MB_OK+MB_IconInformation)
else
MessageBox(Handle,'文件拷贝成功!','提示',MB_OK+MB_IconInformation);
ShellExecute(handle,'',pchar(localads),'',nil,SW_Show);//拷贝完毕,执行游戏
end;
end;
end;
解决方案 »
- delphi snmp 网管软件
- 帮我看下这个function 是干什么的
- 跪求一个在SQL2000中存储图片地址和DELPHI读取图片的例子!
- 用delphi写记录文件时,如何判断当前用户的权限不能进行写操作?
- 我想能够查询产品任意时间段期初数、本期收入、本期发出、结余,数据库应如何设计才合理?
- 如何从当日日期中取得YYYYMMDD格式的字符串?
- 用DELPHI连接数据库是不是一定要用BDE?
- 关于invalid blob length的问题
- 为什么在DLL中使用ADO总报错?
- 如何获取一个文件的文件名?
- 无法定位程序输入点abc于动态联结库smspdu.dll上,什么意思?在线请教!!
- 帮我解释一下,函数可以定义和调用吗?
F.pFrom:=pchar(ftpads);
F.pTo:=pchar(copyads);
写成
F.pFrom:='e:\1';
F.pTo:='C:\';
就行!!不知道怎么解决!!希望大家帮帮忙!
FileCopy(Pchar('e:\1\aa.txt'),Pchar('C:\aa.txt'),False); //带文件的完整路径
改为F.pFrom:=pchar(trim(ftpads));
F.pTo:=pchar(trim(copyads));
吗?
showmessage('copyads=' + copyads);你先查查这两个值是否正确
如果你在数据库中的字符串用的不是Var Characters而是Characters类型就需要Trim去掉多余的空格