小弟的代码是:procedure TForm1.N3Click(Sender: TObject);
var
v,v1:variant;
i:integer;
begin
if opendialog1.Execute then
begin
v:=createoleobject('Excel.application');
v.visible:=false;
v.workbooks.add(opendialog1.FileName);
v1:=v.workbooks[1].worksheets[1];
i:=1;
while string(v1.cells[i,1])<>'' do
begin
if (length(string(v1.cells[i,1]))=11)
and ((copy(string(v1.cells[i,1]),1,2)='13')
or (copy(string(v1.cells[i,1]),1,1)='0')) and (not findtel_list(string(v1.cells[i,1]))) then
begin
suilistbox1.Items.Add(string(v1.cells[i,1]));
end;
inc(i);
suipanel4.Caption:='用户列表('+inttostr(suilistbox1.Count)+')';
application.ProcessMessages;
end;
suimessagedialog1.Caption:='信息';
suimessagedialog1.IconType:=suiinformation;
suimessagedialog1.Text:='数据导入完成!';
suimessagedialog1.ShowModal;
v.quit;
end;
end;现在的问题是如果length(string(v1.cells[i,1]))为10位的话在该行前面加‘0’希望给出答案!!!
var
v,v1:variant;
i:integer;
begin
if opendialog1.Execute then
begin
v:=createoleobject('Excel.application');
v.visible:=false;
v.workbooks.add(opendialog1.FileName);
v1:=v.workbooks[1].worksheets[1];
i:=1;
while string(v1.cells[i,1])<>'' do
begin
if (length(string(v1.cells[i,1]))=11)
and ((copy(string(v1.cells[i,1]),1,2)='13')
or (copy(string(v1.cells[i,1]),1,1)='0')) and (not findtel_list(string(v1.cells[i,1]))) then
begin
suilistbox1.Items.Add(string(v1.cells[i,1]));
end;
inc(i);
suipanel4.Caption:='用户列表('+inttostr(suilistbox1.Count)+')';
application.ProcessMessages;
end;
suimessagedialog1.Caption:='信息';
suimessagedialog1.IconType:=suiinformation;
suimessagedialog1.Text:='数据导入完成!';
suimessagedialog1.ShowModal;
v.quit;
end;
end;现在的问题是如果length(string(v1.cells[i,1]))为10位的话在该行前面加‘0’希望给出答案!!!
tmp := string(v1.cells[i,1]);
if length(tmp) = 10 then
tmp := '0' + tmp
use a temp string
tmp := string(v1.cells[i,1]);
if length(tmp) = 10 then
tmp := '0' + tmp