程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> EXE轉SWF Delphi代碼

EXE轉SWF Delphi代碼

編輯:Delphi

一個Delphi文件轉換程序,把EXE格式的文件轉換為SWF格式,當然是動畫格式的EXE文件,不是每一個都能轉換。其它代碼,會Delphi的應該知道怎麼加吧,這是核心的類文件代碼,注釋豐富,僅供參考。

vIEw source print? 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     procedure Button2Click(Sender: TObject); 17     procedure 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 procedure TForm1.Button1Click(Sender: TObject); 29 begin 30   OpenDialog1.Title := '選擇EXE文件'; 31   OpenDialog1.Filter := 'EXE文件|*.exe'; 32   if OpenDialog1.Execute then 33     Edit1.Text :=  OpenDialog1.FileName; 34 end; 35 procedure TForm1.Button2Click(Sender: TObject); 36 var 37   swfFile: TFileStream; // 用於存儲SWf文件內容並保存 38   exeFile: TFileStream; // 用於讀取EXE文件 39   swfFileName, exeFileName: String; 40   nFileSize: Integer// 用於存儲SWF文件大小 41 begin 42   // 將Edit1中的路徑賦給exeFileName變量 43   exeFileName := Edit1.Text; 44   // 修改EXE路徑中的擴展名,以獲取SWF文件的存儲路徑。 45   swfFileName := ChangeFileExt(exeFileName, '.swf'); 46   47   // 檢查指定的EXE文件是否存在,如果不存在則退出過程,不做任何處理。 48   if not FileExists(exeFileName) then 49   begin 50     ShowMessage('文件未找到!'); 51     Exit; 52   end; 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   exeFile.Read(nFileSize, 4); 64   // 將文件指針移動到SWF文件開始處 65   exeFile.Seek(exeFile.Size - (nFileSize + 8), soFromBeginning); 66   // 將SWF文件所有內容復制到swfFile對象中去 67   // 此時SWf文件內容已保存在硬盤中了 68   swfFile.CopyFrom(exeFile, nFileSize); 69   // 釋放資源 70   swfFile.Free; 71   exeFile.Free; 72   ShowMessage('SWF文件已成功還原!'); 73 end; 74 procedure TForm1.Button3Click(Sender: TObject); 75 begin 76   Close; 77 end; 78 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved