RichEditの指定行に文字を挿入するには?

解決


みぃ  2005-02-11 01:14:21  No: 13151

・Windows XP
・Delphi7
にて作っています。

RichEditの指定行に文字を挿入するにはどうしたらよいのでしょうか?
それとも、このような事は不可能なのでしょうか?

初心者の発言で申し訳ないです。


Kashiken  2005-02-11 02:03:59  No: 13152

新規アプリにボタンとリッチエディットを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.


Kashiken  2005-02-11 02:23:56  No: 13153

↑の解説を。
特定行の文字列は
RichEdit.Lines[(行番号)]で取得できるので、
そこに
(挿入する内容)+改行+(その行に元々あった文字列)
を代入してやっています。
改行が入ると行番号は自動で変化するので、元々あった内容は1つ後ろの行に移動します。

※行番号は0から始まるので、1を引いてやるなどの注意が必要です。


みぃ  2005-02-12 18:17:47  No: 13154

Kashikenさん

ありがとうございました。
大変勉強になりました。これからも宜しくお願いします。


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

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






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