Rozšíření textového souboru: typy a základní aspekty určování, zda patří do programů. Textový soubor Který program má příponu txt

Textový soubor- počítačový soubor obsahující textová data. Textové soubory jsou proti binárním (binárním) souborům, které obsahují data, která nejsou navržena tak, aby byla interpretována jako text (například soubory, které ukládají text v kódované nebo komprimované podobě nebo ukládají zvuk, obrázky nebo jiná data místo textu).

Výhody a nevýhody

Výhody:

  • Všestrannost - textový soubor lze číst (tak či onak) na jakémkoli systému nebo operačním systému, zejména pokud jde o jednobajtové kódování jako ASCII, které nepodléhá problému běžnému pro jiné formáty souborů - nezáleží jim na tom rozdíl v pořadí bajtů nebo slov délky stroje na různých platformách.
  • Stabilita - každé slovo a znak v takovém souboru je soběstačný a pokud dojde k poškození bajtů v takovém souboru, pak obvykle můžete data obnovit nebo pokračovat ve zpracování zbytku obsahu, zatímco v komprimovaných nebo binárních souborech , poškození několika bajtů může způsobit, že soubor bude zcela neobnovitelný. Mnoho systémů pro správu verzí je navrženo pro textové soubory a může pracovat pouze s binárními soubory jako celkem.
  • Formát textový soubor je extrémně jednoduchý a lze jej změnit pomocí textového editoru - programu, který je dodáván téměř s jakýmkoli operačním systémem.

Nevýhody:

  • Velké nekomprimované textové soubory mají nízkou entropii informací - tyto soubory zabírají více místa, než je požadováno. Ačkoli tato redundance určuje zvýšenou odolnost vůči poruchám v kanálech pro přenos dat a při příjmu dat z médií, například z magnetické pásky.
  • Některé operace s textovými soubory jsou neúčinné. Pokud se například v souboru objeví číslo, počítačový systém jej před zahájením operací s ním bude muset převést do svého interního formátu pomocí relativně složitého postupu převodu čísel; Chcete -li přejít na 1000. řádek, musíte před ním spočítat 999 řádků; je obtížné nahradit jeden řádek druhým atd. Proto se při práci s velkým množstvím dat používají textové soubory pouze jako přechodný formát, který zajišťuje interoperabilitu.

Formáty založené na textových souborech

Kvůli jejich jednoduchosti se textové soubory často používají k ukládání informací o službě (například protokoly): protože operace přidání nových dat na konec textového souboru nevyžaduje žádné významné výpočetní prostředky, bez ohledu na stávající velikost souboru a typ přidávaných textových dat, udržování souborů textového protokolu se obvykle vyskytuje efektivně a neviditelně pro uživatele a pro další aplikace (až do vyčerpání místa na disku).

Textový formát slouží jako základ pro mnoho dalších specializovaných formátů (např. .Ini, SGML, HTML, XML, TeX, zdrojový kód programovacího jazyka). V některých z těchto formátů lze jako prostředek k označení textu použít určité kombinace znaků. V tomto případě může soubor ukládat formátovaný text, ve kterém lze pro znaky (například formát RTF, HTML) dodatečně určit písmo, styl, velikost atd.

Přípony názvů souborů

DOS a Windows obvykle používají příponu .txt pro soubory prostého textu. Soubory s jakoukoli jinou příponou nebo bez ní však mohou být textové soubory. Například zdrojové kódy programů jsou obvykle uloženy v souborech s příponami odpovídajícími programovacímu jazyku, ve kterém jsou programy napsány (.bas, .pas, .c).

Formátovaný text (text se značkami) je obvykle uložen v souborech s příponou odpovídající formátu nebo značkovacímu jazyku - .rtf, .htm, .html.

Kódování

8bitový text

Historicky byla ke kódování textových souborů používána 7bitová znaková sada ASCII, dále 8bitová EBCDIC a různá rozšíření ASCII. Na 8bitových kódových stránkách je běžné používat znaky ASCII v první polovině tabulky kódu.

