第一种笨笨的方法,用pos的方法,查找分隔符的位置
第二种办法 stringreplace(sSour,',',#13,[rfReplaceAll])函数,用换行符替换分隔符,放在stringlist里面。
第二种办法 stringreplace(sSour,',',#13,[rfReplaceAll])函数,用换行符替换分隔符,放在stringlist里面。
解决方案 »
- pagecontrol 的一个问题 ??
- ehlib 的 DBGridEh 最后一行汇总栏如何出现,就是找不到,demo内找了很久
- 妈的,微软居然骗人了。
- Access数据库默认的用户名和密码为多少?
- 问个简单问题?即刻接贴!
- 急,请问大家在编辑form的时候,怎样知道一个控件对应的form.Components[i]的i的值是多少
- 基础OOP问题,关于 property 使用 function & procedure 做成员...
- 我解决了几乎所有Delphi+Access同仁的问题—动态创建、压缩Access数据库(*.MDB)
- 关于向注册表写入值
- 我想下载(DELPHI5.X分部式多层应用-系统篇)一书
- delphi中两个数组之间如何交换?
- delphi TChart横轴时间不连续时的显示问题
设置TStringList的dilimttext和分隔符
然后操作TStringlist
var
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if vline = '' then continue;
with ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('insert into 表名 (heave,CreateTime) values (:heave,:CreateTime)');
parameters.parambyname('heave').value := nts[i]+'m';
parameters.parambyname('CreateTime').value := Now;
ExecSql;
end;
end;
可以用$也可以用#10
循环用 for I:=0 to nst.Count-1 do你看下这个例子
procedure TForm1.btn4Click(Sender: TObject);
var
i:integer;
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:=#10;
nst.DelimitedText:='1'+#10+'2'+#10+'3';
for i:=0 to nst.Count-1 do
begin
showmessage(nst[i]);
end;
end;
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
//处理V1
end; if (i+1) mod 3=2 then
begin
//处理V2
end; if (i+1) mod 3=3 then
begin
//处理V3
end; end;
var
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if copy(nst[i],1,2)='$1' then
begin
//处理V1
end;
if copy(nst[i],1,2)='$2' then
begin
//处理V2
end;
if copy(nst[i],1,2)='$3' then
begin
//处理V3
end;
end;
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
V1:=
end;
if (i+1) mod 3=2 then
begin
V2:=
end;
if (i+1) mod 3=3 then
begin
V3:=
end; if ((i+1) mod 3=0) and (i>0) then
begin
//sql语句插入v1,v2,v3
end;
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
V1:=
end;
if (i+1) mod 3=2 then
begin
V2:=
end;
if (i+1) mod 3=3 then
begin
V3:=
end; if ((i+1) mod 3=0) and (i>0) then
begin
//sql语句插入v1,v2,v3
end;
大侠!怎么每隔一秒插入一条数据到数据库啊??
nst:TStringList;
begin
nst:=TStringList.Create;
nst.Delimiter:='$';
nst.DelimitedText:=memo.Text;
for I:=0 to nst.Count-1 do
begin
if (i+1) mod 3=1 then
begin
V1:=
end;
if (i+1) mod 3=2 then
begin
V2:=
end;
if (i+1) mod 3=3 then
begin
V3:=
end; if ((i+1) mod 3=0) and (i>0) then
begin
//sql语句插入v1,v2,v3
end;
大侠!怎么每隔一秒插入一条数据到数据库啊??使用定时器Timer,interval设置为1000
大侠!怎么每隔一秒插入一条数据到数据库啊??使用定时器Timer,interval设置为1000 在timer事件里面执行;1秒中全部插入了;隔一秒又全部执行了
大侠!怎么每隔一秒插入一条数据到数据库啊??使用定时器Timer,interval设置为1000 在timer事件里面执行;1秒中全部插入了;隔一秒又全部执行了定时器里的ontimer事件里的代码不要写成全部执行,写成按你要求的规则来执行
procedure TFrmMain.Timer1Timer(Sender: TObject);
var
I: Integer;
vLine: string;
begin
with memo1 do
for I:=0 to Lines.Count-1 do
begin
vLine := trim(lines.Strings[i]);
if vline = '' then continue;
with frm_DM.ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('insert into FsySpeed ........);
parameters.parambyname('FsyId').value := 'Fsyplcy';
parameters.parambyname('Fangle').value := Trim(Copy(vLine,8,3))+'°';
parameters.parambyname('speed').value := Trim(Copy(vLine,14,3));
parameters.parambyname('CreateTime').value := Now;
ExecSql;
end;
end;
end;每次运行一秒中就把memo里面的数据全部插入了
var
I: Integer;procedure TFrmMain.FormShow(Sender: TObject);
begin
i:=0;
end;procedure TFrmMain.Timer1Timer(Sender: TObject);
var
// I: Integer;
vLine: string;
begin
with memo1 do
//for I:=0 to Lines.Count-1 do
//begin
vLine := trim(lines.Strings[i]);
if vline = '' then continue;
with frm_DM.ADOQuery do
begin
Close;
Sql.Clear;
Sql.Add('insert into FsySpeed ........);
parameters.parambyname('FsyId').value := 'Fsyplcy';
parameters.parambyname('Fangle').value := Trim(Copy(vLine,8,3))+'°';
parameters.parambyname('speed').value := Trim(Copy(vLine,14,3));
parameters.parambyname('CreateTime').value := Now;
ExecSql;
end;
//end;
i:=i+1;
end;