1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| program joueursH;
uses dos,crt,printer;
var
f:text;
i,j,k,l,x,y:integer;
z,ch:char;
nclub,lf,nomjou,prenom,clt,affi:string;
sep:array[1..40] of integer;
begin
{initialisation des variables }
nclub:='';lf:='';nomjou:='';prenom:='';clt:='';affi:='';x:=0;y:=0;l:=0;
z:=chr(9);
{ouverture du fichier texte issu du fichier Excel }
assign(f,'e:\tennis\advers.txt');
{$i-} reset(f) {$i+}:
if ioresult=0 then
begin
writeln('le fichier n'existe pas');ch:=readkey;
halt;
end;
while not eof(f) then
begin
{lecture d'une ligne.Ce que je cherche c'est d'accéder à une ligne déteminée selon la valeur de lf }
readln(f,ligne);l:=length(ligne);
for j:=1 to l do
begin
x:=x+1;
if ligne[j]=z then
begin
y:=y+1;
sep[y]:=x; {détermination des positions de z }
end;
end;
for k:=1 to sep[1]-1 do
begin
nclub:=lnclub+ligne[k]; attribution de la variable nclub par lecture caractère par caractère}
end;
{idem pour la variable lf de la position sep[1]+1 à sep[2]-1}
{idem pour nomjou de sep[2]+1 à sep[3]-1}
{idem pour prenom de sep[3]+1 à sep[4]-1}
{idem pour clt de sep[4]+1 à sep[5]-1}
{idem pour affi de sep[5]+1 à l (longueur de la chaine }
{mise à nul des variables}
for k:=1 to 6 do sep[k$:=0;
nclub:='';lf:='';nomjou:='';prenom:='';clt:='';affi:='';l:=0;
writeln(nclub,' ',lf,' ',nomjou,' ',prenom,' ',clt,' ',affi);
ch:=readkey;
{ j'ai des valeurs après traitement de la première ligne}
end;
close(f);
end. |
Partager