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
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)