if not (A.Cells(2,4)>A.Cells(2+3,5) and (A.Cells((2),4+1)>(A.Cells(1+6*3,5)+78+A.Cells(4,9)/A.Cells(3,(10))))) then以上为一行字符串,
现在我想从中提取出这样的数组
1: A.Cells(2,4)
2: A.Cells(5,5)
3: A.Cells(2,5)
4: A.Cells(19,5)
5: A.Cells(4,9)
6: A.Cells(3,10)
难点就是说A.Cells(1+6*3,5),还要计算1+6*3=19来,大家讨论讨论,下午接贴
现在我想从中提取出这样的数组
1: A.Cells(2,4)
2: A.Cells(5,5)
3: A.Cells(2,5)
4: A.Cells(19,5)
5: A.Cells(4,9)
6: A.Cells(3,10)
难点就是说A.Cells(1+6*3,5),还要计算1+6*3=19来,大家讨论讨论,下午接贴
我還不知道是什麼??
________________________欢迎访问和宣传我的论坛http://hthunter.vicp.net/
好难, 看不懂了!
//////////// TParserEdit for Microsoft scriptControl ////////////
// version 1.0
// Author :s.f.
// Date : 2004/3/25
/////////////////////////////////////////////////////////////////unit uParserEdit;interfaceuses
Windows,SysUtils, Variants, Classes, ComObj, StdCtrls;
type
TParserEdit = class(TEdit)
private
function getEvaluatedVariant: Variant;
public
property TextValue: Variant read getEvaluatedVariant;
end;procedure Register; //这里可以注解掉,不注册为静态组件,需要动态建立
implementationprocedure Register; //不注册请注解该过程
begin
RegisterComponents('IBSSoft', [TParserEdit]);
end;function TParserEdit.getEvaluatedVariant: Variant;
var
Parser : OleVariant;
Tls : TStrings;
Code : string;
begin
Code := Text;
try
Parser := CreateOLEObject('ScriptControl');
try
try
Parser.Language := 'VbScript';
Parser.AllowUI := TRUE;
Result := Parser.Eval(Code);
except
Tls := TstringList.Create;
try
with Tls do
begin
Add('错误号:' + inttostr(Parser.Error.Number));
Add('源:' + Parser.Error.Source);
Add('描述:' + Parser.Error.Description);
Add('行:' + intToStr(Parser.Error.Line) + ',列:' +
Inttostr(Parser.Error.Column));
Add('代码:' + Parser.Error.Text);
Add('帮助文件:' + Parser.Error.helpFile);
Add('帮助主题:' + inttostr(Parser.Error.HelpContext));
end;
MessageBox(getforegroundwindow, pchar(Tls.Text), '执行错误',
mb_ok or mb_IconError);
finally
tls.free;
end;
end;
finally
Parser := null;
end;
except
MessageBox(getforegroundwindow, 'Com 对象错误', '无法解析', mb_ok or
mb_IconError);
end;
end;
end.
/////////////测试窗体调用/////////////
//1.注册为组件
//2.加入该组件到form
//3.修改ParserEdit1的text内容为 10*(1+2)+20
//4.放个button 并编写OnClick事件
//////////////////////////////////procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(String(ParserEdit1.TextValue)); //取回结果
end;