Výhodou 8bitové reprezentace textu je programová jednoduchost a nezávislost na problému pořadí bajtů nebo délky slova na různých platformách. Nevýhodou je velké množství různých standardů, což může vést k nekompatibilitě.). Někdy speciální znak znaku (U + FEFF

Taková nekonzistence je dána zásadami fungování psacích strojů: Chcete -li přejít na nový řádek, musíte vrátit vozík na začátek řádku ( návrat vozíku) a poté otočte buben o jeden řádek ( line feed). Při tisku na tiskárně se může jeden a druhý znak oddělit (například pro výběr řádku dvojitým zadáním nebo pro posunutí řádku o několik řádků), ale nejsou potřeba textové soubory.

Kromě toho textové soubory obsahují symboly, jako je tabelace (kód 9) a překlad stránky (kód 0xC). Ten byl používán starými textovými editory jako LEXICON, stejně jako v souborech určených pro tisk na tiskárně.

Soubor(Anglický soubor - pořadač) - koncept ve výpočetní technice: entita, která vám umožňuje přístup ke zdroji výpočetní systém a má řadu funkcí:

  • pevný název (posloupnost znaků, číslo nebo něco jiného, ​​co jedinečně charakterizuje soubor);
  • určitou logickou reprezentaci a odpovídající operace čtení / zápisu.

Může to být cokoli - od posloupnosti bitů (i když to čteme po bajtech, nebo spíše slovních skupinách bajtů, čtyři, osm, šestnáct) až po databázi s libovolnou organizací nebo jakoukoli přechodnou možnost; vícerozměrná databáze, přísně seřazená.

První případ odpovídá operacím čtení / zápisu proudu a / nebo pole (tj. Sekvenční nebo s přístupem podle indexu), druhý - příkazy DBMS. Mezilehlé možnosti jsou čtení a analýza všech druhů formátů souborů.

(Z Wikipedie, otevřené encyklopedie)

Bože, jaký nesmysl (© olivur77).

Rozumíš něčemu? Já ne. Definice ve Wikipedii je samozřejmě velmi pravděpodobně správná, ale nedává žádné pochopení pro pouhé smrtelníky (jako jsem já).

Co je to soubor? Vysvětlení v normálním jazyce.

Dovolte mi znovu vysvětlit na příkladech, co je soubor, a pak je akademický výklad, a zejména překlad z angličtiny, nudný.

Přemýšleli jste někdy nad tím, proč kliknutím na „malou fotografii“ () otevřete program (také soubor a někdy i několik souborů) pro prohlížení fotografií? Když klikneme na zástupce filmu (), spustí se program pro sledování filmu? Když klikneme na zástupce (mimochodem také na soubor) pro bezplatnou komunikaci (například), otevře se program, pomocí kterého bezplatně komunikujeme s přáteli a příbuznými a dokonce se vidíme?

Proč se to děje? Pokud si myslíte, že je operační systém Windows tak chytrý, pak se hluboce mýlíte.

Chci vyvrátit mýtus o „chytrosti“ operační systém Windows a seznámí vás s pojmy jako "Soubor", "přípona", "formát".

Na první pohled jsou ta slova děsivá a nesrozumitelná, ale ve skutečnosti je všechno docela jednoduché a brzy se o tom přesvědčíme.

Udělejme jedno nastavení (jak ukazuje obrázek níže), které nám pomůže porozumět těmto konceptům.

Klikněte na tlačítko „Start“, vyberte „Ovládací panely“ (pokud se chcete dozvědět více o tom, co to je, projděte si to). Pokud váš pohled na „Ovládací panel“ není stejný jako na obrázku (ale s největší pravděpodobností „zobrazení podle kategorií“, protože toto zobrazení je ve výchozím nastavení nastaveno), klikněte levým tlačítkem myši na nápis „Přepnout na klasické zobrazení“ “.

Poté rychle dvakrát klikněte levým tlačítkem myši na ikonu „Možnosti složky“ - otevře se nastavení vlastností složky. Ve výchozím nastavení se dostanete na kartu „Obecné“. Klikněte levým tlačítkem na kartu „Zobrazit“.

Kliknutím na levé tlačítko myši zrušte zaškrtnutí políčka vedle „Skrýt přípony registrovaných typů souborů“. Pokud tento nápis nevidíte, použijte pravý posuvník (posuvník) a „posuňte“ na konec nabídky (přesuňte ukazatel myši nad posuvník, stiskněte levé tlačítko myši a podržte tlačítko, táhněte jezdec dolů ).

Jak vytvořím soubor? Například txt.

Začněme jednoduchým příkladem. Vytvořme na naší ploše běžný textový dokument (soubor). Uděláme to následujícím způsobem.

Umístěte ukazatel myši (kurzor) do oblasti plochy, kde nejsou žádné zkratky. Klikněte pravým tlačítkem, klikněte levým tlačítkem na „Nový“-„Textový dokument“.

Na ploše by se měla objevit zkratka s obrázkem „poznámkového bloku na pružinách, jako by to bylo s textem“ pod názvem „Text document.txt“.

Z počítačového hlediska jsme vytvořili textový soubor. Vezměte prosím na vědomí, že kromě slov, kterým rozumíme, je v názvu souboru tečka a tři nesrozumitelná anglická (latinská) písmena. K čemu to všechno je a k čemu to je? Pojďme v pořádku.

Textový dokument.txt Je ve skutečnosti název samotného souboru, který se skládá z:

    1. název

V tomto případě je název souboru textový dokument (Název souboru může být v zásadě libovolný, může sestávat z jednoho nebo několika slov, může obsahovat speciální znaky, například podtržítko, pomlčku nebo mezeru. V našem případě soubor název se skládá ze 2 slov a jednoho zvláštního znaku (kupodivu) - mezery. to znamená, že pokud je to pro nás srozumitelná kombinace slov Textový dokument, počítač bude toto jméno vnímat jako textový prostorový dokument (Toto je pro informaci „Nemá to nic společného s naším tématem. Je to jen Můžete se v budoucnu srazit, aby vás to nepřekvapilo).

    1. Oddělovač

Tečka (.) Je znak, který odděluje název souboru a příponu souboru. Proč přesně ta pointa? Historicky od konce století. To se rozhodli už dávno, když se programy teprve rodily. Ano, obecně a hezky - nic nadbytečného a nebolí to oči.

    1. Rozšíření

Zdá se mi, že samotné rozšíření slova je srozumitelnější. Zde je název souboru, vzali ho a rozšířili o některá písmena a název souboru se rozšířil (dobře nebo déle). V našem případě má rozšíření formu txt... Toto je txt a říká operačnímu systému (Windows), který program tento soubor otevře, abychom viděli (četli), co je v tomto souboru napsáno (v tomto případě textový soubor), nebo tam něco zapsali. Také říkají, že tento soubor je v textovém formátu (více o formátech později).

Pokud je to zatím jasné, co je přípona souboru, pak dám formulaci pro dospělé: Přípona souboru označuje operačnímu systému jeho formát, v našem případě je soubor ve formátu txt.

Dlouho jsem přemýšlel, zda v rámci tohoto tématu provést exkurzi do historie, nebo ne, ale přesto jsem se rozhodl napsat, protože v této exkurzi najdete několik dalších odpovědí na otázky „proč ...“.

Kdysi kdy počítače byly velké a slabé„Nebyla to tak krásná vícebarevná grafika, kterou nyní vidíte na monitoru počítače, a v Sovětském svazu bylo zvykem říkat počítačům počítače (elektronické počítače nebo počítače, kde„ P “znamenalo osobní), ale programátoři byli matematici. V té době byl na obrazovce monitoru vidět pouze bílý nebo zelený text na černém pozadí. Počítače byly tehdy 8bitové (teď si s tím nelámej hlavu, vezmi to s vírou). O každou informaci se tehdy bojovalo. Byly vyvinuty různé standardy.

V této době tedy došlo k jednomu z rozhodnutí, že název souboru bude mít název formuláře / oddělovač / příponu.

Znovu kvůli nedostatku zdrojů bylo pod název souboru přiděleno 8 znaků (řekněme ne více než 8 znaků, to znamená, že méně je možné, ale více než 8 není možné), vytvořte tečku jako oddělovač a pouze 3 pro znak rozšíření (písmeno).

Čas vypršel. Pokrok nezastavil. Počítače se staly malými a výkonnými díky krásné, krásné barevné grafice, která potěší naše oči. Bitová hloubka osobní počítače se zvýšil 8krát. A teď máte před sebou 32bitový nebo 64bitový počítač s 32bitovým nebo 64bitovým operačním systémem (pravděpodobně Windows).

Jak se počítače staly výkonnějšími, omezení délky názvu souboru se stalo méně důležitým. Dnes je to někde až 256 znaků.

Takže to je vše. Vzhledem k tomu, že po celém světě existují miliardy názvů souborů a tato jména mohou být libovolná, je těchto 256 znaků pro oči dostačujících. Zajímavější s rozšířeními. Ve skutečnosti není tolik formátů souborů (relativně samozřejmě) a stále je dost, obecně, 3 znaků. Nyní jsou v příponě souboru 4 znaky (je jich více), ale jde spíše o kontinuitu. Například soubor vytvořený editorem testu aplikace Word z Balíček Microsoft Office 2003 má příponu .doc a soubor vytvořený testovacím editorem Word z balíčku Microsoft Office 2007 (novější verze tohoto balíčku), má příponu .docx.

Další zajímavý bod. Jakmile počítače dosáhly svého vývoje, když se na monitorech začala objevovat grafika, a ne jen text, objevily se zkratky (Ano, ve skutečnosti manipulátor s myší. Myši sovětské výroby měly docela dost velká velikost, takže jim přezíravě říkali krysy). Takže malé obrázky na štítcích (v našem případě je to obrázek „poznámkového bloku na pružinách, jak to bylo s textem“) - to jsou také často samostatné soubory, v té době v podstatě měly přípona .ico zkratka na 3 znaky ikony anglického slova, která v anglický jazyk znamená ikonu, symbol, ikonický obrázek. Od té doby se těmto malým obrázkům říká ikony. Další názvy těchto malých obrázků jsou piktogram, ikona.

A tak zpět k našim beranům, tedy k souboru „Text document.txt“ na naší ploše.

Klikneme 2krát rychle levým tlačítkem myši na zástupce souboru „Text document.txt“, který jsme vytvořili. Hm. (Ale je zajímavé, že na něj můžete rychle dvakrát kliknout a otevřít soubor? A v tuto chvíli nemůžete hýbat myší, protože pokud pohybujeme myší mezi kliknutími, toto samotné otevírání nebude fungovat. A nenaučil se, jak rychle dvakrát za sebou kliknout na levé tlačítko myši. Pravděpodobně jsou mé křivé ruce zaostřené na kladivo. Proto používám starou „staromódní“ metodu, která šetří moje nervové buňky.) Otevřu však soubory jinak. Kliknu pravým tlačítkem na zástupce, vyberu z nabídky nejvyšší položku nabídky „Otevřít“ a kliknu na ni levým tlačítkem. (Myš používáme velmi často. Pokud nevíte, jak nebo s ní dobře nepracujete, můžete projít dvěma lekcemi o a o)

Co vidíme? Vidíme prázdný soubor otevřený programem „Poznámkový blok“ (prázdný, protože jsme tam ještě nic nenapsali - nebude to trvat dlouho, napíšeme více).

Mimochodem, pojďme psát. Jako líný člověk ve svém životě jen píšu na klávesnici. Navíc, když je to možné a nedělat to. Prostě to (text) odněkud zkopíruji. Aby byl text smysluplný a v životě užitečný, zkopíruji sem recept na své oblíbené palačinky z internetu. Jsou tak tenké, že dokonce prosvítají.

Nechte náš textový dokument zůstat na ploše. A půjdeme na internet na místo bezplatného simulátoru klávesnice na stránce http://stamina.ru/blog/pitanie/blini a odtamtud zkopírujeme kousek receptu.

Přesuneme ukazatel myši na začátek textu, který chceme vybrat, nebo spíše trochu doleva, stiskneme levé tlačítko myši a podržíme -li tlačítko myši stisknuté, „přesuneme“ ukazatel myši na konec fragment textu, který potřebujeme. Pokud jsme s vybranou oblastí textu spokojeni, pak uvolněte levé tlačítko myši a okamžitě klikněte na pravé tlačítko myši (obrázek popisuje jinou verzi stejné akce). Zobrazí se nabídka, ve které přesuneme ukazatel myši na položku nabídky „Kopírovat“ a klikneme levým tlačítkem myši.

Vezměme si nějaký referenční disk. Váš počítač má například 10 GB (gigabajtovou) jednotku „G:“. Nebo pokud je v bajtech 10 000 000 000 bajtů (vlastně trochu víc, ale pro nás to teď není důležité).

Je snadné vypočítat, že se soubory jako náš „Pancake recept.txt“ vejdou na tento disk: dělíme 10 GB našimi 507 bajty a dostaneme asi 19 723 866 souborů (ve skutečnosti o něco méně, ale pro nás to také není důležité teď) ...

Zhruba řečeno, na náš 10 GB disk pojmeme 20 milionů souborů, jako je například náš recept na palačinky.

Tím chci ukončit 1. část článku, ve které jsme na příkladu jednoduchého textového souboru začali zvažovat význam takových pojmů jako „soubor“, „formát“, „přípona“. V, budeme zvažovat tyto koncepty již na více „těžkých“ formátech souborů, jako jsou obrazové soubory, hudební a video soubory a mnoho dalšího, co to doprovází.

To je vše. Hodně štěstí a tvůrčích úspěchů všem. 🙂

P.S. Přečtěte si také druhou část článku, o a třetí - o.

S textovými soubory (dokumenty) se setkáváme téměř každý den. V této záležitosti by si však člověk neměl plést příponu textového souboru a formátu textových dat, to jsou různé věci. Pokusme se zjistit, jaké soubory tohoto typu jsou a jaké jsou.

Přípona textového souboru: co to je?

Začněme tím, že zpravidla má většina souborů tohoto typu za oddělovačem (tečkou) třípísmennou příponu. Nejjednodušším a nejběžnějším typem jsou soubory s příponou .txt, otevřené ve stejném Windows systémy pomocí standardního „Poznámkového bloku“.

Navzdory obecně přijímaným pravidlům mohou přípony souborů pro textové dokumenty obsahovat nikoli tři písmena, ale více (jejich počet může být až dvanáct, ale ne více), například soubory elektronických knih.djvu. V rozšíření mohou být navíc přítomna čísla.

Co nám dává úvahu o klasifikaci textového souboru (dokumentu) z hlediska jeho identifikace? A skutečnost, že jeden pohled vám umožní okamžitě vyřešit důležitou otázku: jakou příponu mají textové soubory, takový je s nimi spojený program pro otevírání nebo úpravy. V mnoha případech můžete téměř vždy identifikovat původní aplikaci, ve které byl takový soubor vytvořen.

Nezapomeňte však, že dnes najdete poměrně velké množství souborů se stejnými příponami, ale vytvořených v jiných aplikacích nebo spojených s různými programy. Zdá se, že běžný soubor s příponou .doc (.docx) se zpočátku shoduje textový editor Microsoft Word... Můžete jej ale otevřít nebo uložit v této podobě v jiném, a to i na „jablečných“ počítačích. To může také zahrnovat, tak říkajíc, smíšený typ - soubory .pdf obsahující nejen text, ale i grafiku. Ale po tom všem Dokumenty aplikace Word může obsahovat vložené obrázky.

Právě to slouží jako indikátor toho, že přípona textového souboru naznačuje univerzálnost samotného formátu, který je „nejčitelnější“ i bez ohledu na použitý operační systém. Totéž platí pro jakýkoli typ.

Typy přípon souborů: text

Obecně je dnes známo takové obrovské množství textových formátů a jejich rozšíření, že se pravděpodobně žádný odborník nezaváže počítat jejich plný počet.

Ano, univerzálnost takových dokumentů je nepochybná, zvláště pokud používají ty nejjednodušší. Někdy však může být problém v tom, že ne každé kódování je podporováno konkrétním systémem nebo programem. Proto se na obrazovce místo obvyklých písmen objeví sada symbolů.

Pokud jde o odrůdy textových souborů, nemůžete je všechny vyjmenovat. Nejběžnější jsou .txt, .doc, .tex, .text, .pdf, .log, .apt, .ttf, .err, .sub, .djvu, .odt, .rtf a mnoho dalších. Seznam je nekonečný.

Nejzajímavější je, že mnoho z těchto typů souborů má v systému různé role. Například za jejich prohlížení při otevírání videa může být kromě běžného souboru titulků .sub zodpovědný i běžný textový dokument .txt, a v tomto ohledu je mnoho formátů zaměnitelných.

Všimněte si, že i spustitelné soubory mohou mít jako obsah text. Nejjednodušší příklad- soubor .bat vytvořený v běžném „Poznámkovém bloku“ a obsahující text ve formě sady příkazů. Při spuštění se provedou příkazy a pro úpravy se použije nabídka „Otevřít s ...“, pokud s tímto procesem není původně spojena žádná jiná akce.

Podobná situace je pozorována u dokumentů využívajících značkovací nebo programovací jazyky, například soubory .html, .htm, .xml atd. Dokonce i webové stránky lze v mnoha editorech otevřít nativně jako textové soubory obsahující prvky třetích stran.

Změna přípon textových souborů

Pokud jde o změnu rozšíření, někdy může být změněno, například .txt na .doc a naopak. Word editor otevře jakýkoli typ. Totéž platí pro pár .txt - .bat při otevření v programu Poznámkový blok. Ale v jiných případech je lepší takové manipulace neprovádět, prostě to k ničemu nepovede a jiná aplikace nebude moci přejmenovaný soubor otevřít. Změnu formátu bude nutné provést pomocí speciálních převaděčových programů.

Místo doslovu

Jak je již zřejmé, přípona textového souboru může mít mnoho variací v závislosti na programu, ve kterém byl dokument vytvořen. Ale stejně jako v jiných případech je podle samotného rozšíření téměř vždy možné určit aplikaci, která s ním byla původně spojena, v extrémních případech ji otevřít pomocí jiného programu, který podporuje práci s tímto typem dat, i když původní aplikace v počítači chybí. A jak už je asi jasné, textové soubory jsou ve skutečnosti nejrozšířenějším a nejuniverzálnějším v počítačovém světě bez ohledu na použité softwarové balíčky a operační systémy.

TÉMA №10:SOUBORY. TYPICKÉ SOUBORY. TEXTOVÉ SOUBORY.

Základní pojmy

Soubory Je pojmenovaná datová struktura na technickém médiu, což je posloupnost prvků (záznamů) stejného typu.

Soubory Je pole proměnné délky neomezené velikosti.

Soubor může být součástí jiné složité struktury, ale nesmí být součástí jiného souboru.

Rozdíl mezi souborem a polem:

A) umístění na externí médium;

B) délka souboru není uvedena;

