Write

Internφ programovacφ jazyk

procedure Write(var f : file; ... );

Parametry

f prom∞nnß typu soubor (file) oznaΦujφcφ otev°en² soubor
ostatnφ parametry libovolnΘ v²razy typu Boolean, Char, Short, Integer, Real, Date, Time, Timestamp, String, CSString nebo CSIString.

Popis

Procedura Write konvertuje hodnoty v²raz∙, kterΘ obdr₧φ jako druh² a dalÜφ parametry, na znakovΘ °et∞zce a zapisuje je do souboru, kter² je jejφm prvnφm parametrem. Soubor musφ b²t p°edem otev°en.

Za druh²m a ka₧d²m dalÜφm parametrem Write smφ b²t uvedena dvojteΦka a celoΦφseln² v²raz. Je-li takov² ·daj uveden, pak vyΦφslφ hodnotu tohoto v²razu a p°edß se konverznφ procedu°e. V²znam tΘto hodnoty je stejn² jako v²znam parametru, kter² v definici pohledu udßvß p°esnost zobrazenφ - viz kapitola o nßvrhu pohled∙. Hodnota °φkß, jak²m zp∙sobem se provede konverze parametru Write na °et∞zec znak∙.

V praxi se ukazuje lepÜφ p°edem si zformßtovat zapisovanΘ ·daje pomocφ konverzφch procedur (Int2str, Real2str, Date2str apod.) do °et∞zce a ten pak p°edat funkci.

P°φklad 1

Write(soubor, 'V²sledek je ', 17.5*koef : -3, ' metr∙ za sekundu.');

P°φklad

naΦtenφ obsahu slo₧ky TEX typu Text z prvnφho zßznamu tabulky TEXTY do souboru na disku:

const
  MAX = 2000;
table
  Texty;
var
  f : file;
  longstr : string[MAX];
  delka,i : short;
  kolikrat : short;
begin
  Rewrite(f,'c:\longtext.txt');
  delka := Texty[0].Tex#;
  kolikrat := Trunc(delka/MAX)+1;
  for i := 1 to kolikrat do begin
    if i < kolikrat then 
      longstr := Texty[0].tex[(i-1)*MAX,i*MAX-1]
    else 
      longstr := Texty[0].tex[(kolikrat-1)*MAX,delka];
    Write(f,longstr);
  end;
  Close(f);
end.  

Viz