如何把user.txt文件读出来,要将它转入数据库user.db中,其格是如下:赵莫天,33,男,工程师
李慧,43,女,高级工程师
......
//如何把user.txt文件读出来,其中如何区分“逗号”(每一项以逗号隔开)。
那位大虾能够详细点说一下,最好有源代码,小弟很菜欧!!!!
李慧,43,女,高级工程师
......
//如何把user.txt文件读出来,其中如何区分“逗号”(每一项以逗号隔开)。
那位大虾能够详细点说一下,最好有源代码,小弟很菜欧!!!!
解决方案 »
- Delphi创建了一个临时表,要怎样才能把临时表数据保存到数据库中?
- 单元文件引用问题(变量,数组)
- 求FastReport高手指点。。。。sorry..分用光了
- 参数的传递,请高手帮忙!
- 请问高手:我想把一个部门的成员调到另一部门,最好用什么控件表示比较简单直观?
- 跪求delphi5开发人员指南
- 有谁在ServiceApplication里对数据库进行操作的例子吗?
- 有谁的信誉分比我低阿!!我送给他50分阿!!
- 急!!!
- 大送58分,请教TListView的问题
- 请教:如何使DBgrid控件的第一列成为固定列
- 向adoqury动态添加查询字段后,在清除adoquery的sql内容后,查询字段会自动清除吗?
reset(f);
readln(f,buf);
进行读取文件,
然后用pos进行定位字符串分割取值,
最后append()到数据库表中去.
are you OK?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids, Buttons;
Const
Space=' ';
type
TForm1 = class(TForm)
m: TMemo;
Button1: TButton;
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
// Function Regulate(aString,Sepchar:string):string;//去掉多余的分割符,规范字符串
// Function GetSubStr(varsString:string;SepChar:String):String;//得到字符串中一个子串,因要改变参数aString的值,所以将它用var定义。
// Function GetSubStrNum(aString,SepChar:String):Integer;//计算一个字符串要被分割成几个字段。
{ Private declarations }
public
function GetExePath: String; { Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}function TForm1.GetExePath:String;
begin
Result:=ExtractFilePath(ParamStr(0));
if Result[Length(Result)]<>'\' then
Result:=Result+'\';
end;
Function RegulateStr(aString:String;Sepchar:String):String;
var
i,Num:Integer;
Flag:Boolean;
MyStr,TempStr:String;
begin
Flag:=False;//进行标志,去除多余的分割符
Num:=Length(aString);//计算aString串的长度
for i:=1 to Num do
begin
TempStr:=Copy(aString,i,1);//取aString串中的一字符
if TempStr <> SepChar then
begin
MyStr:=MyStr+TempStr;
Flag:=True;
end
else
if(Flag=True)then
begin
Mystr:=Mystr+TempStr;
Flag:=False;
end;
end;
if MyStr[Length(MyStr)] <> SepChar then
MyStr:=MyStr+SepChar;
RegulateStr:=MyStr;
end;
Function GetSubStr(var aString:String;SepChar:String):String;
var
Mystr:String;
StrLen:Integer;
SepCharPos:Integer;
begin
StrLen:=Length(aString);
SepCharPos:=Pos(SepChar,aString);//计算分割符在子串中的位置
MyStr:=Copy(aString,1,SepCharPos-1); //将分割符前所有字符放到mystr串中
Delete(aString,1,SepCharPos);//除去分割符和分割符前的子串
GetSubStr:=MyStr;//返回一个字段
end;
Function GetSubStrNum(aString:String;SepChar:String):Integer;
var
i:Integer;
StrLen:Integer;
Num:Integer;
begin
StrLen:=Length(aString);
Num:=0;
for i:=1 to StrLen do
if Copy(aString,i,1)=SepChar then
Num:=Num+1;
result:=Num;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
MyLine:String;
num:integer;
begin
num:=4;
with Table1 do
begin
Open;
edit;
//showmessage('0');
for i:=0 to m.Lines.Count-1 do
begin MyLine:=RegulateStr(m.Lines[i],Space);
Append;
showmessage('0');
for j:=1 to Num do
begin open;
edit;
fields[j-1].asString:=GetSubStr(MyLine,Space); post;
showmessage('2'); end;
end;
open;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.DatabaseName:=Form1.GetExePath+'mdb';
Table1.TableName:='a.DB';
//Query1.DatabaseName:=myForm.GetExePath+'mdb';
//AllRec;
table1.Open;
m.Lines.LoadFromFile('a.txt');
end;procedure TForm1.BitBtn1Click(Sender: TObject);
begin
table1.Delete;
end;end.