C) místo prvku není určeno indexem.

Chcete -li určit soubor a pracovat s ním, použijte proměnná souboru(FP).

Proměnná souboru je proměnná používaná v programech k odkazování na soubor a k odkazování na něj.


Vlastnosti proměnné souboru:

Nelze mu přiřadit žádné hodnoty.

Nemůže se účastnit logických operací

Nemůže zadávat matematické výrazy

Deklarace proměnné souboru

Soubor je deklarován v sekci deklarace proměnných s uvedením typu prvku souboru.

Typ souboru

Popis souboru

Napsaný

Var F1: soubor celého čísla;

F2: soubor znaku;

Nezadáno

Text

PRÁCE SE SOUBOREM

A) NAPIŠTE DO SOUBORU

Přiřadit (FP, ‘Jméno’);

Otevření souboru pro zápis

Zápis dat do souboru

Zápis (FP, Data);

Writeln (FP, Data); - pro text

Zavřete soubor

B) ČTENÍ ZE SOUBORU

Přiřadíme soubor (nemusí existovat) k názvu Název s proměnnou souboru (FP)

Přiřadit (FP, ‘Jméno’);

Otevřete soubor pro čtení (ukazatel je nastaven na první prvek)

Načteme data ze souboru do proměnných a přesuneme ukazatel souboru dopředu.

