Assign
Verze z 5. 10. 2012, 20:51, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky)
Přiřadí jméno vnějšího souboru proměnné typu soubor.
- Deklarace
procedure Assign(var f; Name);
- Režim
- Windows, Reálný, Chráněný
- Poznámky
- F je proměnná kteréhokoli typu soubor a Name je výraz typu string nebo výraz typu PChar, je-li povolená rozšířená syntaxe. Všechny další operace s F budou probíhat na vnějším souboru jménem Name.
- Po zavolání procedury Assign spojení proměnné F a vnějšího souboru Name trvá až do dalšího volání Assign s parametrem F.
- Jméno souboru tvoří cesta, složená z nula nebo více jmen adresářů, oddělených obráceným lomítkem, a vlastní jméno souboru:
Disk:\JménoAdresáře\...\JménoAdresáře\JménoSouboru
- Pokud cesta začíná obráceným lomítkem, začíná v hlavním adresáři (root), jinak začíná v aktuálním adresáři.
- Disk je identifikátor disku (A..Z). Pokud není Disk s dvojtečkou uveden, použije se aktuální disk.
- \JménoAdresáře\...\JménoAdresáře je cesta začínající v hlavním adresáři a pokračující přes vyjmenované podadresáře až k jménu souboru. JménoSouboru se skládá z jednoho až osmi znaků, nepovinně následovných tečkou a maximálně tříznakovou příponou. Maximální délka celého jména souboru je 79 znaků.
- Zvláštní případ nastane, je-li Name prázdný řetězec (' '); tj. je-li Lengt (Name) nula. V takovém případě se F sdruží se standardním vstupním nebo standardním výstupním souborem. Tyto speciální soubory umožňují programu využívat možnosti přesměrování I/O operačního systému DOS.
- Je-li F přiřazeno prázdné jméno, po zavolání Reset (F) bude F odkazovat na standardní vstupní soubor a po zavolání Rewrite (F) bude F odkazovat na standardní výstupní soubor.
- Omezení
- Nesmíte aplikovat na otevřený soubor.
- Viz také
- Append
Vzorový příklad
{Assign.PAS} {Vzorový příklad pro proceduru Assign. Pokuste se přesměrovat tento program z DOSu na PRN, do diskového souboru, atd.} { Pro Windows: } { uses WinCrt; } var F: Text; begin Assign(F, ); { Standardní výstup } Rewrite(F); Writeln(F, 'standard output...'); Close(F); end.