你的意思我不是很明白,我说说看能不能帮你
把文本文件用EXCEL打开转换成表格应该变成'5ca'一列 和'87.32sdf'一列
一共2列,然后查找替换把'sdf'都删除,然后你就可以求和了,大不了存成
dbase的数据库,用SQL 语句处理。或DELPHI处理。
和'87.32sdf'如果不想删除sdf,可以再复制一列'87.32sdf',这样一列删除
数字,另一列删除字符。
不知道我说的行不行,给个回复
把文本文件用EXCEL打开转换成表格应该变成'5ca'一列 和'87.32sdf'一列
一共2列,然后查找替换把'sdf'都删除,然后你就可以求和了,大不了存成
dbase的数据库,用SQL 语句处理。或DELPHI处理。
和'87.32sdf'如果不想删除sdf,可以再复制一列'87.32sdf',这样一列删除
数字,另一列删除字符。
不知道我说的行不行,给个回复
然后再用Access导入,应该就好办很多了吧?
{ 过滤字符串 }
var
I: Integer;
begin
Result := '';
for I := 1 to Length(mStr) do
if mStr[I] in mSysCharSet then
Result := Result + mStr[I];
end; { StringFilter }function CalcSum(mStrings: TStrings; mIndexs: array of string): Real;
var
I, J: Integer;
begin
Result := 0;
if not Assigned(mStrings) then Exit;
for J := Low(mIndexs) to High(mIndexs) do
for I := 0 to mStrings.Count - 1 do
if Pos(mIndexs[J], mStrings[I]) = 1 then
Result := Result + StrToFloatDef(
StringFilter(Copy(mStrings[I], Length(mIndexs[J]) + 1, MaxInt),
['0'..'9', '.']), 0);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := Format('%f', [CalcSum(Memo1.Lines, ['5ca', '5ad', '5id'])]);
end;
var
NumberFile:TStrings;
i:integer;
sum:float;
strTmp:String;
begin
sum:=0;
try
NumberFile:=TstringList.Create ;
for i:=1 to NumberFile.Count -1 do
begin
strTmp:= Copy(NumberFile[i],1,1);
if strTmp='5' then
sum:=sum+StrToFloat(Copy(NumberFile[i],5,37))
end;
finally
NumberFile.Free ;
end;
Result:=sum;
end;