全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4621
推到 Plurk!
推到 Facebook!

【請問可以將htm包在exe裡嗎???】

答題得分者是:pceyes
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-12 12:54:10 IP:220.130.xxx.xxx 訂閱
一般而言
htm都是連到網頁中的
所以程式碼會帶一串網址
可是如果網頁是自己寫的
是一個檔案
可是又不想要拷貝檔案給人時
連htm的檔案一起拷貝過去
有辦法讓htm的檔案內嵌在exe中嗎


備註(使用webbrowswer來開網頁)
編輯記錄
andyto202 重新編輯於 2008-12-12 12:55:28, 註解 無‧
P.D.
版主


發表:571
回覆:3880
積分:3666
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-12 16:02:53 IP:61.67.xxx.xxx 未訂閱
應該可以用 resource(res)方式來包, 你可以搜尋這個關鍵字, 我手上並沒有範例
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-12-12 16:44:23 IP:220.141.xxx.xxx 訂閱
參考 万一的 Delphi 博客
关于资源文件
http://www.cnblogs.com/del/category/122614.html
------
努力會更接近成功
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-12-12 19:04:34 IP:60.250.xxx.xxx 訂閱
謝謝兩位前輩指導
不過乍看之下
好像沒有看到有關htm檔的資源
我再找找看
謝謝你們喔

pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-12-13 09:42:10 IP:220.141.xxx.xxx 訂閱
TWebBrowser怎么直接显示html语法文档(不经过文件)?
http://delphi.ktop.com.tw/board.php?cid=30&fid=67&tid=35671

...load HTML code directly into a TWebbrowser?
http://www.swissdelphicenter.ch/torry/showcode.php?id=1096


pas
[code delphi]
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSHTML,ActiveX, SHDocVw;


type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
WebBrowser1: TWebBrowser;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}


procedure TextToWebBrowser(ASrc: string; AWebBrowser: TWebBrowser);
var
vv: Variant;
HTMLDocument: IHTMLDocument2;

begin
vv := VarArrayCreate([0,0],varVariant);
vv[0] := ASrc;
HTMLDocument := AWebBrowser.Document as IHTMLDocument2;
HTML(pSafearray(TVarData(vv).VArray));
HTMLDocument.close;
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
TextToWebBrowser(memo1.Lines.text,WebBrowser1);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
webbrowser1.Navigate('about:blank');
end;

end.

[/code]

dfm
[code delphi]
object Form1: TForm1
Left = 209
Top = 71
Width = 544
Height = 391
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 192
Top = 312
Width = 161
Height = 41
Caption = 'Exetue'
TabOrder = 0
Button1Click
end
object Memo1: TMemo
Left = 48
Top = 248
Width = 465
Height = 57
Lines.Strings = (
'Memo1')
TabOrder = 1
end
object WebBrowser1: TWebBrowser
Left = 48
Top = 16
Width = 465
Height = 217
TabOrder = 2
ControlData = {
4C0000000F3000006D1600000000000000000000000000000000000000000000
000000004C000000000000000000000001000000E0D057007335CF11AE690800
2B2E126208000000000000004C0000000114020000000000C000000000000046
8000000000000000000000000000000000000000000000000000000000000000
00000000000000000100000000000000000000000000000000000000}
end
end

[/code]
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-12-13 10:13:23, 註解 無‧
pceyes 重新編輯於 2008-12-15 09:35:26, 註解 無‧
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-12-13 17:13:10 IP:122.116.xxx.xxx 訂閱
pceyes
真的很謝謝您
可是好像看不出來那裡可以將網址放進去的啊


最近比較忙
有空我再試試看喔
不知道
pceyes兄有沒有試過一個網頁包在exe裡
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-12-14 09:42:02 IP:220.141.xxx.xxx 訂閱


===================引 用 andyto202 文 章===================


可是好像看不出來那裡可以將網址放進去的啊
你要網址,那就不用問了呀?webbrowser1.navegate('你要放的網址');
最近比較忙

有空我再試試看喔
看來我比你有空。
不知道

