var SL1,SL2: tstringlist
...
begin
SL1:=TStringList.Create;
SL2:=TStringList.Create;
try
SL1.LoadFromFile('C:\texte.txt');
nr:=0;
for i:=0 to SL1.Count-1 do begin
if ( Length(Trim(SL[i])) = 0 )
or ( Pos('PROC PDP R0P', SL1[i]) <> 0 )
or ( Pos('SIP', SL1[i]) <> 0 )
or ( Pos('FID', SL1[i]) <> 0 )
or ( Pos('OFF', SL1[i]) <> 0 )
or ( Pos('PBIT Q STATE CAP', SL1[i]) <> 0 )
then continue //SL.Delete(i);
else SL2.items.add(SL1[i]);
procedure TForm1.Button1Click(Sender: TObject);
var
SL,SL2:TStringList;
I, idx, nr : Integer;
begin
SL:=TStringList.Create;
SL2:=TStringList.Create;
try
SL.LoadFromFile('C:\texte.txt');
SL2.Delimiter := ' ';
nr:=0;
for i:=0 to SL.Count-1 do begin
if ( Length(Trim(SL[i])) = 0 )
or ( Pos('SIP', SL[i]) <> 0 )
or ( Pos('FID', SL[i]) <> 0 )
or ( Pos('OFF', SL[i]) <> 0 )
or ( Pos('PBIT Q STATE CAP', SL[i]) <> 0 )
then SL.Delete(i) ;
SL2.DelimitedText := SL[I];
SL2.Add(SL[I]);
idx:=1;
while idx <= length(SL2[I]) do begin
if SL2[I][idx] = 'PDP ' then
Inc(nr);
Inc(idx);
end;
end;
finally
SL.Free;
SL2.Free;
end;
ShowMessage('count: '+IntToStr(nr));
end;
end.
PROC PDP R0P
W 9 110
PROC PDP R0P
K 3 112
PROC PDP R0P
N 0 235
PROC PDP ROP
N 10 110
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionfor i := SL.Count-1 downto 0 do begin if ... then SL.Delete(i) ; end;
try SL.BeginUpdate; for i := SL.Count-1 downto 0 do begin if ... then SL.Delete(i) ; end; finally SL.EndUpdate; end;
try
SL.BeginUpdate;
for i := SL.Count-1 downto 0 do begin
if ...
then SL.Delete(i) ;
ShowMessage( SL.Text );
end;
finally
SL.EndUpdate;
end;
var@+
Src : TStringList;
Pdp : TStringList;
Tot : TStringList;
I : Integer;
Val : Integer;
begin
Src := TStringList.Create;
Pdp := TStringList.Create;
Tot := TStringList.Create;
try
Tot.Delimiter := ' ';
Val := 0;
Src.LoadFromFile('C:\Texte.txt');
for I := 0 to Src.Count - 1 do
begin
if Pos('PDP',Src[I]) <> 0 then
begin
Pdp.Add(Src[I]);
Pdp.Add(Src[I+1]);
Tot.DelimitedText := Src[I+1];
Val := Val + StrToIntDef(Tot[1],0);
end;
end;
Pdp.Add(Format('Nombre Total PDP : %d',[Val]));
Pdp.SaveToFile('C:\PDP.txt');
ShowMessage(Format('Nombre Total PDP : %d',[Val]));
finally
Src.Free;
Pdp.Free;
Tot.Free;
end;
procedure TForm1.Button1Click(Sender: TObject); var SL : TStringList; I: Integer; begin SL := TStringList.Create; try SL.Delimiter := ';'; SL.DelimitedText := '"PROC PDP R0P";"W 9 110";"PROC PDP R0P";"K 3 112";"PROC PDP R0P";"N 0 235";"PROC PDP R0P";"N 10 110"'; try Memo1.Lines.AddStrings(SL); Memo1.Lines.Add('******************* Resultat ****************************'); SL.BeginUpdate; for I := SL.Count - 1 downto 0 do if Pos('R0P', SL[I])>0 then SL.Delete(I); finally SL.EndUpdate; Memo1.Lines.AddStrings(SL); end; finally SL.Free; end; end;