・Windows XP
・Delphi7
にて作っています。
RichEditの指定行に文字を挿入するにはどうしたらよいのでしょうか?
それとも、このような事は不可能なのでしょうか?
初心者の発言で申し訳ないです。
新規アプリにボタンとリッチエディットを1つずつ、エディットを2つ貼り付けて実行してください。
Edit1に挿入する行数(半角)、Edit2に内容を入力してButton1をクリックしてください。
-----↓ここからソース↓-----
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Lines[StrToInt(Edit1.text)-1] :=
Edit2.Text+ #13#10+ RichEdit1.Lines[StrToInt(Edit1.text)-1];
end;
end.
↑の解説を。
特定行の文字列は
RichEdit.Lines[(行番号)]で取得できるので、
そこに
(挿入する内容)+改行+(その行に元々あった文字列)
を代入してやっています。
改行が入ると行番号は自動で変化するので、元々あった内容は1つ後ろの行に移動します。
※行番号は0から始まるので、1を引いてやるなどの注意が必要です。
Kashikenさん
ありがとうございました。
大変勉強になりました。これからも宜しくお願いします。
ツイート | ![]() |