pceyes兄有沒有試過一個網頁包在exe裡
不知你有沒真的試過我po的程式嗎,在memo內置入完整的html code 按下執行,即會在webbrowser內顯示網頁。
------
努力會更接近成功
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-12-14 23:10:55 IP:122.116.xxx.xxx 訂閱
您的程式我試了
因為我找不到
SHDocVw_TLB
後來我上網查
用SHDocVw_EWB可以代替
不過當我下了
EWB.inc、EwbAcc.pas、IEConst.pas、SHDocVw_EWB.pas後
要執行時還是出現上列那點
請問要如何解決
我是用delphi 6試的



[Error] SHDocVw_EWB.pas(56): Invalid compiler directive: 'VARPROPSETTER'
[Fatal Error] EwbAcc.pas(43): Could not compile used unit 'IEConst.pas'

如果我將uses中的
SHDocVw_TLB拿掉可以執行
但是貼上html code都沒反應
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-12-15 09:41:02 IP:122.118.xxx.xxx 訂閱
uses  
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSHTML,ActiveX, SHDocVw;
你說的shdocvw_tlb是我在測試時不小心加上的,我在公司改用shdocvw測也是可以的,
我是用d7測的,用你給的分析程式(WebAutoLogin,ephrain在本站也有註冊,是女士,應是用BCB寫的),將取得的html放在memo中確實可以使用。
如果真的不行,回家我再裝d6測看看。
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-12-15 09:45:18, 註解 無‧
pceyes 重新編輯於 2008-12-15 09:47:06, 註解 無‧
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-12-15 18:24:47 IP:125.231.xxx.xxx 訂閱

===================引 用 pceyes 文 章===================
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSHTML,ActiveX, SHDocVw;
你說的shdocvw_tlb是我在測試時不小心加上的,我在公司改用shdocvw測也是可以的,
我是用d7測的,用你給的分析程式(WebAutoLogin,ephrain在本站也有註冊,是女士,應是用BCB寫的),將取得的html放在memo中確實可以使用。
如果真的不行,回家我再裝d6測看看。

我是用emeditor打開那個htm檔
再把它貼進去memo吧
(請問馬上貼馬上有畫面嗎
我等了三十秒也沒有畫面耶)
奇怪
怎麼不行


抱歉
我剛才又重試了一下
我只有貼pas
dfm好像沒差
結果成功了耶
雖然不是res產生的
不過確實是成功了
感謝您喔
不過這樣的寫法有辦法寫死在程式中嗎
萬一程式中有很多htm呢
難道要好幾個memo嗎

編輯記錄
andyto202 重新編輯於 2008-12-15 18:37:56, 註解 無‧
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2008-12-15 22:15:41 IP:220.141.xxx.xxx 訂閱
如果僅是測試的話,將之前的程式碼,加上以下的碼即可達到你的需求,進一步,你應該將它改成TStringlist的容器,來承載,以取代memo(設為隠藏)的方式來當作容器。
最正規的做法是用之前建議的Res另外編譯成Dll,也可以將一個Dll內含一個html的方式,以便管理替換。

pas

[code delphi]
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
myarr : array of string;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
setlength(myarr,3); // 範例是三個html code
// 注意 動態陣列 由 0 開始
// #13 #10 是以Memo來表示
// 如果你要改成Stringlist只要用 #13即可
myarr[0] := '<html>' #13 #10
'<head>' #13 #10
'<!-- This file is generated by WebAutoLogin 1.1 -->' #13 #10
'</head>' #13 #10
'<body ="document.formLogin.submit();">' #13 #10
'<input type="hidden" name="Email" value="MyEmail02">' #13 #10
'<input type="hidden" name="Passwd" value="MyPassword02">' #13 #10
'</form>' #13 #10
'</body>' #13 #10
'</html>';
myarr[2] := '<html>' #13 #10
'<head>' #13 #10
'<!-- 如果你需要的話,就把memo及ListBox都改成Stringlist -->' #13 #10
'</head>' #13 #10
'<body >' #13 #10
'<input type="hidden" name="Email" value="MyEmail03">' #13 #10
'<input type="hidden" name="Passwd" value="MyPassword03">' #13 #10
'</form>' #13 #10
'</body>' #13 #10
'</html>';
end;