Číst (FP, proměnné);

Readln (FP, proměnné); - pro text

Zavřete soubor

Při práci se souborem se používá koncept ukazatele nebo indexu souboru, tj. Poloha magnetické hlavy na určitém místě v souboru.

STANOVENÍ DÉLKY TEXTOVÝCH SOUBORŮ

V Pascalu neexistuje žádný příkaz, který by určoval počet řádků zapsaných do textového souboru. Existuje však funkce, která vám řekne okamžik, kdy ukazatel souboru dosáhl posledního řádku - EOF (konec souboru)

EOF(FP) - funkce potvrzující

dosažení konce textového souboru

Pokud je dosaženo konce souboru, pak EOF je true.

Pokud není dosaženo konce souboru, pak je EOF false.

Příklad čtení textového souboru obsahujícího neznámý počet řádků. Na konci programu zobrazíme počet řádků na obrazovce.

Var f: text; N: celé číslo; s: řetězec;

Přiřadit (f, ‘c: \ MyText. Txt’);

Zatímco Eof (f) = nepravda dělat ( můžete napsat tento řádek kratší: Zatímco ne Eof (f) dělat}

Writeln ("V souboru c: \ MyText. Txt", N, "řádky");

STANOVENÍ BINÁRNÍ DÉLKY SOUBORU

Pro soubory s binárním typem je použitelná metoda používaná při čtení textových souborů. Funkce EOF funguje stejně pro textové i binární soubory.

Při práci s binárkami navíc můžete využít funkci FileSize, která určuje délku binárního souboru.

Velikost souboru (FP) - funkce, která vrací délku binárního souboru

Program, který čte všechna čísla z binárního celočíselného souboru a najde jejich součet:

Var f: soubor celého čísla;

Součet, i, T: celé číslo;

Přiřadit (f, ‘c: \ MyFile. Int’);

Pro i: = 1 na velikost souboru (f) dělat ( lze použít další smyčku: Zatímco ne Eof (f) dělat}

Writeln ("Součet čísel v souboru c: \ MyFile. Int is", Summ);

Writeln ("Délka souboru c: \ MyFile. Int", FileSize (f), "čísla");

BINÁRNÍ NAVIGACE

U binárních souborů existuje postup Hledání, který přesune ukazatel čtení / zápis na požadovanou pozici souboru.

HLEDAT (FP, Pozice) - posune ukazatel

na danou pozici souboru

Program, který vynuluje číslo na daném místě v binárním reálném souboru a připojí toto číslo na konec souboru.

Var f: soubor real; (deklarujte proměnnou souboru pro skutečný soubor)

N: = Velikost souboru (f); (určíme počet čísel v souboru)

Opakujte (začátek cyklu)

