線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5812
推到 Plurk!
推到 Facebook!

MEMO如何定位修改內容?

答題得分者是:pceyes
wahz
一般會員


發表:3
回覆:5
積分:1
註冊:2003-11-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-13 00:18:56 IP:218.18.xxx.xxx 未訂閱
MEMO如果用貼上方式可以在任何位置插入內容.但如果lost focus后.用lines.add只能增加到后面..請問如何定位插入內容?例如MEMO有兩行: Line 1 Line 2 我用一個bottom按下去在第一行后插入 END.變成Line 1 END. 請問各位大大該如何實現?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-13 01:55:18 IP:61.221.xxx.xxx 未訂閱
引言: MEMO如果用貼上方式可以在任何位置插入內容.但如果lost focus后.用lines.add只能增加到后面..請問如何定位插入內容?例如MEMO有兩行: Line 1 Line 2 我用一個bottom按下去在第一行后插入 END.變成Line 1 END. 請問各位大大該如何實現?
wahz 你好: 試試看這樣寫行不行呢?? < class="code"> Memo1.Lines.Strings[0]:=Memo1.Lines.Strings[0]+' END.'; -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
wahz
一般會員


發表:3
回覆:5
積分:1
註冊:2003-11-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-13 09:35:18 IP:218.18.xxx.xxx 未訂閱
這樣只能在起始行最后add string.但如何在某一行某一位置插入string? 例如在第二行第三個字符后插入borland.
00156
高階會員


發表:45
回覆:195
積分:112
註冊:2002-06-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-13 09:54:32 IP:61.56.xxx.xxx 未訂閱
  • 先找出你要插入位置的index(可以用#13找第幾行),然後設定Memo1.SelStart將游標移至index
  • 設定Memo1.SelText,例如:
    Memo1.SelStart:=2;
    Memo1.SelText:='borland';
    
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-13 09:56:17 IP:202.39.xxx.xxx 未訂閱
var sTmp: string;
begin
  sTmp := Memo1.Lines[1];
  Insert('borland', sTmp, 4);
  Memo1.Lines[1] := sTmp;
end;
--- Everything I say is a lie.
wahz
一般會員


發表:3
回覆:5
積分:1
註冊:2003-11-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-13 10:21:56 IP:218.18.xxx.xxx 未訂閱
很感謝各位大大的回復..我試試看 :)
wahz
一般會員


發表:3
回覆:5
積分:1
註冊:2003-11-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-12-13 10:38:17 IP:218.18.xxx.xxx 未訂閱
Hagar大大的方法簡單明了應用起來也靈活...但我還是不知道如果取得光標是在第幾個字符...還是搞不懂 :p
wahz
一般會員


發表:3
回覆:5
積分:1
註冊:2003-11-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-12-13 11:11:48 IP:218.18.xxx.xxx 未訂閱
暈...00156的方法更適合些..其實沒必要知道是第幾行第幾個字符..selstart定位在當前位置就可以了:)    真是太笨了
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-01-10 22:21:23 IP:218.166.xxx.xxx 訂閱
直接用API指令  SENDMESSAGE,用法自己查!!!!








------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-01-04 17:48:07 IP:122.127.xxx.xxx 訂閱
因為之前找不到:
如何在TMemo游標所在的位置插入新的字串,
並且能將游標重新停留在新字串後的位置上。
(How To Insert Text to TMemo and Put Cursor to New Position).
網上找了一個下午,傍晚用delphi 寫一個完整的,希望對有需要的人有幫助。

[code delphi]
procedure Tform1.inserttext(str:string;amemo:Tmemo);
var
LineStr : string;
iLength , CPX,CPY: integer;
begin
with amemo do begin
// 取得原先的資訊
iLength := length(str);
CPX := caretpos.x;
CPY := caretpos.y;
LineStr := lines[CPY];
// 插入字串
insert(str, LineStr, CPX 1);
lines[CPY] := LineStr;
// 將游標停在最後(新)的位置
SelStart := Perform(EM_LINEINDEX,CPY,0) CPX iLength;
SetFocus;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
inserttext('要插入的字串',memo1);
end;
[/code]
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-01-04 17:56:09, 註解 增加說明,使更易查詢到‧
系統時間:2024-04-30 12:14:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!