// 選按一個 item , memo就會出現對照的html code
procedure TForm1.ListBox1Click(Sender: TObject);
begin
memo1.lines.Text := myarr[listbox1.ItemIndex];
end;

end.

[/code]
dfm
[code delphi]
object Form1: TForm1
Left = 192
Top = 107
Width = 544
Height = 375
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Memo1: TMemo
Left = 160
Top = 32
Width = 321
Height = 281
ImeName = '中文 (繁體) - 倉頡'
Lines.Strings = (
'Memo1')
TabOrder = 0
end
object ListBox1: TListBox
Left = 24
Top = 32
Width = 121
Height = 281
ImeName = '中文 (繁體) - 倉頡'
ItemHeight = 13
Items.Strings = (
'Email01'
'Email02'
'Email03')
TabOrder = 1
ListBox1Click
end
end

[/code]
------
努力會更接近成功
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#12 引用回覆 回覆 發表時間:2008-12-16 08:51:14 IP:125.231.xxx.xxx 訂閱
[code delphi]
unit htmlogin;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSHTML,ActiveX, SHDocVw;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
WebBrowser1: TWebBrowser;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
myarr : array of string;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TextToWebBrowser(ASrc: string; AWebBrowser: TWebBrowser);
var
vv: Variant;
HTMLDocument: IHTMLDocument2;

begin
vv := VarArrayCreate([0,0],varVariant);
vv[0] := ASrc;
HTMLDocument := AWebBrowser.Document as IHTMLDocument2;
HTML(pSafearray(TVarData(vv).VArray));
HTMLDocument.close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TextToWebBrowser(memo1.Lines.text,WebBrowser1);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
webbrowser1.Navigate('about:blank');
setlength(myarr,2);
myarr[0]:='<html>' #13 #10
'<head>' #13 #10
'<!-- This file is generated by WebAutoLogin 1.1 -->' #13 #10
'</head>' #13 #10
'<body ="document.formLogin.submit();">' #13 #10
'<form name="formLogin" method="post" action="http://ddd">' #13 #10
'<input type="hidden" name="sid" value="sZOUUI">' #13 #10
'<input type="hidden" name="formhash" value="87b470f2">' #13 #10
'<input type="hidden" name="cookietime" value="2592000">' #13 #10
'<input type="hidden" name="loginfield" value="username">' #13 #10
'<input type="hidden" name="username" value="aaa">' #13 #10
'<input type="hidden" name="password" value="bbb">' #13 #10
'<input type="hidden" name="userlogin" value="登錄">' #13 #10
'</form>' #13 #10
'</body>' #13 #10
'</html>' #13 #10

end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
memo1.lines.Text := myarr[listbox1.ItemIndex];
end;
end.
[/code]
結果要執行時顯示

[Error] htmlogin.pas(70): Left side cannot be assigned to
[Error] htmlogin.pas(89): Expression expected but 'END' found
[Fatal Error] htmloginp.dpr(5): Could not compile used unit 'htmlogin.pas'
編輯記錄
andyto202 重新編輯於 2008-12-16 08:55:18, 註解 無‧
andyto202 重新編輯於 2008-12-16 12:47:08, 註解 無‧
andyto202 重新編輯於 2008-12-16 12:48:05, 註解 無‧
pcslxl
一般會員


發表:2
回覆:6
積分:1
註冊:2005-11-08

發送簡訊給我
#13 引用回覆 回覆 發表時間:2008-12-16 14:59:09 IP:203.86.xxx.xxx 訂閱
用 resource(res)方式來包, 
as:
{$R Wdate.res}


var
rs : TResourceStream;
vStr : string;
begin
inherited;
vStr:=ExtractFilePath(Paramstr(0)) 'xx.htm';
if not FileExists('xx.htm') then
begin
rs := TResourceStream.Create(Hinstance,'wd','Wdate');
rs.SaveToFile('xx.htm');
rs.Free;
end ;
end

去找一下资源文件打包的方法就可以了。
------
pcsl

