很急,谢谢!
解决方案 »
- 请问delphi要跳出指定回圈的语法是什么?
- 大家知道这个是什么空间啊tvideowindow
- 关于控件的显示
- 100分:调用DLL中的函数而导致的奇怪问题
- ics控件的httpcli get方法的问题
- 关于 安装的问题
- 我用DEPHI写了个小程序,把它缩小为个小图标,放在操作系统的底下状态栏里,和时间、输入法等放在一起,做好后,可是当我点击它后弹
- 从TBlobField里读出的数据,怎么样才能转化成某个类的实例?
- 关于三层数据库中实现主细表更新数据的问题?加急----飞鸽传真!
- 怎样用delphi来播放wav文件?
- 托盘图标的问题
- 怎么样通过Delphi的程序建立一个ODBC和SQL Server的连接?
begin
s := '#1#122#12#2223434';
for i := 1 to Length(s) do
begin
if ord(s[i]) in [$30..$39] then
s1 := s1 + s[i]
else
begin
if Length(s1)> 0 then
ShowMessage(s1);
s1 := '';
end;
end;
if Length(s1)> 0 then
ShowMessage(s1);
end;
虽然不清楚还是回答一下
如果格式固定(前面有一个?,后面用#分割数字--数字随便是多少)则可做一函数:function getdivedstr(ostr,divstr:string;var aimstr: Tstrings):boolean;
var //用divstr将ostr分割后,把得到的子字符放到字符数组aimstr中
i,n,j:integer;
p: array of integer;
nstr,xstr:string;
begin
n:= strlen(pchar(ostr));
j:=0;
try
for i:=1 to n do
if MidBStr(ostr,i,1)=divstr then begin
j:=j+1;
SetLength(p,j);
p[j-1]:=i;//得到第j-1个字符是divstr
end;
if j>0 then aimstr.add(LeftBStr(ostr,p[0]-1));
for i:=1 to j-1 do begin
nstr:= MidBStr(ostr,p[i-1]+1,p[i]-p[i-1]-1);
aimstr.Add(nstr);
end;
nstr:= RightBStr(ostr,strlen(pchar(ostr))-p[j-1]);
aimstr.Add(nstr);
result:=true;
except
result:=false;
end;得到字符数组aimstr中第一个元素为'?'从第二个元素开始为数字(用时可从字符转为数字--inttostr)
var
i,j:integer;
str:string;begin
str:= '' ;
for i := 1 to Length(s) do
if TryStrToInt(s[i],j) then
str:=str+s[i];
result StrToInt(str) ;
end;
function GetDigit(const str:string):string;
var
i:integer;
begin
for i:=1 to length(str) do
begin
if str[i] in ['0'..'9'] Then
Result:=Result+Str[i];
end;
end;
var
i:integer;
begin
for i:=1 to length(str) do
begin
if str[i] in ['0'..'9'] Then
Result:=Result+Str[i];
end;
end;
同意
var s, s1: string; i, J: integer;
begin
s := '?'#1#1#1#2' ';
for i := 1 to Length(s) do
begin
j := ord(s[i]);
// showMessage(IntToStr(j));
if j < 9 then
s1 := s1 + IntToStr(j)
else
begin
if Length(s1)> 0 then
ShowMessage(s1);
s1 := '';
end;
end;
if Length(s1)> 0 then
ShowMessage(s1);
end;
function GetDigit(const str:string):string;
var
i:integer;
begin
for i:=1 to length(str) do
begin
if str[i] in ['0'..'9'] Then
Result:=Result+Str[i];
end;
end;执行效率快