function complexformula(gg:string):string;
var s1,s2:string;
s,e,w:integer;
begin
s1:=gg;
while Pos('BB(',s1)> 0 do //找到第一个BB(出现的位置
begin
w:=length(s1);
s:=Pos('BB(',s1);
e:=pos(')',copy(s1,Pos('BB(',s1),length(s1))); //截取出的BB公式
s2:=copy(gg,s,e);
Frmcell_design.cell2.SetFormula(1,1,0,s2);
showmessage('欲删去公式为'+copy(s1,s,e));
delete(s1,s,e);
s2:=trim(copy(s1,1,s-1))+trim(gs)+trim(copy(s1,s,w-s));
if Pos('BB(',s2)>0 then
begin
showmessage('剃归');
Result:=complexformula(s2)
end else begin Result:='';break;end;
end;
end;
var s1,s2:string;
s,e,w:integer;
begin
s1:=gg;
while Pos('BB(',s1)> 0 do //找到第一个BB(出现的位置
begin
w:=length(s1);
s:=Pos('BB(',s1);
e:=pos(')',copy(s1,Pos('BB(',s1),length(s1))); //截取出的BB公式
s2:=copy(gg,s,e);
Frmcell_design.cell2.SetFormula(1,1,0,s2);
showmessage('欲删去公式为'+copy(s1,s,e));
delete(s1,s,e);
s2:=trim(copy(s1,1,s-1))+trim(gs)+trim(copy(s1,s,w-s));
if Pos('BB(',s2)>0 then
begin
showmessage('剃归');
Result:=complexformula(s2)
end else begin Result:='';break;end;
end;
end;
解决方案 »
- 图标缓存问题
- 大学生找工作怎么那么难???
- 如何建立一个工作线程,实现这样的功能(一个线程50分)
- 急!在fastreport中如何显示页码?
- 在创建一个ActiveXForm后,关闭工程再重新打开后,为什么Web发布菜单不能用?是Delphi的Bug吗?
- 为什么我用API创建的套接字连接不上TServerSocket?
- 如何在TQuery控件操作foxpro数据库,对表删除索引
- ImgEdit在ActiveForm中的创建问题,COM接口问题
- 怎么让DBGRID的datetime型数据只显示时间??
- 在自定义元件中动态创建元件的错误(没有发现类)?
- 请问如何实现数据库中的首记录的字段自动付值为零 , 请问如何才能够在主、从表上各自添加记录呢。
- 哪里有boundchecker for delphi 版的下载
var s1,s2:string;
s,e,w:integer;
begin
s1:=gg;
while Pos('BB(',s1)> 0 do //找到第一个BB(出现的位置
begin
w:=length(s1);
s:=Pos('BB(',s1);
e:=pos(')',copy(s1,Pos('BB(',s1),length(s1))); //截取出的BB公式
//////////////////////
e:=pos(')',copy(s1,Pos('BB(',s1),length(s1)+1-Pos('BB(',s1),));
/////////////////////
s2:=copy(gg,s,e);
Frmcell_design.cell2.SetFormula(1,1,0,s2);
showmessage('欲删去公式为'+copy(s1,s,e));
delete(s1,s,e);
s2:=trim(copy(s1,1,s-1))+trim(gs)+trim(copy(s1,s,w-s));
////////////////////////////
s2写成s1?!
gs是什么?不需要吧?
w-s 应该改成:w-length(s2)吧?
////////////////////////////
if Pos('BB(',s2)>0 then begin showmessage('剃归');complexformula(s2) end
else
begin
result:=s2;
break; //s2中已没有了BB,但又再次调用了complexformul,不可思议
end;
end;
////////////////////////////
s2写成s1?!
////////////////////////////
end;
调用
procedure TFrmcell_design.Button2Click(Sender: TObject);
var
ddd:string;
begin
inherited;
ddd:='zw("a16","2001","101")+(BB( "a2","1-天","C" )-3)/(BB( "a2","1-天","C" )+zw("a16","2001","101"))';
ddd:=complexformula(ddd);
end;
var s1,s2:string;
s,e,w:integer;
begin
s1:=gg;
while Pos('BB(',s1)> 0 do //找到第一个BB(出现的位置
begin
w:=length(s1);
s:=Pos('BB(',s1);
e:=pos(')',copy(s1,Pos('BB(',s1),length(s1))); //截取出的BB公式
//////////////////////
e:=pos(')',copy(s1,Pos('BB(',s1),length(s1)+1-Pos('BB(',s1),));
/////////////////////
s2:=copy(gg,s,e);
Frmcell_design.cell2.SetFormula(1,1,0,s2);
showmessage('欲删去公式为'+copy(s1,s,e));
delete(s1,s,e);
s2:=trim(copy(s1,1,s-1))+trim(gs)+trim(copy(s1,s,w-s));
////////////////////////////
s2写成s1?!
gs是什么?不需要吧?
w-s 应该改成:w-length(s2)吧?
////////////////////////////
if Pos('BB(',s2)>0 then begin showmessage('剃归');complexformula(s2) end
else
begin
result:=s2;
break; //s2中已没有了BB,但又再次调用了complexformul,不可思议
end;
end;
////////////////////////////
s2写成s1?!
////////////////////////////
end;
调用
procedure TFrmcell_design.Button2Click(Sender: TObject);
var
ddd:string;
begin
inherited;
ddd:='zw("a16","2001","101")+(BB( "a2","1-天","C" )-3)/(BB( "a2","1-天","C" )+zw("a16","2001","101"))';
ddd:=complexformula(ddd);
end;
function insteadstr(source,replaced,inserted:string):string;
var
apos:integer;
begin
apos:=pos(replaced,source);
if apos=0 then result:=Source
else
result:=copy(source,1,apos-1)+inserted+insteadstr(copy(source,apos+length(replaced),length(source)-apos-length(replaced)+1),replaced,inserted);
end;procedure TForm1.Button1Click(Sender: TObject);
var
k:string;
begin
k:='1112223445666878888';
showmessage(insteadstr(k,'23','9'));
end;