┣━┒    ┣—┒ 
┟━┃ ┍╄┓ ┟━│ ╃━ 
┝—┃ ┣╈┤ ┣━┃ / ╈ 
┗━┘ ┗┸┛ └━┛/┃┻-..
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#14 引用回覆 回覆 發表時間:2008-12-16 16:47:56 IP:220.141.xxx.xxx 訂閱
unit htmlogin;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSHTML,ActiveX, SHDocVw;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
WebBrowser1: TWebBrowser;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
myarr : array of string;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TextToWebBrowser(ASrc: string; AWebBrowser: TWebBrowser);
var
vv: Variant;
HTMLDocument: IHTMLDocument2;

begin
vv := VarArrayCreate([0,0],varVariant);
vv[0] := ASrc;
HTMLDocument := AWebBrowser.Document as IHTMLDocument2;
HTML(pSafearray(TVarData(vv).VArray));
HTMLDocument.close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TextToWebBrowser(memo1.Lines.text,WebBrowser1);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
webbrowser1.Navigate('about:blank');
setlength(myarr,2);
myarr[0]:='<html>' #13 #10
'<head>' #13 #10
'<!-- This file is generated by WebAutoLogin 1.1 -->' #13 #10
'</head>' #13 #10
'<body ="forbiddendocument.formLogin.submit();">' #13 #10
'<form name="formLogin" method="post" action="http://ddd">' #13 #10
'<input type="hidden" name="sid" value="sZOUUI">' #13 #10
'<input type="hidden" name="formhash" value="87b470f2">' #13 #10
'<input type="hidden" name="cookietime" value="2592000">' #13 #10
'<input type="hidden" name="loginfield" value="username">' #13 #10
'<input type="hidden" name="username" value="aaa">' #13 #10
'<input type="hidden" name="password" value="bbb">' #13 #10
'<input type="hidden" name="userlogin" value="登錄">' #13 #10
'</form>' #13 #10
'</body>' #13 #10
'</html>' #13 #10 // 字串需以 ; 做為結尾 但不能為換行符號

end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
memo1.lines.Text := myarr[listbox1.ItemIndex];
end;
end.
------
努力會更接近成功
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#15 引用回覆 回覆 發表時間:2008-12-16 20:46:28 IP:122.116.xxx.xxx 訂閱

===================引 用 pcslxl 文 章===================
用 resource(res)方式來包,
as:
{$R Wdate.res}


var
rs : TResourceStream;
vStr : string;
begin
inherited;
vStr:=ExtractFilePath(Paramstr(0)) 'xx.htm';
if not FileExists('xx.htm') then
begin
rs := TResourceStream.Create(Hinstance,'wd','Wdate');
rs.SaveToFile('xx.htm');
rs.Free;
end ;
end

去找一下资源文件打包的方法就可以了。


請問是先將上面的用筆記本存在*.rc
再用
brcc32.exe *.rc嗎
我網路上找很久
怎麼都沒有相關的資訊呢
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#16 引用回覆 回覆 發表時間:2008-12-17 06:44:34 IP:220.141.xxx.xxx 訂閱
為了以後別的使用者能依正確標題找到所要的資訊,建議你另外開版:"如何將純文字檔存在Res或Dll檔,且不暫存在硬碟"。
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-12-17 06:55:10, 註解 無‧
pceyes 重新編輯於 2008-12-17 08:32:07, 註解 無‧
pceyes 重新編輯於 2008-12-17 09:29:36, 註解 無‧
pceyes 重新編輯於 2008-12-17 09:43:11, 註解 無‧
pcslxl
一般會員


發表:2
回覆:6
積分:1
註冊:2005-11-08

發送簡訊給我
#17 引用回覆 回覆 發表時間:2008-12-17 09:02:58 IP:203.86.xxx.xxx 訂閱
资源文件的使用步骤为:   
1.编写rc脚本文本
用记事本或其它文本编辑器编写一个扩展名为rc的文件。例如:
mycur cursor move.cur //加入光标
mypic Bitmap Water.BMP //加入位图
mywav WAVE happy.wav //加入声音
myAVI AVI EPOEN.AVI //加入视频
myIco ICON CJT.ICO //加入图标
格式分别为在资源文件中的名称->类型->实际文件名称,例如上面第一行定义一个名为mycur的光标,实际名称为加入光标move.cur.
2.将rc文件编译成res资源文件
将脚本文件和实际文件拷到Brcc32.EXE所在目录,执行DOS命令。格式为:Brcc32 脚本文件(回车),例如有一名为myfirst.rc的脚本文件,则执行 Brcc32 myfirst.rc(回车)即可。如果你是懒人,也可新建一批处理文件,内容只有一行:Brcc32 mufist.rc.(因为Delphi安装后一般会在自动批处理文件中指明搜索路径的。)如果编译成功,则会生成一个结尾为res的文件,这个文件就是我们需要的资源文件。
3.在Delphi单元中加入资源文件
将生成的res资源文件拷贝到你所编程序的路径下,在单元文件{$R *DFM}后加上一句{$R mufirst.res},则将res文件加入去,编译后资 源文件即已包含在可执行文件中了。若你有多个资源文件,也按上法依次加入。