Writeln ("V souboru", N, "čísla" ");

Writeln („Zadejte číslo čísla, které chcete přesunout na konec souboru?“);

Do (Poz> = 0) a (Poz<=N) {выход из цикла, только если в данном файле такая позиция существует}

Hledat (f, Poz); (umístěte ukazatel souboru na danou pozici)

Přečíst (f, R); (načteme číslo z dané pozice souboru do proměnné R, ukazatel se posune o jednu pozici dopředu)

Hledat (f, Poz); (vraťte ukazatel na danou pozici)

Napsat (f, Null); (vynulujte číslo, na kterém je nastaven ukazatel)

Hledat (f, N); (přesuňte ukazatel na konec souboru)

Napsat (f, R); (zapište číslo z proměnné R na konec souboru)

SNÍŽENÍ BINÁRNÍCH SOUBORŮ

Chcete -li zkrátit binární soubor, musíte nastavit ukazatel souboru na místo, kde jsou umístěny další informace, a zkrátit extra část pomocí procedury Truncate.

Zkrátit (FP ) procedura zkrácení dat za ukazatelem souboru

Program, který v binárním souboru ponechá pouze prvních 10 čísel:

Var f: soubor real; (deklarujte proměnnou souboru)

Přiřadit (f, ‘c: \ MyRealFile.rlf’); (svázat proměnnou souboru se souborem)

Reset (f); (otevřete soubor pro čtení a zápis)

Hledat (f, 10); (umístěte ukazatel souboru na danou pozici)

Zkrátit (f); (odřízneme ze souboru vše, co je umístěno dále než ukazatel souboru)

PŘIDÁVÁNÍ INFORMACÍ DO TEXTOVÝCH SOUBORŮ

Při práci s textovými soubory bohužel neexistuje způsob, jak vložit jakékoli informace doprostřed nebo na začátek souboru. Jedinou možnou změnou v souboru je možnost přidat řádky na konec souboru. K tomu musí být soubor otevřený pro připojení.

Append(FP)- postup, který otevře textový soubor

přidat řádky

Program, který připojí dva řádky na konec textového souboru:

Var FT: text; s: řetězec;

Přiřadit (FT, 'q. Txt');

S: = ‘První přidaný řádek’; Writeln (FT, S);

S: = 'Druhý přidaný řádek'; Writeln (FT, S);

Přejmenování, přesunutí souboru

Při práci s umístěním informací na disk byste si měli být vědomi toho, že při přenosu informací z jedné složky (na rozdíl od kopírování, kde je vytvořen duplikát dat) do jiné, nedochází k žádnému skutečnému přenosu dat. Při přenosu informací z jedné složky do druhé se změní pouze cesta v souboru, tj. Ve skutečnosti se změní pouze název souboru.

V Pascalu tedy stejný příkaz provádí jak přejmenování souboru, tak přenos souboru mezi adresáři.

Přejmenovat (FP, Nový_soubor_název) postup, který přejmenuje soubor a přenese jej do adresáře,

uvedené v názvu nového souboru.

Příkaz Přejmenovat funguje pouze se zavřenými (nebo dosud neotevřenými) soubory. Proto před použitím nemusíte soubor číst, zapisovat nebo přidávat data. Nebo pokud je soubor již otevřený, měl by být nejprve zavřen.

Program by měl souboru „q1.txt“ dát nový název, který uživatel zadá, a přenést soubor „q2. txt„Do adresáře“C:\ Dokument\’.

Var FT: text; s: řetězec;

Přiřadit (FT, 'q1.txt'); (svázat proměnnou souboru se souborem)

Writeln („Zadejte nový název souboru q1.txt“);

Přečíst (s); (přečtěte z klávesnice nový název souboru do proměnné s)

Přejmenovat (FT, s); (přejmenujte soubor)

Přiřadit (FT, 'q2.txt'); (svázat proměnnou souboru s druhým souborem)

Přejmenovat (FT, ‘c: \ Document \ q2.txt’); (přeneste soubor do daného adresáře se stejným názvem)

Chcete -li soubor přenést na jiný disk, musíte jej zkopírovat a poté odstranit na stejném místě

KOPÍROVÁNÍ A SMAZÁNÍ SOUBORU

Kopírování: Chcete -li zkopírovat soubor, musíte přečíst všechny záznamy jednoho souboru a zapsat je do nově vytvořeného souboru.

Odstranění: K odstranění souboru stačí použít na proměnnou souboru (přidruženou k uzavřenému souboru) proceduru Vymazat.

VYMAZAT (FP) procedura, která odstraní soubor spojený s proměnnou souboru.

Program zkopíruje soubor z jednotky „C“ do diCDo 'D‘A odstraní originál z jednotky„ C “(ve skutečnosti program přenáší soubor z jedné jednotky na druhou)

Var f1, f2: soubor bajtu;

Přiřadit (f1, 'c: \ MyFile. Int'); Reset (f1); (otevřete ukázkový soubor pro čtení)

Přiřadit (f2, ‘d: \ MyFile. Int’); Přepsat (f2); (vytvořte soubor na disku D)

Zatímco ne Eof (f1) dělat

Přečíst (f1, b); (načíst data z původního souboru)

Napsat (f2, b); (zapište data do nového souboru)

Zavřít (f1); (zavřete ukázkový soubor, před odstraněním musí být soubor odstraněn)

Zavřít (f2); (zavřít nový soubor)

Vymazat (f1); (smazat soubor)

PRÁCE S KATALOGY

MkDir (název adresáře) - postup vytváří nový katalog

(Pokud adresář s tímto názvem existuje, dojde k chybě)

RmDir(Název adresáře) - Postup odstraní katalog

(Smazat můžete pouze prázdný adresář)

ChDir (název adresáře) - postup mění proud katalog

(Aktuální adresář je adresář, jehož cesta není při práci se soubory vyžadována. Když je program zapnutý, aktuální adresář je adresář, ve kterém se program nachází.)

Pro přejmenování katalog nutné :

a) Vytvořte nový adresář

b) Přesuňte tam všechny soubory

c) Vymažte starý adresář

Program přejmenuje adresář "c: \ Cat \", který obsahuje dva soubory "q1.txt" a "q2.ini", na adresář "c: \ CatNew \" a vytvoří aktuální adresář.

Var f1, f2: soubor bajtu; b: byte;

MkDir ("c: \ CatNew"); (vytvořit nový adresář)

(zkopírujte soubor q1.txt do nového gurney)

Přiřadit (f1, ‘c: \ Cat \ q1.txt’); Reset (f1);

Přiřadit (f2, ‘c: \ CatNew \ q1.txt’); Přepsat (f2);

Zatímco ne Eof (f1) dělat

Začít Přečíst (f1, b); Napsat (f2, b); Konec;

(zkopírujte soubor q2.ini do nového adresáře)

Přiřadit (f1, 'c: \ Cat \ q2.ini'); Reset (f1);

Přiřadit (f2, ‘c: \ CatNew \ q2.ini’); Přepsat (f2);

Zatímco ne Eof (f1) dělat

Začít Přečíst (f1, b); Napsat (f2, b); Konec;

Zavřít (f1); Zavřít (f2); Vymazat (f1);

RmDir ('c: \ Cat'); (odstranit starý adresář)

ChDir ('c: \ CatNew'); (nastavit nový adresář jako aktuální)

Hledat soubory

Programátor vždy neví, které soubory se nacházejí v jakých adresářích a které adresáře se nacházejí na určitých discích. Proto je důležitým tématem práce se soubory hledání souborů (a adresářů).

V modulu jsou k dispozici dva postupy pro vyhledávání souborů WinDos:

Findfirst(Maska, vlajka, informační_sektor)- vyhledá první soubor, který odpovídá „masce“ a „vlajce“, pokud je nalezen, přenese data o nalezeném souboru (adresáři) do proměnné typu TSearchRec(„Příjemce informací“)

NaléztDalší (Receiver_information)- vyhledá další soubor, který odpovídá podmínkám nastaveným v proceduře FindFirst, pokud je nalezen, přenese data o nalezeném souboru (adresáři) do proměnné typu TSearchRec(„Příjemce informací“)

Modul WinDos obsahuje také proměnnou DosChyba který zůstává roven nule, pokud vyhledávací příkazy najdou soubor, který odpovídá podmínce hledání. Pokud vyhledávací příkazy nenašly soubory, které splňují podmínku, pak proměnnou

Vyhledávací maska ​​-řetězec s názvem hledaného souboru nebo adresáře. Kromě obvyklých znaků může maska ​​obsahovat „*“ a „?“.

* - znamená, že v požadovaném souboru na tomto místě může být přítomen libovolný počet libovolných znaků;

? – znamená, že v požadovaném souboru v tomto umístění může být přítomen jakýkoli jeden znak.

Příklady masek:

"*.* “- jakýkoli soubor s libovolnou příponou

"úkol. *"- soubor s názvem" quest "a libovolnou příponou

"* .txt"- soubor s libovolným názvem a příponou" txt "

"qust? .txt"- soubor s příponou 'txt' obsahující 5 písmen v názvu, z nichž první 4 jsou 'qust' a pátý znak je libovolný

"qust * .txt“- soubor s příponou„ txt “, jehož první čtyři písmena jsou„ qust “, počet následujících písmen není omezen

"quest. txt‘- soubor s názvem„ quest “a příponou„ txt “

Hledat vlajku - množina speciálních konstant spojených operátorem NEBO.

Místo konstant můžete použít číslo, které se rovná součtu čísel s odpovídajícími konstantami

Vlajka

Typ souboru

Číslo

faReadOnly

Hledejte s atributem pouze pro čtení

fa Skrytý

Hledat s atributem "Skrytý"

faSysFile

Hledat s atributem "Systém"

faVolumeID

Vrátit ID média

faDirectory

Vrátit informace o adresáři

faArchiv

Hledejte pomocí atributu „Archivovat“

faAnyFile

Zahrnout všechny předchozí příznaky

Příklady vlajek:

· faReadOnly nebo Skrytý – 3 - hledá soubory, které mají atribut "skrytý" nebo "jen pro čtení"

· faDirectoty neboSoubor FaSys - 20 – vyhledávají se adresáře a soubory, které mají nastavený atribut System

Příjemce informací - proměnná typu TSearchRec, který bude obsahovat data o nalezeném souboru

Typ TSearchRec je popsán v modulu WinDos a nevyžaduje předběžný popis programátora. Tento typ je záznamem následujícího formuláře:

