给我EMAIL给你一个,靠,我昨天刚写好
解决方案 »
- 我在delphi的dll中定义了THandle,想让C来调用,该如何定义?
- SetFileAttributes这个函数是做什么用的?
- 怎样在一个线程中使用一个Timer?
- 请教一个小问题!
- 关于CheckListBox的初始化问题?
- 请教如何用最低的系统资源实现这个问题....
- MEMORYSTATUS的問題
- 我用access做的delphi6.0程序怎样才能在没有安装dephi的机子上运行?直接把运行程序复制过去,建立了odbc连接,运行不了?
- mdac2.7, delphi6(Enterprise)+service pack2删除数据库有提示 '你的数据集有一个bof或eof为真',不能删除,使用DBGridEh(ehlib 2.3)!?'
- 求一个读入本地文本,然后随机排序输出的例子
- 很简单的窗体类的继承问题,只加了一个StringGrid,但很重要!
- 如何在delphi调用htmlhelp做的帮助文件?
[email protected]谢了,老大!
//bzf:表示符如:,*@等等
var
i,j,k:integer;
ss:array of string;
begin
j:=0;
//求出数组的长度
for i:=1 to (length(str)) do
begin
if copy(str,i,1)=bzf then j:=j+1;
end;
setlength(ss,j);
//求出分隔符以外的字符串
j:=0;
k:=1;
for i:=1 to length(str) do
begin
if copy(str,i,1)=bzf then
begin
ss[j]:=copy(str,k,i-k);
j:=j+1;
k:=i+1;
end;
end;
//给预定义变量赋值,数组类型
result:=ss;
end;
if copy(str,i,1)=bzf then
我想了半天没有想起来怎么实现,还想着跟数组似的用str[i]呢;多谢!多谢benben_hen(小云) !
s := TStringList.Create();
s:=splitstring('afsdfsdaaa|bbfdsfsdb|ccc','|');
for i:=0 to s.Count-1 do
b:=b+s.Strings[i]+#13;
showmessage(b);
s.free;
s := TStringList.Create();
s:=splitstring('afsdfsdaaa|bbfdsfsdb|ccc','|');
for i:=0 to s.Count-1 do
b:=b+s.Strings[i]+#13;
showmessage(b);
s.free;
这样应该更好些吧,因为我要处理的字符串还含有汉字;
var
temp:string;
i:integer;
begin
result:=tstringlist.Create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.Add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.Add(temp);
end;
var
i,j,k : Integer;
tempstr : String;
temparray : Variant;
begin
j:=0;
for i := 0 to Length(SourceStr)-1 do
if SourceStr[i]=IdStr
then j:=j+1;
SetLength(temparray,j);
k := 0;
j := 0;
m := 0;
for i := 0 to Length(SourceStr)-1 do
begin
tempstr := '';
if SourceStr[i]=IdStr
then for m := k to i-1 do tempstr:= tempstr+SourceStr[m];
temparray[j]:=tempstr;
k := i+1;
j := j+1;
end;
ResultArray := temparray;
end;
procedure TForm1.GetArray(bzf: String;str: String;var ResultArray :variant);
var
i,j,k,m : Integer;
tempstr : String;
temparray : array of string;
begin
j := 0;
for i := 1 to Length(str) do
if copy(str,i,1)= bzf then j := j+1;
SetLength(temparray,j);
j := 0;
k := 1;
for i := 1 to Length(str) do
begin
tempstr := '';
if str[i]=bzf
then
begin
for m := k to i-1 do tempstr := tempstr+str[m];
temparray[j] := tempstr;
k := i+1;
j := j+1;
end;
end;
ResultArray := temparray;
end;