小白出場:各位大師傅多多關照 問題描述
已知 '.\memo.txt'
memo.txt 文本檔案里面有
[GOLON]
原有字串
[gewq]
原有字串
[swwwq]
原有字串
需要在 [GOLON] 下面寫入字串
每次保存的時候把之前寫進去的字串都刪掉 但是不洗掉原有的字串
[GOLON]
字串1
字串2
字串3
字串4
原有字串
大神賜教 最好給個例子 研究研究
uj5u.com熱心網友回復:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
Memo2: TMemo;
ComboBox1: TComboBox;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure SetText(FileName:string;title,S:string); // 函式
var MyList:TStringList;
i,j,k:integer;
label X;
begin
MyList:=TStringList.Create;
MyList.LoadFromFile(FileName);
For i:=0 to Mylist.Count-1 do
begin
if Trim(MyList.Strings[i])=Trim(title) then
begin
// 找到尾部
j:=i;
repeat
j:=J+1;
until (j=Mylist.Count-1) or (Copy(Trim(MyList.Strings[j]),1,1)='[');
Showmessage(inttostr(j));
if J>(I+1) then // 洗掉
begin
for k:=j-1 downto i+1 do
Mylist.Delete(k);
end;
if i=Mylist.Count-1 // 加入新字符
then Mylist.Add(S)
else Mylist.Insert(i+1,S);
goto X;
end;
end;
X:
MyList.SaveToFile(FileName);
Mylist.Free;
end;
procedure TForm1.Button1Click(Sender: TObject); //處理
var FileName,Title,S:string;
begin
FileName:='D:\memo.txt';
Title:=Combobox1.text;
S:=Memo2.text;
SetText(FileName,title,S);
Memo1.Lines.LoadFromFile(Filename);
end;
procedure TForm1.Button3Click(Sender: TObject); // 讀入
var FileName,Title,S:string;
begin
FileName:='D:\memo.txt';
Memo1.Lines.LoadFromFile(Filename);
end;
procedure TForm1.Button4Click(Sender: TObject); // 寫入
var FileName,Title,S:string;
begin
FileName:='D:\memo.txt';
Memo1.Lines.SaveToFile(Filename);
end;
end.
uj5u.com熱心網友回復:

自己修改一下,就可以使用。還可以 新增一個小標題,如 [888]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/37863.html
標籤:數據庫相關
