我这个程序大体是上这样的if a=xxx then edit1.text:='yyy'; if a=bbb then edit1.text:='ccc'; if a=eee then edit1.text:='fff'; if a=ggg then edit1.text:='kkk'; . . . . . . if a=abc then edit1.text:='bcd'; 我想问一下,这个怎么分成子过程?
既然都是针对 a 作判断,为什么不用case...of呢?楼主贴出的代码中用a与其他变量相比?这么多变量?天哪,这也太BT了吧 我想那些是不是应该要加引号,是字符串呀? 要想分成小过程,也很简单呀(假定是字符串):procedure CaseA(a: string): string; begin case a of 'xxx': Result := 'yyy'; 'bbb': Result := 'ccc'; ...{共有200行} 'abc': Result := 'bcd'; else Result := CaseB(a); end; end;procedure CaseB(a: string): string; begin case a of 'ttt': Result := 'rrr'; 'rrr': Result := 'ddd'; ...{共有200行} 'sdf': Result := 'dfg'; else Result := CaseX(a); end; end;procedure CaseX(a: string): string; begin ...{省略啦,原理相同,直到代码不多不需再调用子过程为止} end;
if a=bbb then edit1.text:='ccc';
if a=eee then edit1.text:='fff';
if a=ggg then edit1.text:='kkk';
.
.
.
.
.
.
if a=abc then edit1.text:='bcd';
我想问一下,这个怎么分成子过程?
我想那些是不是应该要加引号,是字符串呀?
要想分成小过程,也很简单呀(假定是字符串):procedure CaseA(a: string): string;
begin
case a of
'xxx': Result := 'yyy';
'bbb': Result := 'ccc';
...{共有200行}
'abc': Result := 'bcd';
else
Result := CaseB(a);
end;
end;procedure CaseB(a: string): string;
begin
case a of
'ttt': Result := 'rrr';
'rrr': Result := 'ddd';
...{共有200行}
'sdf': Result := 'dfg';
else
Result := CaseX(a);
end;
end;procedure CaseX(a: string): string;
begin
...{省略啦,原理相同,直到代码不多不需再调用子过程为止}
end;