菜鸟级问题,快来拿分!(50分)

扳手

Unregistered / Unconfirmed
GUEST, unregistred user!
现在想用delphi做一个安装程序,主要工作也就是将光盘上的文件复制到硬盘。
可是有几个问题亟待解决:
1。delphi中怎么进行文件的拷贝?(菜!真菜!)
2。拷贝过程中会不会有系统的文件复制进度?怎么截取?
3。拷贝完成后要配置环境变量,怎么去做?

大家帮帮忙,有源码的最好列出源码,或者e-mail给我一份(niwei77@163.com)。再次感谢!
 
function CopyFile(SourceName,TargetName:String):Boolean;
var
F:TShFileOpStruct;
begin
F.wnd:=InputForm.Handle;
F.wFunc:=FO_COPY; {操作方式}
F.pFrom:=PChar(SourceName+#0#0);
F.pTo:=PChar(TargetName+#0#0);
F.fFlags:=FOF_ALLOWUNDO OR FOF_RENAMEONCOLLISION;
result:= ShFileOperation(F)=0;
end;
 
楼上的朋友:TShFileOpStruct 是什么东东?编译过不去,也没有找到相关的帮助
请点解。
 
同意楼上的拷贝文件
进度条用进程方便一点
进程中处理文件拷贝和主界面的进度条显示
这样就没有死机(主界面不能响应事件)的感觉.
 
切:
uses
shellapi;
 
各位兄弟,给个源码行不行?不要光说嘛。
svw0506:TShFileOpStruct 是什么东东?编译过不去,也没有找到相关的帮助
请点解。
 
最好使用DELPHI附带的安装制作软件,Installshield,再按照提示即可做出来
既专业,又简单的安装程序.
 
我是用delphi做别人开发的程序(不是delphi做的)的安装程序。
 
TShFileOpStruct在win2k下可能会出一些问题,建议用Installshield来做安装程序
具体可以看看刘艺的一本书
 
各位兄弟,我现在急需用delphi自己做一个安装程序,不想用现有的打包工具打包,
请大家关注!
 
查查API函数对文件的操作
 
copyfile( 源文件路径名称:pchar;目标文件路径名称:pchar;longbealon)
我做了个测试:用opendialog定位文件,然后用directorylistbox定位目标文件夹,
想用源文件名作为目标文件名,可是opendialog.filename返回的是路径+名称;
我无法只得到源文件的名称,也就是说无法用directorylistbox.directory+源文件名称
得到目标文件路径名称,怎么办?我怎么才能只得到opendialog返回的文件名???
请继续。。。
 
ExtractFileName(OpenDialog1.FileName);
 
TShFileOpStruct是个API

uses ShellApi; 就可以了
 
一个知名的安装程序(inno setup)源代码:
http://www.jrsoftware.org/isdl.php
 
svw0506:非常感谢,搞定!

顺便还有个问题请教,如何得到当前光盘驱动器的盘符?
还有就是我的第三个问题。
 
大家快来看,最后的问题,答完结帖!
 
不知道啊
 
Unit
Windows.Pas

函数原形:
GetDriveType(lpRootPathName: PChar): UINT;

例子:
procedure TForm1.DriveComboBox1Change(Sender: TObject);
var
DrivePath: array[0..3] of char; // holds the root directory to query
begin
{assemble the name of the root path of the drive to query}
StrPCopy(DrivePath, DriveComboBox1.Drive);
StrCat(DrivePath, ':/');

{retrieve the drive type and display it}
case GetDriveType(DrivePath) of
DRIVE_UNKNOWN: Panel1.Caption := 'No Type Information';

DRIVE_NO_ROOT_DIR: Label1.Caption := 'Root Directory does not exist';
DRIVE_REMOVABLE: Panel1.Caption := 'Removable';
DRIVE_FIXED: Panel1.Caption := 'Fixed';
DRIVE_REMOTE: Panel1.Caption := 'Remote';
DRIVE_CDROM: Panel1.Caption := 'CDROM';
DRIVE_RAMDISK: Panel1.Caption := 'RamDisk';
end;
end;

WINAPI 函数,是从API帮助拷贝过来的,应该对你有用的!

 
前段時間.我針對公司圖形介面安裝的需要,自己做了一個安裝程序,基本能解決你的問題,
若學要請 Email: Rain_Alinn@163.net
 
顶部