exeファイルからexeを作る(コンパイル)するには?


keye  URL  2005-04-29 07:49:41  No: 14551

相変わらず質問ばかりしてしまって
本当に申し訳ありません、
僕の能力では調べても見つかりませんでした

簡単ないわゆる言語を作りたんですが
最終的にexeに出力できるようにしたいんです
その出力するときに、ファイルを埋め込む方法も知りたいのですが

本当に失礼なのは分かっています
が、よろしくお願いします


@enum  2005-04-30 01:34:11  No: 14552

Delphiで作られている有名な言語と言えば、「ひまわり」ですよね。
EXEファイルの出力から、ファイルのバインドも出来ます。

http://kujirahand.com/himawari/download/download.htm

ここからひまわりのソースがダウンロード出来ます。
とても参考になりますので、一度見てみてはいかがでしょうか。


@enum  2005-04-30 02:11:42  No: 14553

今、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出力だと思う。多分。よく見てない上、初心者なんで詳しい事は分かりませんが、分かる方、説明お願いします。


keye  URL  2005-05-03 07:07:55  No: 14554

お返事ありがとうございます

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;

何やってんのか調べてますが
結構複雑ですね


@Enum  2005-05-13 00:40:34  No: 14555

ひまわりみたいんでいいなら。
http://www.swissdelphicenter.ch/torry/showcode.php?id=815
を見てみてはいかがでしょう


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加