一個Delphi文件轉換程序,把EXE格式的文件轉換為SWF格式,當然是動畫格式的EXE文件,不是每一個都能轉換。其它代碼,會Delphi的應該知道怎麼加吧,這是核心的類文件代碼,注釋豐富,僅供參考。
01
unit
Unit1;
02
interface
03
uses
04
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
05
Dialogs, StdCtrls, ExtCtrls;
06
type
07
TForm1 =
class
(TForm)
08
Label1: TLabel;
09
Edit1: TEdit;
10
Button1: TButton;
11
Button2: TButton;
12
Bevel1: TBevel;
13
Button3: TButton;
14
OpenDialog1: TOpenDialog;
15
procedure
Button1Click(Sender: TObject);
16
Button2Click(Sender: TObject);
17
Button3Click(Sender: TObject);
18
private
19
{ Private declarations }
20
public
21
{ Public declarations }
22
end
;
23
24
var
25
Form1: TForm1;
26
implementation
27
{$R *.dfm}
28
TForm1
.
29
begin
30
OpenDialog1
Title :=
'選擇EXE文件'
31
Filter :=
'EXE文件|*.exe'
32
if
Execute
then
33
Edit1
Text := OpenDialog1
FileName;
34
35
36
37
swfFile: TFileStream;
// 用於存儲SWf文件內容並保存
38
exeFile: TFileStream;
// 用於讀取EXE文件
39
swfFileName, exeFileName:
String
40
nFileSize:
Integer
// 用於存儲SWF文件大小
41
42
// 將Edit1中的路徑賦給exeFileName變量
43
exeFileName := Edit1
Text;
44
// 修改EXE路徑中的擴展名,以獲取SWF文件的存儲路徑。
45
swfFileName := ChangeFileExt(exeFileName,
'.swf'
);
46
47
// 檢查指定的EXE文件是否存在,如果不存在則退出過程,不做任何處理。
48
not
FileExists(exeFileName)
49
50
ShowMessage(
'文件未找到!'
51
Exit;
52
53
// 分別創建swfFile及exeFile對象
54
// 創建空的swf文件並賦於寫入的權限(fmOpenWrite)
55
swfFile:=TFileStream
Create(swfFileName, fmCreate
or
fmOpenWrite);
56
// 打開EXE文件,並賦於讀取的權限(fmOpenRead)
57
exeFile:=TFileStream
Create(exeFileName, fmOpenRead);
58
// 從EXE文件開頭搜索
59
// 將文件指針移到存儲SWF文件大小的地方
60
// exeFile.Size用於獲取整個EXE文件的大小,減去4個字節正好是SWF文件大小儲存的地方
61
exeFile
Seek(exeFile
Size -
4
, soFromBeginning);
62
// 讀出SWF文件的大小
63
Read(nFileSize,
64
// 將文件指針移動到SWF文件開始處
65
Size - (nFileSize +
8
), soFromBeginning);
66
// 將SWF文件所有內容復制到swfFile對象中去
67
// 此時SWf文件內容已保存在硬盤中了
68
swfFile
CopyFrom(exeFile, nFileSize);
69
// 釋放資源
70
Free;
71
72
'SWF文件已成功還原!'
73
74
75
76
Close;
77
78
本例效果圖:代碼文件:unit Unit1;i
十一、Delphi2009終於提供了資源編輯器,簡單且直觀
DELPHI 調用系統 ADO 配置窗體 提高軟件易用性,d
本例效果圖: 代碼文件:unit Unit1;inte
本例效果圖: 代碼文件:unit Unit1;inter