TMemoのLinesを丸々変数に格納することはできますか?

解決


alps  2003-09-03 00:12:09  No: 4559

Form上のButton1にマウスカーソルが乗ると同Form上のMemo1.Linesが変わり、マウスカーソルがButtou1の外にでるとデフォルトのMemo1.Linesに戻るというプログラムを作成しているのですが、現在
     Memo1.Lines[0] := 'ああああ';
     Memo1.Lines[1] := 'いいいい';
というようにしてMemo1.Linesを書き換えています。

これで問題なく動作しているのですが、例えば
 var
  MyStr: TStrings;
 begin
  MyStr := Memo1.Lines;
 end;
などと予めしておいて、デフォルトのMemo1.Linesを変数に格納し、
改めてMemo1.Lines :=MyStr;と戻すことはやはり無理なのでしょうか?

馬鹿馬鹿しい質問で申し訳ございません。。。


シュークリーム  2003-09-03 01:22:01  No: 4560

MyStr := Memo1.Lines  ってのは
名前が違うだけで実態は同じ
Memo1.Linesのデータを替えればMyStrも変わる。
こういうときは Assign  を使ってコピーする

form の OnCreate あたりで
  MyStr := TStringList.Create;
で確保しながら
  MyStr.Assign(Memo1.Lines);

もっとわかりやすくするなら

  MyStr: String;
としておいて
  MyStr := Memo1.Lines.Text;
でもいいけどさ!


alps  2003-09-03 03:18:01  No: 4561

シュークリームさん、馬鹿な質問に答えていただき
ありがとうございました。
そ…そうすればいいのですね。。。


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

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






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