Zadejte TSearchRec = Záznam

Výplň: Pole bajtů; (Systémový parametr, který nepoužíváme)

Attr: Byte; (Parametr obsahující data příznaku souboru)

Čas: LongInt; (Čas vytvoření souboru)

Velikost: LongInt; (Velikost souboru v bajtech)

Název: Array of Char; (Název souboru)

Řekněme, že máme proměnnou SR, která je typu TSearchRec. Po použití v příkazu FindFirst bude obsahovat informace o nalezeném souboru (adresáři.)

Informace o názvu souboru přejdou do SR. Název o velikosti souboru v SR. Velikost a k určení, zda je soubor systémovým souborem, musíte zřetězit hodnotu SR. Attrujte pomocí konstanty And FaSysFile And. Systémový soubor, pokud je výsledek větší než nula.

Příklad :

LI Sr. Attr a FaSysFile> 0 THEN Writeln („Systém“);

Program vyhledá v adresáři "c: \ Doc" všechny soubory s příponou "txt". A zobrazuje jméno těch, jejichž velikost je větší než 3000 bajtů.

Používá Dos, crt, WinDos;

Var SR: TSearchRec; (Popíšeme proměnnou, do které budeme ukládat informace o nalezených souborech)

clrscr; ChDir ("c: \ Doc"); (Změnit aktuální adresář)

FindFirst ("*. Txt", faAnyFile, SR); (Hledáme první soubor v aktuálním adresáři s příponou „txt“ a libovolnou sadou příznaků, výsledek je v proměnné SR)

while DosError = 0 do (smyčka, zatímco jsou umístěny soubory)

pokud SR. Velikost> 3000 (pokud je velikost souboru větší než 3000 bajtů)

pak writeeln (SR. Jméno); (Název nalezeného souboru zobrazujeme na obrazovce)

Program vyhledá všechny adresáře umístěné na jednotce v kořenovém adresáři jednotky C a zobrazí seznam adresářů v souboru „c: \ info. txt'A na obrazovce (Kořenový adresář jednotky „C“ je adresář „c: \“).

Používá Dos, crt, WinDos;

Var SR: TSearchRec; f: text;

Clrscr; Přiřadit (f, "c: \ info. Txt"); Přepsat (f);

