怎样在Delphi的memo中保存用户自行添加的文字?

怎样在Delphi的memo中保存用户自行添加的文字?,第1张

var

s:string

procedure TForm1.Button1Click(Sender: TObject)

begin

if OpenDialog1.Execute Then

begin

s:=OpenDialog1.FileName

memo1.Lines.LoadFromFile(s)

end

end

procedure TForm1.FormClose(Sender: TObjectvar Action: TCloseAction)

begin

try

Memo1.Lines.SaveToFile(s)

except

ShowMessage('你没打开怎么保存?')

Exit

end

ShowMessage('保存成功')

end

配合OpenDIalog来打开文件,楼主,建议直接在Memo中输入数据比较方便,按钮用来打开文件,关闭时要用Memo1.lines.SaveToFile(文件名)来保存文件,如果想要另存为的话,那么就加个SaveDialog就行了,望采纳

定义一个变量i ,每加一行自加1.这下面是我写的,希望对你有用。

var

i,j,k:Integer

S:String

F:TextFile

begin

if SaveDialog1.Execute then

begin

ADOQuery1.DisableControls

try

AssignFile(F,SaveDialog1.FileName)

Rewrite(F)

S:=''

for i :=0 to ADOQuery1.FieldCount-1 do

begin

S:=S+ADOQuery1.Fields.Fields[i].FieldName+' | '

end

Writeln(F,S)

ADOQuery1.First

k:=1//编号

while not ADOQuery1.Eof do

begin

s:=''

for J:=0 to ADOQuery1.FieldCount-1 do

begin

s:=s+ADOQuery1.Fields.Fields[j].AsString+' | '

end

S:=IntToStr(k)+'|'+s

Writeln(F,S)

ADOQuery1.Next

Inc(k)//编号自加

end

CloseFile(F)

except

end

ADOQuery1.EnableControls

end

end

Notebook1.Pages.Object[]返回的类型是TObject,而赋给Parent需要的是TWinControl类型,所以你不能那样直接赋值,其实Notebook1.Pages.Object[]保存的是TPage类型,所以需要强制转换一下,下面是我写的测试:

var Memo:TMemo

Page:TPage

begin

Memo:=TMemo.Create(self)

Page:=TPage(self.Notebook1.Pages.Objects[0])

Memo.Parent:=Page

Page.tag:=Integer(Memo)//把Memo赋为Page的tag,这样就把两者关联了(以后知道page就能取得他上面的Demo并 *** 作)

Memo.Align:=alClient

Memo.Show

end

根据当前页 *** 作它上面的Memo:

var idx:Integer

Memo:TMemo

begin

idx:=self.Notebook1.PageIndex

if idx<>-1 then

begin

Memo:=TMemo(TPage(self.Notebook1.Pages.Objects[idx]).Tag)

memo.Lines.Add('test')

end

end


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11386670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存