相変わらず質問ばかりしてしまって
本当に申し訳ありません、
僕の能力では調べても見つかりませんでした
簡単ないわゆる言語を作りたんですが
最終的にexeに出力できるようにしたいんです
その出力するときに、ファイルを埋め込む方法も知りたいのですが
本当に失礼なのは分かっています
が、よろしくお願いします
Delphiで作られている有名な言語と言えば、「ひまわり」ですよね。
EXEファイルの出力から、ファイルのバインドも出来ます。
http://kujirahand.com/himawari/download/download.htm
ここからひまわりのソースがダウンロード出来ます。
とても参考になりますので、一度見てみてはいかがでしょうか。
今、himapadのソースを軽く見てきました。
mix := TFileMixWriter.Create ;
で、TFileMixWriterを定義して、
mix.AddFile(
lstMix.Items.Strings[i],
s.Strings[i],
Angouka //暗号化 0=off 1=on
);
で、目的のファイルをバインドします。
暗号化ってのはよく分かりませんが、 Angouka := 1; //する となっているので、とりあえず暗号はした方がいいのかな?
mix.SaveToFile(AppPath + tempDataFile);
WritePackExeFile(fname, AppPath+'himawari.exe', AppPath + tempDataFile);
んでこの辺でEXE出力だと思う。多分。よく見てない上、初心者なんで詳しい事は分かりませんが、分かる方、説明お願いします。
お返事ありがとうございます
function WritePackExeFile(outFile, exeFile, packFile: string): Boolean;
var
OutFile, SSTTC, PackFile: TFileStream;
begin
OutFile:=TFileStream.Create(outFile, fmCreate);//出力EXE
SSTTC:=TFileStream.Create(exeFile, fmOpenRead or fmShareDenyWrite);
PackFile:=TFileStream.Create(packFile, fmOpenRead or fmShareDenyWrite);
//書込み中(結合)
OutFile.CopyFrom(SSTTC,0);//ランタイム実行ファイル
OutFile.CopyFrom(PackFile,0);//ゲームデータアーカイブ
SSTTC.Free;
PackFile.Free;
OutFile.Free;
end;
何やってんのか調べてますが
結構複雑ですね
ひまわりみたいんでいいなら。
http://www.swissdelphicenter.ch/torry/showcode.php?id=815
を見てみてはいかがでしょう
ツイート | ![]() |