Recent

Author Topic: [UNSOLVED] Assign ficher pascal !!  (Read 2387 times)

whitehat

  • Jr. Member
  • **
  • Posts: 93
[UNSOLVED] Assign ficher pascal !!
« on: November 23, 2016, 12:44:47 am »
when i execute my program there is a mistake with assign here is the error message (es.lpr(16,9) Error: Call by var for arg no. 1 has to match exactly: Got "tfiche" expected "Text")
Code: Pascal  [Select][+][-]
  1. program es;
  2. uses wincrt;
  3. type
  4.   e= record
  5.     numv,np:integer;
  6.     ld,la,nv:string;
  7.   end;
  8.   tfiche= array [1..20] of e;
  9. var
  10. f:tfiche;
  11.  
  12. procedure remplire (var f:tfiche);
  13. var
  14. v:tfiche;
  15. begin
  16. Assign(f,'E:\vol.dat');
  17. open(f);
  18. with v do
  19. writeln('saisir numero du vom');
  20. lire(numv);
  21. writeln('saisir numero de passagé');
  22. lire(np);
  23. writeln('saisir lieu d''ariver');
  24. lire(la);
  25. writeln('saisie lieu de deppart');
  26. lire(ld);
  27. repeat
  28. writeln('saisir l nember de voyage');
  29. lire(nv);
  30. until nv in ['a'..'d');
  31. end;
  32.  
  33.  

howardpc

  • Hero Member
  • *****
  • Posts: 4144
Re: [UNSOLVED] Assign ficher pascal !!
« Reply #1 on: November 23, 2016, 01:38:23 am »
You're perhaps looking for a program like this:

Code: Pascal  [Select][+][-]
  1. program es;
  2.  
  3. type
  4.  
  5.   TRec = record
  6.     numv, np: integer;
  7.     ld, la:   shortstring;
  8.     nv:       Char;
  9.   end;
  10.  
  11.   TFile = file of TRec;
  12.  
  13.  
  14. procedure FillRec(out aRec: TRec);
  15. begin
  16.   aRec:=default(TRec);
  17.   WriteLn('saisir numero du vom');
  18.   ReadLn(aRec.numv);
  19.   WriteLn('saisir numero de passagé');
  20.   ReadLn(aRec.np);
  21.   WriteLn('saisir lieu d''ariver');
  22.   ReadLn(aRec.la);
  23.   WriteLn('saisie lieu de deppart');
  24.   ReadLn(aRec.ld);
  25.   repeat
  26.     WriteLn('saisir l nember de voyage');
  27.     Read(aRec.nv);
  28.   until (aRec.nv in ['a'..'d']);
  29. end;
  30.  
  31. var
  32.   f: TFile;
  33.   r: TRec;
  34.   c: string;
  35.  
  36. begin
  37.   AssignFile(f, 'E:\vol.dat');
  38.   Rewrite(f);
  39.   repeat
  40.     FillRec(r);
  41.     Write(f, r);
  42.     WriteLn();
  43.     WriteLn('Add another record (Y/N)?');
  44.     ReadLn(c);
  45.   until (c[1] in ['N', 'n']);
  46.   CloseFile(f);
  47. end.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12718
  • FPC developer.
Re: [UNSOLVED] Assign ficher pascal !!
« Reply #2 on: November 23, 2016, 10:30:18 am »
tfiche is not a filetype. TFile as Howardpc defines is is a filetype.

 

TinyPortal © 2005-2018