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;と戻すことはやはり無理なのでしょうか?
馬鹿馬鹿しい質問で申し訳ございません。。。
MyStr := Memo1.Lines ってのは
名前が違うだけで実態は同じ
Memo1.Linesのデータを替えればMyStrも変わる。
こういうときは Assign を使ってコピーする
form の OnCreate あたりで
MyStr := TStringList.Create;
で確保しながら
MyStr.Assign(Memo1.Lines);
もっとわかりやすくするなら
MyStr: String;
としておいて
MyStr := Memo1.Lines.Text;
でもいいけどさ!
シュークリームさん、馬鹿な質問に答えていただき
ありがとうございました。
そ…そうすればいいのですね。。。
ツイート | ![]() |