function TForm1.ExtractRes(ResType, ResName, ResNewName: string): boolean;
var
Res: TResourceStream;
begin
try
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
try
Res.SavetoFile(ResNewName);
Result := true;
finally
Res.Free;
end;
except
Result := false;
end;
我就是按上述方法完成 的,祝你好运!
------
pcsl

┣━┒    ┣—┒ 
┟━┃ ┍╄┓ ┟━│ ╃━ 
┝—┃ ┣╈┤ ┣━┃ / ╈ 
┗━┘ ┗┸┛ └━┛/┃┻-..
andyto202
一般會員


發表:10
回覆:29
積分:7
註冊:2006-12-07

發送簡訊給我
#18 引用回覆 回覆 發表時間:2008-12-17 10:20:53 IP:122.116.xxx.xxx 訂閱
我講一下我的操作流程

[code delphi]
unit auto;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
OleCtrls, SHDocVw, StdCtrls, Activex, Menus;

type
TForm1 = class(TForm)
B1: TButton;
WebBrowser1: TWebBrowser;
Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure LoginUrl2(Ur2:String);
public
{ Public declarations }
end;

var
Form1: TForm1;
logon:Boolean;

implementation
var
AppPath:string;
{$R *.DFM}
procedure TForm1.LoginUrl2(Ur2:String);
var docs,edits:OleVariant;
begin
WebBrowser1.Navigate(Ur2);
end;

procedure TForm1.FormCreate(Sender: TObject);

begin
AppPath:=ExtractFilePath(Application.ExeName);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
LoginUrl2(apppath 'abc.htm');
end;

end.
[/code]

1.用記筆本加入 myhtm htm abc.htm 並存成 abc.rc
2.brcc32 abc.rc 並產生了 abc.res
3.在{$R *.DFM}之後加入了{$R abc.res}
請問這樣子後
我要如何將
procedure TForm1.Button1Click(Sender: TObject);
begin
LoginUrl2(apppath 'abc.htm');
end;

這段用res來取代呢
編輯記錄
andyto202 重新編輯於 2008-12-17 10:21:32, 註解 無‧
andyto202 重新編輯於 2008-12-17 10:27:31, 註解 無‧
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#19 引用回覆 回覆 發表時間:2008-12-17 11:49:38 IP:122.118.xxx.xxx 訂閱
andyto202 先生:
流程應該是這樣的:
1. 由res載入文件後(所以要你重新開新版嘛!"如何將純文字檔TEXT含在Res,且取得不暫存在硬碟")
2. 若照
pcslxl 大的做法,是基本做法,要save to file,再重新由硬碟載入HTM執行,這應該不是你要的,只要存到硬碟後,就算刪除,還是可以用軟體抓回來看帳號密碼的 ;另外RES是不能含入全文字檔TEXT的,要以stringtable方式存在的。
3. 應該要以TMemoryStream方式在程式內部取得文字檔。
4. 之前PO給你的TextToWebBrowser(stream.text,WebBrowser1); 應該可以用了(已切合主題了),再將3取得的文字檔填入即可。
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-12-17 11:56:11, 註解 無‧
mytion
一般會員


發表:0
回覆:4
積分:0
註冊:2011-01-05

發送簡訊給我
#20 引用回覆 回覆 發表時間:2011-08-07 17:56:53 IP:222.125.xxx.xxx 訂閱
你也可以試一試將所有的網頁做成資源dll,然後使用res://
系統時間:2017-10-20 7:51:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!