ChDir ("c: \"); (Přejít do kořenového adresáře)

FindFirst ("*", faDirectory, SR); (Hledáme soubor bez přípon, včetně adresářů)

Zatímco DosError=0 dělat(smyčka, zatímco jsou umístěny soubory)

pokud SR. Attr a faDirectory> 0 pak (pokud má soubor atribut "Directory")

Writeln (SR. Jméno); (zobrazit název souboru na obrazovce)

Writeln (f, Sr. Jméno); (zadejte název souboru do souboru "c: \ info. txt")

FindNext (SR); (Hledám další soubor)

Procedury pro práci s proměnnými souborů

Postup

Jmenování

Komentář

Přiřadit (f, 'jméno')

Váže proměnnou souboru ke konkrétnímu souboru (váže proměnnou k názvu souboru). Umístěno před prvním použitím proměnné souboru.

Název souboru 'name' můžete nastavit pomocí řetězcové proměnné (S): Assign (f, S)

Reset (f)

Otevře existující soubor a nastaví ukazatel na začátek záznamu.

Pro jakékoli soubory

Přepsat (f)

Vytvoří nový prázdný soubor, nastaví ukazatel na začátek souboru. Pokud soubor existoval, jeho obsah bude zničen.

Pro jakékoli soubory

Zavřít (f)

Zavírá otevřít soubor

Pro jakékoli soubory

Vymazat (f)

Vymaže dříve zavřený soubor

Pro jakékoli soubory

Přejmenovat (f, f1)

Přejmenuje soubor f na soubor f1. Soubor f musí být předem uzavřen

Pro jakékoli soubory

Přečíst (f, v1, ... vn)

Napsat (f, v1, ... vn)

Zapíše hodnoty proměnných v1, ... vn do souboru f

Pro psané a netypované soubory

Přečíst (f, v1, .. vn)

Čte záznamy ze souboru f do proměnných v1, ..vn

Writeln (f, v1, .vn)

Zapíše hodnoty proměnných v1, .. vn do souboru f

neplatí v zadaných souborech

Dodatek (f)

Otevře soubor a nastaví ukazatel na značku konce souboru

Slouží k přidání záznamů

hledat (f, n)

Nastaví ukazatel na záznam n

zkrátit (f)

Za ukazatelem odstraní všechny záznamy a na tuto pozici zapíše značku konce souboru.

Funkce při práci se souborovými proměnnými

Postup

Jmenování

Komentář

Načítání informací o konci souboru True, pokud je ukazatel na konci souboru, v opačném případě False

Logická funkce.

True, pokud je ukazatel na konci řádku, v opačném případě False

Logická funkce. Pro text soubory

N: = velikost souboru (F);

Určení počtu záznamů v souboru

N: = soubor (f)

Vrátí číslo záznamu, na které ukazuje ukazatel záznamu. První záznam je očíslován 0.

Ukázkové programy

PROBLÉM 1: Napsat program,zápis dat o autorovi a 20 náhodných čísel do textového souboru

randomizovat; (nastavení generátoru náhodných čísel)

přepsat (f); (otevřete soubor pro zápis)

r: = náhodný (10); (generujeme náhodné číslo od 1 do 10)

STR (r, s); (převeďte číslo r na řetězec s)

writeeln (f, s); (zapište do souboru řetězec s číslem)

zavřít (f); (zavřít soubor)

CÍL 2: Napsat program,čtení z textového souboru data o autorovi a 20 náhodných čísel

r, i, c: celé číslo;

přiřadit (f, "dddddd. txt"); (propojte proměnnou souboru se souborem)

reset (f); (otevřete soubor pro čtení)

pro i: = 1 až 20 do (zapněte smyčku pro 20 opakování)

readln (f, s); (načíst číslo ze souboru do řádku s)

val (s, r, c); (řetězec „s“ přeložíme na číslo „r“, v proměnné „c“ kód možné chyby)

pokud c = 0, pak writeeln (r); (pokud nedošlo k chybě (c = 0), zobrazíme číslo na obrazovce)

zavřít (f); (zavřít soubor)

CÍL 3: Vypočítejte kořeny kvadratické rovnice a výsledky vložte do souboru.

Var a, b, c, x1, x2, d: skutečné;

Přiřadit (f, ‘výsledek. Txt); (svázat soubor s proměnnou souboru f)

Přepsat (f); (otevřete soubor pro zápis)

(Počáteční data načteme z klávesnice a odešleme do souboru)

Writeln (f, 'řešení čtverce ur-i');

Writeln (f, "a =", a: 6: 3, "b =", b: 6: 3, "c =", c: 6: 3);

(Vypočítejte kořeny kvadratické rovnice)

Pokud d> = 0, začněte X1: = - b + sqrt (d) / (2 * a); X2: = - b -sqrt (d) / (2 * a); Konec;

(Výstup výsledku do souboru)

Pokud d<0 then writeln(f,’у урав-я нет корней’)

else writeeln (f, ‘kořeny: x1 =‘, x1: 6: 3, ‘x2 =‘, x2: 6: 3);

(Zavřete soubor a ukončete program)

Writeln („výsledky práce programu v souboru result.txt“);

Disk obsahuje soubor s názvem Karl. txt, který obsahuje jazykolam: „Karl ukradl Claře korály, Clara Karlovi ukradla klarinet.“ Je nutné spočítat počet písmen „K“

Var f: text; s: celé číslo; a: char;

(Propojte soubor s proměnnou souboru a otevřete jej pro zápis)

Přiřadit (f, 'Karl. Txt'); Reset (f);

(postupně prohlížíme všechny řádky souboru až do posledního)

I když ne eof (f) dělat

(postupně čteme všechny znaky řádku až po poslední v řádku a kontrolujeme jej proti „k“)

Zatímco ne eoln (f) dělat

Začít číst (f, a); Pokud a = 'k', pak s: = s + 1; Konec;

(přejděte na další řádek souboru)

Vložte text do textového souboru f1. Přepište řádek ze souboru f1 do f2 - první polovina souboru v dopředném pořadí a druhá polovina v opačném pořadí znaků.

Var f1, f2: text; s, snew, sa, sb: string; n, y, i: celé číslo;

(Propojit soubory s proměnnými souborů)

Přiřadit (f1, 'file1'); Přiřadit (f2, 'file2');

(Přečteme řádek z klávesnice a odešleme jej do souboru číslo 1)

Přepsat (f1); Přečíst (s); Writeln (f1, s); Zavřít (f1);

(Četli jsme řádek ze souboru číslo 1)

Reset (f1); Přečíst (f1, s1); Zavřít (f1);

(Najděte střed řádku)

N: = délka (s1); Y: = n div 2;

(V nové proměnné napíšeme první polovinu řádku v dopředném pořadí, druhou polovinu v opačném pořadí)

Pro i: = 1 až y do

Věděl: = Věděl + s1 [i];

Pro i: = n až do y + 1 do

Věděl: = šít + s1 [i];

(Napište nový řádek do souboru # 2)

Přepsat (f2); Writeln (sNew); Napsat (f2, sNew); Zavřít (f2);

Textové soubory

Textové soubory jsou spojeny s proměnnými souborů standardního typu TEXT. Textové soubory jsou určeny k ukládání textu informace. Právě v tomto typu souborů jsou uloženy například zdrojové kódy programů. Komponenty (záznamy) textového souboru mohou mít proměnnou délku, což výrazně ovlivňuje způsob, jakým s nimi pracujete.

Textový soubor je v Turbo Pascal interpretován jako soubor řádků proměnné délky. Ke každému řádku lze přistupovat pouze postupně, počínaje prvním. Při vytváření textového souboru je na konec každého záznamu (řádku) vložen speciální znak EOLN (End OfLiNe - konec řádku) a na konci celého souboru znak EOF (End Of File - konec souboru) . Tyto znaky lze testovat pomocí stejnojmenných logických funkcí (viz níže). Při generování textových souborů se používají následující systémové konvence:

Sekvence kódu EOLN- ASCII # 13 (CR) a # 10 (LF);

EOF je kód ASCII # 26.

Pro přístup k záznamům se používají postupy READ, READLN, WRITE, WRITELN. Liší se schopností přístupu k nim pomocí proměnného počtu skutečných parametrů, kterými mohou být znaky, řetězce a čísla. Prvním parametrem v kterémkoli z uvedených postupů může být proměnná souboru. V tomto případě je proveden hovor na soubor disku nebo logické zařízení přidružené k proměnné procedury ASSIGN. Pokud není zadána žádná proměnná souboru, jsou standardní soubory INPUT označeny jako OUTPUT.

PostupČÍST.

Poskytuje vstup pro znaky, řetězce a čísla. Formát požadavku:

ČTĚTE (<ф.п.>,<сп.ввода>) nebo READ (<сп.ввода>)

Tady<сп.ввода>- vstupní seznam: sekvence jedné nebo více proměnných typu CHAR, STRING, jakož i libovolného celočíselného nebo skutečného typu.

Při zadávání proměnných typu CHAR je ze souboru načten jeden znak a proměnné je přiřazena načtená hodnota. Pokud před čtením ukazatel souboru dosáhl konce dalšího řádku, pak bude výsledkem čtení znak CR (kód ASCII # 13), a pokud je dosaženo konce souboru, pak znak EOF (kód # 26 ). Pro vstup z klávesnice se CR zadává stisknutím klávesy Enter a EOF současným stisknutím kláves CTRL a Z.

Při zadávání proměnných typu STRING je počet znaků přečtených postupem a umístěných v řetězci roven maximální délce řetězce, pokud se předtím nezjistily znaky CR nebo EOF. V tomto případě se do řetězce nevejdou samotné znaky CR a EOF. Pokud počet znaků ve vstupním datovém proudu překročí maximální délku řetězce, „extra“ znaky na konec řetězce budou zahozeny a nové volání READ vrátí prázdný řetězec. Procedura READ tedy nemůže přečíst posloupnost řádků: první řádek bude načten normálně a všechny následující budou prázdné. Chcete -li zadat sekvenci řádků, použijte postup READLN (viz níže).

Při zadávání číselných proměnných rutina READ nejprve vybere podřetězec ve vstupním proudu podle následujícího pravidla: všechny úvodní mezery, tabulátory a konce řádků EOLN jsou přeskočeny; po výběru prvního významného znaku naopak kterýkoli z uvedených znaků nebo znak EOF slouží jako znak konce podřetězce. Takto vybraný podřetězec je pak považován za symbolické znázornění číselné konstanty odpovídajícího typu a převeden na vnitřní reprezentaci a výsledná hodnota je přiřazena proměnné. Pokud je požadovaný formát reprezentace číselné konstanty, dojde k chybě I / O. Pokud se při přeskakování úvodních mezer vyskytne znak EOF, proměnná získá hodnotu 0. Všimněte si, že Turbo Pascal neposkytuje hexadecimální konstanty.

Při použití postupu READ proti standardnímu souboru INPUT, tj. při psaní z klávesnice jsou řetězce znaků uloženy do vyrovnávací paměti, která je předána proceduře až po stisknutí klávesy Enter. To vám umožní upravovat data při jejich zadávání. K úpravám se používají následující klávesy:

  • Backspace, Ctrl -H, přesunutí kurzoru doleva - vymazání znaku nalevo od kurzoru;
  • přesunutí kurzoru doprava - obnoví předchozí vstupní řádek znak po znaku;
  • Ctrl -Z Enter - dokončí zadávání postupem READ; zbývající parametry „extra“ znaků jsou nastaveny na CHR (26), řetězce jsou vráceny prázdné a číselné proměnné zůstávají nezměněny.

Maximální délka vstupní vyrovnávací paměti klávesnice je 127 znaků. Vstup klávesnice pomocí procedury READ je doprovázen ozvěnou zadaných znaků na obrazovce PC.

Rutina READ je skvělá pro zadávání čísel. Při přístupu k němu pro zadání dalšího celého čísla nebo reálného čísla procedura „přeskočí“ značky konce řádku, tj. ve skutečnosti je celý soubor považován za jeden dlouhý řádek obsahující textovou reprezentaci čísel. V kombinaci s kontrolou konce souboru s funkcí EOF vám procedura READ umožňuje uspořádat jednoduchý wbd datových polí, například takto:

konst

N = 1000; (Maximální délka vstupu)

f: text;

m: pole skutečných;

I: Integer;

Začít

přiřadit (f, "prog.dat");

resetovat (£); i: = 1;

zatímco není EOF (f) a (i<= N) do

Začít

číst (f, m [i]);

inc (i)

konec;

zavřít (f);

.......

konec.

Postup PŘEČTĚTE SI.

Poskytuje vstup pro znaky, řetězce a čísla. Tento postup je identický s postupem READ, kromě toho, že po načtení poslední proměnné se přeskočí zbytek řádku až po značku EOLN, takže další volání READLN nebo READ začíná prvním znakem nového řádku. Alternativně lze tuto proceduru vyvolat bez parametru (viz postup READ), který přeskočí všechny znaky aktuálního řádku až na EOLN.

Pokud se postup používá ke čtení z klávesnice, zobrazí se na obrazovce stisknutí klávesy Enter jako sekvence CR + LF a kurzor bude umístěn na začátek dalšího řádku, zatímco v postupu READ je klávesa Enter ozvěna se znakem CR a kurzor bude umístěn na začátek řetězce aktuálního řádku.

Postup NAPSAT.

Poskytuje výstup informací do textového souboru nebo jej přenáší do logického zařízení. Formát požadavku:

NAPSAT (<ф.п.>, <сп.вывода>) nebo NAPIŠTE (<сп.вывода>)

Tady<сп.вывода>- výstupní seznam: sekvence jednoho nebo více výrazů typu CHAR, STRING, BOOLEAN, stejně jako libovolné celočíselné nebo reálné číslo.

Proměnná souboru<ф.п.>, je -li zadán, musí být dříve popsán jako proměnná typu TEXT a propojen s názvem souboru nebo logickou jednotkou procedurou ASSIGN. Pokud proměnná souboru chybí, předpokládá se výstup do standardního souboru OUTPUT, který je obvykle spojen s obrazovkou PC.

Jakákoli položka ve výstupním seznamu může mít formu

OutExpr [: MinWidth [: DecPlaces]]

Zde OUTEXPR je výstupní výraz;

MINWIDTH, DECPLACES - výrazy typu WORD (hranaté závorky znamenají absenci v nich uzavřených parametrů).

Subparametr MINWIDTH, pokud je k dispozici, určuje minimální šířku pole, do které bude zapsána reprezentace znaků hodnoty OUTEXPR. Pokud je reprezentace znaků kratší než MINWIDTH, bude vyplněna mezerami vlevo, pokud je delší, pak bude dílčí parametr MINWIDTH ignorován a bude vydán požadovaný počet znaků.

Podparametr DECPLACES určuje počet desetinných míst ve zlomkové části skutečného čísla. Lze jej použít pouze ve spojení s MINWIDTH a pouze s ohledem na odvozený výraz jednoho ze skutečných typů.

Není -li šířka výstupního pole zadána, bude po předchozím výstupu vydán odpovídající parametr bez jakéhokoli oddělení.

Znaky a řádky jsou předávány do výstupního souboru beze změny, ale pokud je zadána šířka výstupního pole a tato šířka je větší, než je požadováno pro výstup, mají předponu s mezerami.

Při zobrazení logických výrazů se v závislosti na jejich hodnotě zobrazí řádky TRUE nebo FALSE. (Booleovské konstanty nelze zadat pomocí procedur READ nebo READLN.)

Skutečná čísla jsou zobrazována v exponenciálním formátu, pokud není zadán dílčí parametr DECPLACES, jinak je vybrán formát s pevným bodem. Exponenciální formát představuje skutečné číslo ve formuláři

S#. ############### E * ####,

kde:

Prostor;

s prostor pro kladná a „-“ pro záporná čísla;

# desetinná číslice;

E je symbol desítkové základny;

* podepište „+“ nebo „-“ v závislosti na desetinném místě čísla.

Pokud je podparametr MINWIDTH vynechán, předpokládá se jeho výchozí hodnota (23). Pokud je MINWIDTH menší než 10, považuje se za 10.

Pokud je dílčí parametr DECPLACES nula, nebude vydávána zlomková část čísla ani desetinná čárka. Pokud je DECPLACES záporné, je tento parametr ignorován a číslo je vyvedeno v exponenciálním formátu včetně MINWIDTH. Pokud je hodnota DECPLACES větší než 18, předpokládá se hodnota 18. Všimněte si, že při zadávání dílčího parametru DECPLACES bude skutečné číslo vždy vydáváno ve formátu s pevným bodem s požadovaným počtem číslic ve zlomkové části, i když hodnota subparametru MINWIDTH se ukazuje jako nedostatečná pro přizpůsobení celé části: v tomto případě se v tomto případě hodnota MINWIDTH automaticky zvýší.

Když při výstupu na obrazovku délka zobrazené sekvence znaků přesahuje šířku obrazovky nebo na ní vytvořené okno, „extra“ znaky se přenesou na další řádek obrazovky. Když je obrazovka nebo okno plné, jeho obsah se posune o jeden řádek nahoru.

WRITELN procedura. Tento postup je zcela totožný s postupem WRITE, až na to, že řetězec výstupních znaků je ukončen kódy CR a LF. Při volání WRITELN můžete parametr vynechat<сп.вывода>: v tomto případě je značka EOLN předána do souboru, což po zobrazení na obrazovce způsobí přesun kurzoru na začátek dalšího řádku.

Logická funkce EOLN. Vrací TRUE, pokud bylo ve vstupním textovém souboru dosaženo značky konce řádku. Formát požadavku:

EOLN<ф.п.>

Pokud parametr<ф.п.>

Existuje určitý rozdíl v tom, jak EOLN a EOF pracují se soubory na disku a logickými jednotkami. Jde o to, že logické zařízení nedokáže předpovědět, jaký bude výsledek čtení dalšího znaku. Proto při práci s logickým zařízením vrátí funkce EOLN hodnotu TRUE, pokud poslední znak načtený ze zařízení byl EOLN nebo EOF, zatímco při čtení z disku je TRUE vrácen, pokud je další čtení znaků EOLN nebo EOF. Podobný rozdíl je pozorován u funkce EOF: u logického zařízení je hodnota TRUE vrácena, pokud byl poslední znak EOF, a při čtení z disku - pokud je další čtení znaků EOF. Jinými slovy, funkce testují odpovídající funkce pro logické zařízení po dalším čtení a pro soubor před čtením.

Logická funkce HLEDAT.

Přeskočí všechny mezery a tabulátory až na značku konce řádku EOLN nebo první významný znak a vrátí TRUE, pokud je značka nalezena. Formát požadavku:

SEEKEOLN (<ф.п.>)

Pokud parametr<ф.п.>vynechána, funkce zkontroluje standardní soubor INPUT.

Logická funkce HLEDAT.

Přeskočí všechny mezery, karty a značky EOLN až na značku konce souboru nebo první významný znak a vrátí hodnotu TRUE, pokud je značka nalezena. Formát požadavku:

SEEKEOF (<ф.п.>)

Pokud parametr<ф.п.>vynechána, funkce zkontroluje standardní soubor INPUT.

V následujícím příkladu, ilustrujícím práci s textovým souborem, se počítá celkový počet znaků v souboru a výsledek se dělí 40 000 - tímto způsobem můžete odhadnout objem rukopisu v tzv. Registraci a publikační listy:

f: text;

s: Řetězec;

Const

Součet: LongInt = 0; (Toto bude počet znaků)

Začít

Napište („Název souboru:“); (Žádám ...)

Přečíst (s); (a zadejte název souboru.)

přiřadit (f, s);

Reset (f); (Otevřít soubor)

zatímco ne EOF (f) dělat (Počítám ...)

začít (číslo ...)

ReadLn (f, s); (znaky ...)

inc (Součet, Délka (s)) (v souboru)

konec;

Zavřít (f); (Zavřít soubor)

WriteLn ("Volume =", Sum / 40 000: 6: 2, "účet")

konec.



Související články: