ユニット(xxx.pas)に自動行追加するには?

解決


セージ  2009-06-26 05:37:18  No: 34920

ユニット(xxx.pas)に対して、行を自動的に追加する様な機能を
考えております。ただし、その行は特定の行に追加するイメージです。
例)xxx.pas内のFormShowイベント内の最初に
追加行1行目
追加行2行目
を追加します。

(変更前)
//**************************************************//
//  Form Show時                                     //
//**************************************************//
procedure TAR0010DForm.FormShow(Sender: TObject);
begin
(省略)
end;

(変更後)
//**************************************************//
//  Form Show時                                     //
//**************************************************//
procedure TAR0010DForm.FormShow(Sender: TObject);
begin
//行追加1行目
//行追加2行目
(省略)
end;

以下に私が作成してみたソースを載せてみます。
以下の場合だと、Formshowイベント内のbegin直下に、
行を追加したいのですが、
xxx.pasの最後の行にしか行が追加されません。

ご教授宜しくお願いしますm(_ _)m
-----------------------------------------------------------------
  AssignFile(p_file, filename);
  Reset(p_file);

  //ファイルの読み込み
  while not Eof(p_file) do
    begin

      Readln(p_file,buffer);
      //FormShowイベント検索(co_Chk1='FormShow')
      if pos(co_Chk1,buffer) <> 0 then
        begin
          //次行がbegin文字列検索(co_Chk2='begin')
          Readln(p_file,buffer);
          if pos(co_Chk2,buffer) <> 0 then
            begin
              //ビンゴ!
              Append(p_file);
              //ファイルに追加行1行目書く
              Writeln(p_file ,buffer1);
              //ファイルに追加行2行書く
              Writeln(p_file ,buffer2);
              Break;
            end;
        end;  
    end;
  CloseFile(p_file);


当然  2009-06-26 07:09:37  No: 34921

Append 手続きは,既存ファイルの最後にテキストを追加するものだよ。
ファイルの途中に挿入させるような関数はないので、方法を変えるべき。


セージ  2009-06-26 19:27:15  No: 34922

早速の回答ありがとうございます。
StringListで対応したら、問題なく出来ました。


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

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






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