Tous est à peu près dit dans le titre.
Je m'explique je dois copier une sous chaine de caractère dans un fichier, je ne sais pas par avance
la longueur (la longuer peut varier)qu'elle fait , je sais juste qu'il y a un CRLF qui me dit la fin de ma ligne.
je pensais utiliser copy(ligne,debut,fin) mais cela ne fonctionne pas.
si vous avez une astuce pour moi car je dois dire que je tourne en rond.
C'est ce que j'ai pensé faire au départ
je te donne une partie de mon source
uses
classes,
SysUtils,
strUtils;
var
ifcsum : TStringList;
index,longueur, I, N : integer;
mail,segment :string;
C_mail:char ;
begin
ifcsum:= TStringList.Create;
ifcsum.LoadFromFile('C:\test\DIFC96A.01');
for N:=1 to ifcsum.Count - 1 do
begin
segment:=copy(ifcsum[I],1,5); <-- ici j'ai une erreur (indice hors limite)
if
segment ='COM41'
then
begin
longueur:= (33- length(ifcsum[N])) ;
mail:=copy(ifcsum[N], 33,longueur); <-- ici j'ai aussi une erreur (indice hors limite)
if
end;
end;
for i: =1 to 100000 do writeln(ifcsum[N]);
end.
c'est pour cela que j'ai dis que je tournais en rond je vois pas pourquoi.
couf
Oublie c'est réglé Merci beaucoup effectivement length(ifcsum[N]) est > 33 c'est l'inverse que je dois faire merci et excuse moi encore 1000000000 mercis