Bonjour,
Voici deux procédures extraites de mon programme.
La première fait appel à la seconde et tout est ok
Par contre,la seconde ne fonctionne pas si on clique sur le bouton approprié.
L'appel à la seconde est en gras dans le code.
procedure TForm1.EquipeClick(Sender: TObject);
var
maine:string[8];
x,k,l,m,n,p:byte;
y:string[30];
z:string[2];
rue:array[1..4] of string[30];
fl:array[1..4] of byte;
tlc:array[1..4] of string[2];
i,j,h,xx:integer;
bl:string[35];
ligne,ligne1:string;
jou,inlf,hlf,dlf,inld,qui,s,selection:string[3];
didi:string[5];
index:string[7];
CHAINE:string;
fema,fcomp,fvisit:textfile;
begin
AssignFile(Fichclub,'c:\tendelphi\clubs\ClubsRen.dat');
{$i-} ;reset(fichclub);{$i+};
assignfile(fichcal,'c:\tendelphi\calendrier\calend05.dat');
{$i-} ;reset(fichcal); {$i+} ;
if ioresult<>0 then rewrite(fichcal);
assignfile(fema,'c:\tendelphi\documents\fema.txt');rewrite(fema);append(fema);
assignfile(fcomp,'c:\tendelphi\documents\compequi.txt');rewrite(fcomp);append(fcomp);
assignfile(fvisit,'c:\tendelphi\documents\visiteur.txt');rewrite(fvisit);append(fvisit);
assignfile(fichcli,'C:\tendelphi\membres\clubadr1.dat');
{$i-};reset(fichcli);{$i+};
if ioresult<>0 then rewrite(fichcli);
bl:=' ';
maine:=inputbox('Semaine désirée','**/**/**',maine);
ligne1:='EQUIPES en DEPLACEMENT LE ' +' '+maine;
writeln(fcomp,ligne1);
l:=0;i:=0;ligne:='';p:=0 ;
reset(fichcal);
repeat
ligne:='';ligne1:='';
read(fichcal,cal);
if (cal.date_aller=maine) and (cal.nrcluba<>'N130') then
begin
l:=l+1;p:=p+1;
if ((l mod 2<>0) and (l>1)) then writeln(fvisit,'.');
if (l=2) then writeln(fvisit,' ');
if (l>2) and (l mod 2=0) then writeln(fvisit,' ');
write(fvisit,' ',cal.division);
writeln(fvisit,' ',cal.date_aller);
writeln(fvisit,' ');
write(fvisit,' ',cal.hraller);
writeln(fvisit,' ',cal.nraller);
write(fvisit,' ',cal.indeqb ,' rend visite
');
reset(fichclub);
repeat
read(fichclub,rensclub);
until (cal.nrcluba= rensclub.indclub) or (eof(fichclub));
writeln(fvisit,rensclub.nom,' ',cal.indeqa,' ',cal.nrcluba);
writeln(fvisit,' ',rensclub.adrloc,' ',rensclub.loclocal);
writeln(fvisit,' ');writeln(fvisit,' ');writeln(fvisit,' ');
end ;
if (cal.nrcluba='N130') and (cal.date_aller=maine) then
begin
reset(fichclub);p:=p+1;
repeat
read(fichclub,rensclub);
until (cal.nrclubb= rensclub.indclub) or (eof(fichclub));
if copy(cal.division,1,2)<>'DA' then
begin
ligne:=ligne+'X'+' '+'.' ;
end else
begin
ligne:=ligne+'.'+' '+'X';
end;
if copy(cal.division,1,2)<>'DA' then
begin
ligne:=ligne+copy(cal.date_aller+bl,1,8)+' '+copy(cal.nraller+bl,1,8)+' '+
copy(cal.diVision+bl,1,5)+copy(cal.division+bl,6,1)+' '+ cal.hraller+' '+
cal.indeqa+' '+cal.nrclubb+' '+copy(rensclub.nom+bl,1,30)+' '+cal.indeqb+' ';
end else
begin
didi:=(copy(cal.division,3,3)+'.'+copy(cal.division,6,1));
ligne:=ligne+copy(cal.date_aller+bl,1,8)+' '+copy(cal.nraller+bl,1,8)+' '+
didi+copy(cal.division+bl,7,1)+' '+cal.hraller+' '+
cal.indeqa+' '+cal.nrclubb+' '+copy(rensclub.nom+bl,1,30)+' '+cal.indeqb+' ';
end;
end;
if (cal.date_retour=maine) and (cal.nrcluba='N130' ) then
begin
l:=l+1;p:=p+1;
if ((l mod 2<>0) and (l>1)) then writeln(fvisit,'.');
if (l=2) then writeln(fvisit,' ');
if (l>2) and (l mod 2=0) then writeln(fvisit,' ');
write(fvisit,' ',cal.division);
writeln(fvisit,' ',cal.date_retour);
writeln(fvisit,' ');
write(fvisit,' ',cal.hrretour);
writeln(fvisit,' ',cal.nrretour);
write(fvisit,' ',cal.indeqa ,' rend visite
: ');
reset(fichclub);
repeat
read(fichclub,rensclub);
until (cal.nrclubb= rensclub.indclub) or (eof(fichclub));
writeln(fvisit,rensclub.nom,' ',cal.indeqb,' ',cal.nrclubb);
writeln(fvisit,' ',rensclub.adrloc,' ',rensclub.loclocal);
writeln(fvisit,' ');writeln(fvisit,' ');writeln(fvisit,' ');
end ;
if (cal.nrclubb='N130') and (cal.date_retour=maine) then
begin
reset(fichclub);p:=p+1;
repeat
read(fichclub,rensclub);
until (cal.nrcluba= rensclub.indclub) or (eof(fichclub));
if copy(cal.division,1,2)<>'DA' then
begin
ligne:=ligne+'X'+' '+'.' ;
end else
begin
ligne:=ligne+'.'+' '+'X';
end;
if copy(cal.division,1,2)<>'DA' then
begin
ligne:=ligne+copy(cal.date_retour+bl,1,8)+' '+copy(cal.nrretour+bl,1,8)+' '+
copy(cal.division,1,5)+copy(cal.division,6,1)+' '+cal.hrretour+' ';
end else
begin
didi:=(copy(cal.division+bl,3,3)+'.'+copy(cal.division+bl,6,1));
ligne:=ligne+copy(cal.date_retour+bl,1,8)+' '+copy(cal.nrretour+bl,1,8)+' '+
didi+copy(cal.division,7,1)+' '+cal.hrretour+' ';
end;
if cal.nrclubb='N130' then
begin
reset(fichclub);
repeat
read(fichclub,rensclub);
until (rensclub.indclub=cal.nrcluba) or (eof(fichclub));
ligne:=ligne+cal.indeqb+' '+cal.nrcluba+' '+copy(rensclub.nom+bl,1,30)+' '+cal.indeqa+' ';
end else
begin
write(fvisit,' ',cal.indeqa,' rend visite
: ');
reset(fichclub);
repeat
read(fichclub,rensclub);
until (cal.nrclubb=rensclub.indclub) or (eof(fichclub));
writeln(fvisit,rensclub.nom,' ',cal.indeqb,' ',cal.nrclubb);
writeln(fvisit,' ',rensclub.adrloc,' ',rensclub.loclocal);
writeln(fvisit,chr(10));writeln(fvisit,chr(10));
end;
end;
if (cal.date_aller=maine) or (cal.date_retour=maine) then
begin
for i:=1 to 4 do
begin
rue[i]:='';tlc[i]:='';fl[i]:=0;
end;
if ((cal.nrcluba='N130') and (cal.date_aller=maine) )
or ((cal.nrclubb='N130') and (cal.date_retour=maine)) then
begin
if copy(cal.division,1,2)<>'DA' then n:=4 else n:=3;
listbox2.items.add(chr(64+p));
For i:=1 to n do
begin
showmessage('joueur'+' '+inttostr(i)+' '+chr(64+p));
selection:=inputbox('Joueurs','3 lettres',selection);
selection:=uppercase(selection);EDIT1.Text:=selection;
joueurclick(joueur);
jou:=inputbox('Sélect N° Items','de 0 à ...',jou);
listbox1.Items.move(strtoint(jou),0);
chaine:=listbox1.items[listbox1.itemIndex];
reset(fichcli);
qui:=copy(chaine,1,3);
xx:=strtoint(qui);
seek(fichcli,xx);
read(fichcli,membre);
rue[i]:=membre.nom;
if copy(cal.division,1,2)<>'DA' then
begin
tlc[i]:=membre.clth;
fl[i]:=membre.lfh;
end else
begin
tlc[i]:=membre.cltd;
fl[i]:=membre.lfd;
end;
listbox2.items.add(membre.nom+' '+membre.clth);
if p mod 5 =0 then listbox2.Clear;
end;
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if tlc[j]<tlc[i] then
begin
x:=fl[i];fl[i]:=fl[j];fl[j]:=x;
y:=rue[i];rue[i]:=rue[j];rue[j]:=y;
z:=tlc[i];tlc[i]:=tlc[j];tlc[j]:=z;
end;
end;
end;
for i:=1 to n do
begin
str(fl[i],hlf);
index:=copy(hlf+bl,1,3);
ligne:=ligne+copy(rue[i]+bl,1,30)+' '+tlc[i]+' '+copy(index+bl,1,3);
end;
writeln(fema,ligne);flush(fema);
end else
begin
if cal.nrcluba='N130' then
begin
ligne1:='Equipe '+' '+cal.indeqa;
end else
begin
ligne1:='Equipe '+' '+cal.indeqb;
end;
writeln(fcomp,ligne1);ligne1:='';
if copy(cal.division,1,2)<>'DA' then n:=4 else n:=3;
listbox2.items.add(chr(64+p));
For i:=1 to n do
begin
showmessage('joueur'+' '+inttostr(i)+' '+chr(64+p));
selection:=inputbox('Joueurs','3 lettres',selection);
selection:=uppercase(selection);EDIT1.Text:=selection;
joueurclick(joueur);
jou:=inputbox('Sélect N° Items','de 0 à ...',jou);
listbox1.Items.move(strtoint(jou),0);
chaine:=listbox1.items[listbox1.itemIndex];
qui:=copy(chaine,1,3);
xx:=strtoint(qui);
reset(fichcli);
seek(fichcli,xx);
read(fichcli,membre);
rue[i]:=membre.nom;
if copy(cal.division,1,2)<>'DA' then
begin
tlc[i]:=membre.clth;
fl[i]:=membre.lfh;
end else
begin
tlc[i]:=membre.cltd;
fl[i]:=membre.lfd;
end;
listbox2.items.add(membre.nom+' '+membre.clth);
if p mod 5 =0 then listbox2.Clear;
end;
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if tlc[j]<tlc[i] then
begin
x:=fl[i];fl[i]:=fl[j];fl[j]:=x;
y:=rue[i];rue[i]:=rue[j];rue[j]:=y;
z:=tlc[i];tlc[i]:=tlc[j];tlc[j]:=z;
end;
end;
end;
for i:=1 to n do
begin
writeln(fvisit,' ',copy(rue[i]+bl,1,30),
tlc[i],' ',fl[i]);
writeln(fvisit,chr(10));
str(fl[i],hlf);
ligne1:=ligne1+' '+copy(rue[i]+bl,1,30)+' '+ copy(tlc[i]+bl,1,2)+' '
+copy(hlf+bl,1,3);
end;
writeln(fcomp,ligne1);flush(fcomp);
if n=3 then
begin
writeln(fvisit,chr(10));writeln(fvisit,chr(10));
end;
if (l mod 2=1) then
begin
writeln(fvisit,chr(10));writeln(fvisit,chr(10));
writeln(fvisit,' ');writeln(fvisit,chr(10));
writeln(fvisit,chr(10));writeln(fvisit,' ');writeln(fvisit,chr(10));
end;
if l mod 2=0 then writeln(fvisit,chr(12));
end;
end;
until (eof(fichcal)) or (p=27);
closefile(fcomp);closefile(fema); closefile(fvisit);
end;
procedure TForm1.joueurClick(Sender: TObject);
var
i,x:integer;
s,jou:string;
begin
assignfile(fichcli,'C:\tendelphi\membres\clubadr1.dat');
{$i-};reset(fichcli);{$i+};
if ioresult<>0 then rewrite(fichcli);
reset(fichcli);
i:=-1;
listbox1.clear;
while not eof(fichcli)do
begin
read(fichcli,membre);
i:=i+1;
if copy(membre.nom,1,length(edit1.text))=edit1.text then
begin
IF I<10 then
begin
str(i,s);
s:='00'+inttostr(i);
end;
if (i<100) and (i>9) then
begin
str(i,s);
s:='0'+inttostr(i);
end;
if i>99 then str(i,s);
listbox1.items.Add(s+' '+membre.nom+' '+membre.cltH+' '+inttostr(membre.lfh));
end;
end;
end;
Merci de votre patience
rogertwo1