いつも初歩的な質問で恐縮です。
ネットで探すと、
memo1.Lines.loadfromfile('c:\Study\家計簿\kakeibo2023');
のようにデータを読み込むと、カーソルは最終行になると書いてありますが、
実際には、先頭が表示されています。
スクロールバーが一番上にいます。
memo1とEditがあって、カーソルはEdit1になります。
いつでも、最終行が表示されるようにするにはどうしたらいいですか。
よろしお願いします。
Memo1.Lines.Add('新しいテキスト');
// 最終行にスクロールする
Memo1.SelStart := Length(Memo1.Text);
Memo1.Perform(EM_SCROLLCARET, 0, 0);
ChatGPTに聞くと良いよw
AAAAAさん、ありがとうございます。
下のようにしましたが、先頭が表示されています。
カーソルはEdit1になります。
XE5が狂っているんでしょうか??
スクロールバーを下に持っていく方法はありませんか??
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear;
memo1.Lines.loadfromfile('c:\Study\家計簿\kakeibo2023');
Memo1.SelStart := Length(Memo1.Text);
Memo1.Perform(EM_SCROLLCARET, 0, 0);
memo1.lines.Add('');
end;
おそらく自分なんかに回答を求めていないと言われそうですが
そろそろ回答してくれてる人、嫌気がさしてません?
とりあえずのマナーですがここで聞く前に自分で調べましょうよ
通常の検索、ChatGPT、ほかAI系で本分に使われている単語 3つ入力したら
4行ほどの答えが返ってきました、それで要望通りになりました
質問としては初歩的な質問ではありません
この動作を求める人にはかなり重要で、難しい部類です
みなさんタイトルを見てから本分を読むのでタイトルと内容が違うのもね
このタイトルを読むと
「Memoに何を入力しても常に最終行が表示される仕組みはどうすればいいのか?」
という質問に感じましたが本分は
「loadfromfileを呼んだときに最終行が表示されるようにしたい」
とまったく違う内容です
20年Delphiをやってるっていう前書きは不要です
それを書くならコンパイラのバージョンとOS、フレームワークはVCLなのか何なのかを書いて下さい
あと思い込みやめません?
> XE5が狂っているんでしょうか?
バグがまったくないわけではありませんが、単なる言いがかりです
他スレ
> ブロックリードは危険だといわれていたので
ファイルやサーバー系の受信に使って脆弱性を突かれるってことかな?
普通に使う分には有効な方法です
DELPHI MEMO 最終行 で検索すると
https://www.blackcat.xyz/article.php/ProgramingFAQ_del0006
AAAAAさん、ありがとうございました。
最終行が表示できるようになりました。
今後もよろしくお願いします。
takeさんへ
ここは、delphiプログラミングする人には、最後の砦です。
初心者はなんも分かりません。
初歩的な質問でもここに答えがあれば、初心者は助かります。
そう思って、初歩的な質問でも遠慮なくさせていただいています。
初心者のために頑張ってください。
初心者という言葉は免罪符ではない。
20年初心者やってる初心者のプロ
ツイート | ![]() |