ユニット(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);
Append 手続きは,既存ファイルの最後にテキストを追加するものだよ。
ファイルの途中に挿入させるような関数はないので、方法を変えるべき。
早速の回答ありがとうございます。
StringListで対応したら、問題なく出来ました。
ツイート | ![]() |