Zgjatja e një skedari teksti: llojet dhe aspektet themelore të përcaktimit të përkatësisë në programe. Skedar teksti Cili program ka shtesën txt

Skedar teksti- një skedar kompjuterik që përmban të dhëna teksti. Skedarët e tekstit janë kundër skedarëve binarë (binarë), të cilët përmbajnë të dhëna që nuk janë krijuar për t'u interpretuar si tekst (për shembull, skedarët që ruajnë tekstin në një formë të koduar ose të ngjeshur, ose ruajnë zë, imazh ose të dhëna të tjera në vend të tekstit) Me

Avantazhet dhe disavantazhet

Përparësitë:

  • Shkathtësi - një skedar teksti mund të lexohet (në një mënyrë ose në një tjetër) në çdo sistem ose OS, veçanërisht kur bëhet fjalë për kodime me një bajt si ASCII, të cilat nuk i nënshtrohen problemit të zakonshëm për formatet e tjera të skedarëve - atyre nuk u intereson ndryshimi në rendin e bajtit ose fjalët e gjatësisë së makinës në platforma të ndryshme.
  • Stabiliteti - çdo fjalë dhe karakter në një skedar të tillë është i vetëmjaftueshëm dhe nëse ka një prishje të bajtëve në një skedar të tillë, atëherë zakonisht mund të rikuperoni të dhënat ose të vazhdoni të përpunoni pjesën tjetër të përmbajtjes, ndërsa në skedarë të ngjeshur ose binarë, korrupsioni i disa bajtëve mund ta bëjë skedarin plotësisht të pakthyeshëm. Shumë sisteme të kontrollit të versionit janë krijuar për skedarë teksti dhe mund të punojnë vetëm me binarët në tërësi.
  • Format skedar tekstiështë jashtëzakonisht i thjeshtë dhe mund të ndryshohet me një redaktues teksti - një program që vjen me pothuajse çdo OS.

Disavantazhet:

  • Skedarët e mëdhenj të tekstit të pakompresuar kanë entropi të ulët të informacionit - këto skedarë zënë më shumë hapësirë ​​sesa minimumi i kërkuar. Edhe pse kjo tepricë përcakton elasticitetin e shtuar ndaj dështimeve në kanalet e transmetimit të të dhënave dhe kur merrni të dhëna nga media, për shembull, nga shirit magnetik.
  • Disa operacione të skedarëve të tekstit janë joefektive. Për shembull, nëse një numër shfaqet në një skedar, sistemi kompjuterik, para se të fillojë operacionet me të, do të duhet ta konvertojë atë në formatin e tij të brendshëm duke përdorur një procedurë relativisht komplekse të konvertimit të numrave; për të shkuar në rreshtin e 1000 -të, duhet të numëroni 999 rreshta para tij; është e vështirë të zëvendësosh një rresht me një tjetër, etj. Prandaj, kur punoni me sasi të mëdha të të dhënave, skedarët tekstorë përdoren vetëm si një format i ndërmjetëm që siguron ndërveprim.

Formate të bazuara në skedarë teksti

Për shkak të thjeshtësisë së tyre, skedarët e tekstit shpesh përdoren për të ruajtur informacionin e shërbimit (për shembull, regjistrat): meqenëse operacioni i shtimit të të dhënave të reja në fund të një skedari teksti nuk kërkon burime të rëndësishme kompjuterike, pavarësisht nga madhësia ekzistuese e skedarit dhe lloji i të dhënave të tekstit të shtuar, ruajtja e skedarëve të regjistrit të tekstit zakonisht ndodh në mënyrë efikase dhe të padukshme për përdoruesit dhe për aplikimet e tjera (deri në shterimin e hapësirës në disk).

Formati tekstual shërben si bazë për shumë formate më të specializuara (p.sh.ini, SGML, HTML, XML, TeX, kodi burimor i gjuhës programuese). Në disa nga këto formate, kombinime të caktuara të karaktereve mund të përdoren si mjet për shënimin e tekstit. Në këtë rast, skedari mund të ruajë tekstin e formatuar, në të cilin fonti, stili, madhësia, etj. Mund të specifikohen shtesë për karakteret (për shembull, Formati i tekstit të pasur, HTML).

Zgjatjet e emrit të skedarit

DOS dhe Windows zakonisht përdorin shtesën .txt për skedarët me tekst të thjeshtë. Sidoqoftë, skedarët me ndonjë shtrirje tjetër ose pa të mund të jenë skedarë teksti. Për shembull, kodet burimore të programeve zakonisht ruhen në skedarë me shtesa që korrespondojnë me gjuhën e programimit në të cilën janë shkruar programet (.bas, .pas, .c).

Teksti i formatuar (teksti me shënim) zakonisht ruhet në skedarë me një shtrirje që korrespondon me formatin ose gjuhën e shënjimit - .rtf, .htm, .html.

Kodimet

Tekst 8-bitësh

Historikisht, grupi i karaktereve 7-bit ASCII është përdorur për të koduar skedarë teksti, si dhe shtesa 8-bitësh EBCDIC dhe shtesa të ndryshme ASCII. Në faqet e kodit 8-bit, është e zakonshme të përdorni karaktere ASCII në gjysmën e parë të tabelës së kodit.

Avantazhi i përfaqësimit të tekstit 8-bit është thjeshtësia programore dhe pavarësia nga problemi i rendit të bajtit ose gjatësisë së fjalës në platforma të ndryshme. Disavantazhi është një numër i madh i standardeve të ndryshme, të cilat mund të çojnë në papajtueshmëri.). Ndonjëherë një karakter i veçantë shënues (U + FEFF

Një mospërputhje e tillë diktohet nga parimet e funksionimit të makinave të shkrimit: për të kaluar në një linjë të re, duhet të ktheni karrocën në fillim të linjës ( kthim ngarkese), dhe pastaj kthejeni daullen një vijë ( ushqimi i linjës) Kur printoni në një printer, njëri dhe personazhi tjetër mund të qëndrojnë larg (për shembull, për të zgjedhur një rresht duke e shtypur dy herë, ose për të lëvizur daullen disa rreshta), por nuk ka nevojë për skedarë teksti.

Përveç këtyre, skedarët e tekstit përmbajnë simbole të tilla si tabelimi (kodi 9) dhe përkthimi i faqeve (kodi 0xC). Ky i fundit u përdor nga redaktorët e vjetër të tekstit si LEXICON, si dhe në skedarët e destinuar për printim në një printer.

Skedar(Skedari anglez - lidhës) - një koncept në llogaritjen: një entitet që ju lejon të përdorni një burim sistemi llogaritës dhe ka një numër karakteristikash:

  • emër fiks (sekuenca e karaktereve, numri ose diçka tjetër që karakterizon në mënyrë unike skedarin);
  • një paraqitje të caktuar logjike dhe operacionet përkatëse të leximit / shkrimit.

Mund të jetë gjithçka - nga një sekuencë bitesh (megjithëse e lexojmë me byte, ose më mirë fjalë -grupe byte, katër, tetë, gjashtëmbëdhjetë) në një bazë të dhënash me një organizatë arbitrare ose ndonjë opsion të ndërmjetëm; baza e të dhënave shumëdimensionale, e urdhëruar në mënyrë rigoroze.

Rasti i parë korrespondon me operacionet e leximit / shkrimit të një rryme dhe / ose një grupi (domethënë sekuenciale ose me qasje sipas indeksit), e dyta - komandat DBMS. Opsionet e ndërmjetme janë leximi dhe analizimi i të gjitha llojeve të formateve të skedarëve.

(Nga Wikipedia, Enciklopedia e Lirë)

Zot, çfarë marrëzie (© olivur77).

A kupton dicka? Une jo. Përkufizimi në Wikipedia, natyrisht, ka shumë të ngjarë të jetë i saktë, por nuk jep ndonjë kuptim për njerëzit e thjeshtë (siç jam unë).

Çfarë është një skedar? Shpjegim në gjuhën normale.

Më lejoni të shpjegoj përsëri me shembuj, çfarë është skedari, dhe ai interpretim akademik, dhe veçanërisht përkthimi nga anglishtja, është i mërzitshëm.

A keni menduar ndonjëherë pse klikimi "në një fotografi të vogël" () hap një program (gjithashtu një skedar, dhe nganjëherë disa skedarë) për shikimin e fotove? Kur klikojmë në shkurtoren e filmit (), a fillon programi për shikimin e filmit? Kur klikojmë në shkurtoren (nga rruga, gjithashtu një skedar) për komunikim falas (për shembull), hapet një program, sipas të cilit komunikojmë falas me miqtë dhe të afërmit, dhe madje shohim njëri -tjetrin?

Pse ndodh? Nëse mendoni se sistemi operativ Windows është aq i zgjuar, atëherë gaboheni thellësisht.

Unë dua të hedh poshtë mitin e "zgjuarsisë" sistemi operativ Windows dhe ju njohin me koncepte të tilla si p.sh "Skedar", "shtrirje", "format".

Në shikim të parë, fjalët janë të frikshme dhe të pakuptueshme, por në fakt gjithçka është mjaft e thjeshtë, dhe së shpejti do të bindemi për këtë.

Le të bëjmë një mjedis (siç tregohet në imazhin më poshtë) që do të na ndihmojë të kuptojmë këto koncepte.

Shtypni butonin "Start", zgjidhni "Control Panel" (nëse doni të mësoni më shumë rreth asaj që është, kaloni nëpër të). Nëse pamja juaj e "Panelit të Kontrollit" nuk është e njëjtë si në foto (por, ka shumë të ngjarë, "shikoni sipas kategorive", pasi kjo pamje është vendosur si parazgjedhje), atëherë klikoni me të majtën në mbishkrimin "Kalo në pamjen klasike ".

Pastaj klikoni dy herë shpejt me butonin e majtë të miut në ikonën "Opsionet e Dosjeve" - ​​do të shihni cilësimin e vetive të dosjes. Si parazgjedhje, ju çoheni në skedën "Të përgjithshme". Klikoni me të majtën në skedën "Shiko".

Zgjidhni kutinë pranë "Fshih shtesat për llojet e regjistruara të skedarëve" duke klikuar mbi të me butonin e majtë të miut. Nëse nuk e shihni këtë mbishkrim, përdorni rrëshqitësin e djathtë (shiritin e rrotullimit) dhe "lëvizni" deri në fund të menysë (lëvizni treguesin e miut mbi rrëshqitësin, shtypni butonin e majtë të miut dhe mbani shtypur butonin, tërhiqeni rrëshqitësin poshtë )

Si mund të krijoj një skedar? Për shembull txt.

Le të fillojmë me një shembull të thjeshtë. Le të krijojmë një dokument të rregullt teksti (skedar) në desktopin tonë. Ne do ta bëjmë këtë në mënyrën e mëposhtme.

Poziciononi treguesin e miut (kursorin) në një zonë të desktopit ku nuk ka shkurtore. Klikoni me të djathtën, klikoni me të majtën "New"-"Document Text".

Një shkurtore duhet të shfaqet në desktop me imazhin e një "fletoreje me gjethe të lirshme në burime, siç ishte me tekstin" nën emrin "Text document.txt".

Në aspektin kompjuterik, ne kemi krijuar një skedar teksti. Ju lutemi vini re se përveç fjalëve që kuptojmë, ka një pikë dhe tre shkronja të pakuptueshme angleze (latine) në emrin e skedarit. Për çfarë është dhe për çfarë shërben? Le të shkojmë në rregull.

Dokument teksti.txt,Shtë, në fakt, emri i vetë skedarit, i cili përbëhet nga:

    1. Emri

Në këtë rast, emri i skedarit është një dokument Teksti (Në parim, emri i skedarit mund të jetë çdo gjë, të përbëhet nga një ose disa fjalë, mund të përfshijë karaktere speciale, për shembull, nënvizim, vija ose hapësirë. Në rastin tonë, skedari emri përbëhet nga 2 fjalë dhe një karakter të veçantë (mjaft çuditërisht) - një hapësirë. domethënë, nëse për ne ky është një kombinim i kuptueshëm i fjalëve Dokument teksti, atëherë kompjuteri do ta perceptojë këtë emër si një dokument hapësirë ​​teksti (Ky është për referencë , nuk ka të bëjë me temën tonë. justshtë vetëm që ju mund të përplaseni në të ardhmen, në mënyrë që të mos jetë surprizë për ju).

    1. Ndarës

Periudha (.) Ashtë një karakter që ndan emrin e skedarit dhe shtesën e skedarit. Pse pikërisht pika? Historikisht që nga fundi i shekujve. Ata thjesht vendosën që shumë kohë më parë, kur programet sapo po lindnin. Po, në përgjithësi, dhe bukur - asgjë e tepërt dhe nuk dëmton sytë.

    1. Zgjerimet

Vetë fjala zgjerim, më duket, është më e lehtë për tu kuptuar. Këtu është emri i skedarit, ata e morën atë dhe e zgjeruan atë me disa shkronja dhe emri i skedarit u bë më i gjerë (mirë, ose më i gjatë). Në rastin tonë, shtesa ka formën tekst... Kjo është txt dhe i tregon sistemit operativ (Windows) se cili program të hapë këtë skedar në mënyrë që të shohim (lexojmë) atë që është shkruar në këtë skedar (në këtë rast, një skedar teksti), ose të shkruajmë diçka atje. Ata gjithashtu thonë se ky skedar është në format teksti (më shumë për formatet më vonë).

Nëse është e qartë deri më tani, çfarë është zgjerimi i skedarit, atëherë unë do të jap një formulim për të rritur: Zgjatja e skedarit tregon në sistemin operativ formatin e tij, në rastin tonë skedari është në format txt.

Mendova për një kohë të gjatë nëse do të bëja një ekskursion në histori në kuadër të kësaj teme apo jo, por megjithatë vendosa të shkruaj, sepse në këtë ekskursion do të gjeni disa përgjigje të tjera për pyetjet "pse ...".

Dikur kur kompjuterët ishin të mëdhenj dhe të dobët, nuk kishte grafika të bukura me shumë ngjyra që shihni tani në monitorin e kompjuterit tuaj, dhe në Bashkimin Sovjetik ishte zakon që kompjuterat të quheshin kompjuterë (kompjuterë elektronikë ose PC, ku "P" do të thoshte personale), por programuesit ishin matematikanet Në atë kohë, vetëm teksti i bardhë ose jeshil në një sfond të zi mund të shihej në ekranin e monitorit. Kompjuterët ishin 8-bit atëherë (mos u mërzit me këtë tani, merre me besim). Lufta ishte atëherë për çdo grimë informacioni. Standarde të ndryshme janë zhvilluar.

Pra, në këtë epokë, u mor një nga vendimet që emri i skedarit do të ketë formën e emrit / ndarës / shtrirje.

Përsëri, për shkak të mungesës së burimeve, 8 karaktere u ndanë nën emrin e skedarit (le të themi, jo më shumë se 8 karaktere, domethënë më pak është e mundur, por më shumë se 8 është e pamundur), bëni një pikë si ndarës dhe vetëm 3 për karakterin e zgjerimit (shkronja).

Koha kaloi. Përparimi nuk qëndroi ende. Kompjuterët janë bërë të vegjël dhe të fuqishëm me grafikë të bukur, me ngjyra të bukura që kënaqin sytë tanë. Bit thellësi kompjuterë personalëështë rritur me 8 herë. Dhe tani ju tani keni një kompjuter 32-bit ose 64-bit me një sistem operativ 32-bit ose 64-bit (ka shumë të ngjarë Windows) para jush.

Ndërsa kompjuterët janë bërë më të fuqishëm, kufizimi në gjatësinë e emrit të skedarit është bërë më pak kritik. Sot ajo është diku deri në 256 karaktere.

Pra, kjo është ajo. Meqenëse ka miliarda emra skedarësh në të gjithë botën dhe këta emra mund të jenë çdo, atëherë këto 256 karaktere janë të mjaftueshme për sytë. Më interesante me shtesat. Në fakt, nuk ka aq shumë formate skedarësh (relativisht natyrisht) dhe ka ende mjaft, në përgjithësi, 3 karaktere. Tani ka 4 karaktere (ka më shumë) në shtesën e skedarit, por kjo është më shumë një vazhdimësi. Për shembull, një skedar i krijuar nga redaktuesi i testit Word nga Paketa Microsoft Office 2003 ka zgjerimin .doc, dhe skedarin e krijuar nga redaktuesi i testit Word nga paketa Microsoft Office 2007 (një version më i fundit i kësaj pakete), ka zgjerimin .docx.

Një pikë tjetër interesante. Sapo kompjuterët arritën zhvillimin e tyre, kur grafikat filluan të shfaqen në monitorë, dhe jo vetëm në tekst, atëherë u shfaqën shkurtore (Po, në fakt, një manipulues miu. Minjtë e prodhuar nga Sovjetikët kishin mjaft madhësi e madhe, kështu që ata u quajtën me përbuzje minjtë). Pra, fotografitë e vogla në etiketa (në rastin tonë, kjo është imazhi i një "fletoreje me gjethe të lirshme në burime, siç ishte me tekstin") - këto janë gjithashtu shpesh skedarë të veçantë, në atë kohë, në thelb, ata kishin zgjerim .ico shkurtim i 3 karaktereve të ikonës së fjalës angleze e cila në gjuhe angleze do të thotë një ikonë, simbol, imazh ikonik. Që atëherë, këto imazhe të vogla janë quajtur ikona. Emra të tjerë për këto imazhe të vogla janë piktogrami, ikona.

Dhe kështu, përsëri te deshitë tona, domethënë te skedari "Text document.txt" në desktopin tonë.

Ne klikojmë butonin e majtë të miut 2 herë shpejt në shkurtoren e skedarit "Text document.txt" që kemi krijuar. Unë jam (Por është interesante, a mund ta klikoni shpejt 2 herë për të hapur një skedar? Dhe nuk mund ta lëvizni miun në këtë kohë, sepse nëse e lëvizim miun midis klikimeve, ky hapje nuk do të funksionojë. Dhe nuk mësuam si për të klikuar shpejt butonin e majtë të miut 2 herë me radhë. Ndoshta duart e mia të shtrembra ka shumë të ngjarë të mprehen për një vare. Prandaj, unë përdor metodën e vjetër "të modës së vjetër", e cila kursen qelizat e mia nervore.) Unë, megjithatë, hap skedarë ndryshe. Unë klikoj me të djathtën në shkurtore, zgjedh artikullin më të lartë të menysë "Hap" nga menyja dhe klikoj mbi të me butonin e majtë të miut. (Ne përdorim miun shumë shpesh. Nëse nuk e dini se si ose nuk punoni mirë me të, atëherë mund të kaloni dy mësime rreth dhe për)

Çfarë shohim? Ne shohim një skedar bosh të hapur nga programi "Notepad" (bosh, sepse ne nuk kemi shkruar asgjë akoma atje - kjo nuk do të zgjasë shumë, do të shkruajmë më shumë).

Nga rruga, le të shkruajmë. Si një dembel në jetën time, unë thjesht shkruaj në tastierë. Për më tepër, kur është e mundur dhe jo për ta bërë atë. Unë thjesht do ta kopjoj atë (tekstin) nga diku. Për ta bërë tekstin kuptimplotë dhe të dobishëm në jetë, unë do të kopjoj recetën për petullat e mia të preferuara nga Interneti këtu. Ata janë aq të hollë saqë edhe shfaqen.

Lëreni dokumentin tonë të tekstit të qëndrojë në desktop. Dhe ne do të shkojmë në internet në faqen e simuluesit të tastierës falas në faqen në http://stamina.ru/blog/pitanie/blini dhe do të kopjojmë një pjesë të recetës nga atje si më poshtë.

Ne e lëvizim treguesin e miut në fillim të tekstit që duam të zgjedhim, ose më mirë pak në të majtë, shtypim butonin e majtë të miut dhe, duke e mbajtur të shtypur butonin e miut, "lëvizim" treguesin e miut në fund të fragment i tekstit që na nevojitet. Nëse jemi të kënaqur me zonën e zgjedhur të tekstit, atëherë lëshoni butonin e majtë të miut dhe menjëherë klikoni në butonin e djathtë të miut (figura përshkruan një version tjetër të të njëjtit veprim). Do të shfaqet një menu, në të cilën lëvizim treguesin e miut në artikullin e menysë "Kopjo" dhe kliko butonin e majtë të miut.

Epo, le të marrim një lloj disku referimi. Për shembull, kompjuteri juaj ka një makinë "G:" 10 GB (gigabajt). Ose nëse ka 10.000.000.000 bajtë në byte (në fakt pak më shumë, por për ne kjo nuk është e rëndësishme tani).

Easyshtë e lehtë të llogaritet që skedarë të tillë si "Pancake recipe.txt" do të përshtaten në këtë disk: ne ndajmë 10 GB me 507 bajtët tanë dhe marrim rreth 19,723,866 skedarë (në fakt pak më pak, por për ne kjo gjithashtu nuk është e rëndësishme tani) ...

Përafërsisht, në diskun tonë 10 GB, ne mund të akomodojmë 20 milion skedarë të tillë si Receta jonë e Pancake.txt.

Për këtë dua të përfundoj pjesën e parë të artikullit, në të cilën, duke përdorur shembullin e një skedari të thjeshtë teksti, filluam të marrim parasysh kuptimin e koncepteve të tilla si "skedar", "format", "shtrirje". Në, ne do t'i konsiderojmë këto koncepte tashmë në formate skedarësh më "të rëndë", siç janë skedarët e imazheve, skedarët muzikorë dhe video, dhe shumë më tepër që e shoqërojnë këtë.

Kjo eshte e gjitha. Fat i mirë dhe suksese krijuese për të gjithë. 🙂

P.S. Lexoni gjithashtu pjesën e dytë të artikullit, rreth dhe e treta - rreth.

Ne hasim në skedarë teksti (dokumente) pothuajse çdo ditë. Sidoqoftë, në këtë çështje, nuk duhet të ngatërroni shtrirjen e një skedari teksti dhe një format të të dhënave teksti, ato janë gjëra të ndryshme. Le të përpiqemi të përcaktojmë se cilat janë skedarët e këtij lloji dhe cilat janë ato.

Zgjatja e skedarit tekst: çfarë është ajo?

Le të fillojmë me faktin se, si rregull, shumica e skedarëve të këtij lloji kanë një shtrirje me tre shkronja pas ndarësit (periudhës). Lloji më i thjeshtë dhe më i zakonshëm është skedarët me shtesën .txt, të hapura në të njëjtën Sistemet Windows duke përdorur standardin "Notepad".

Sidoqoftë, pavarësisht nga rregullat e pranuara përgjithësisht, shtesat e skedarëve të dokumenteve të tekstit mund të përmbajnë jo tre shkronja, por më shumë (numri i tyre mund të jetë deri në dymbëdhjetë, por jo më shumë), për shembull, skedarë e-librash.djvu. Për më tepër, numrat mund të jenë të pranishëm në shtesën.

Çfarë na jep në konsideratë klasifikimin e një skedari teksti (dokumenti) për sa i përket identifikimit të tyre? Dhe fakti që një shikim ju lejon të zgjidhni menjëherë një pyetje të rëndësishme: çfarë shtrirjeje kanë skedarët e tekstit, i tillë është programi që lidhet me to për hapjen ose redaktimin. Në shumë raste, pothuajse gjithmonë mund të identifikoni aplikacionin origjinal në të cilin është krijuar një skedar i tillë.

Sidoqoftë, mos harroni se sot mund të gjeni një numër mjaft të madh të skedarëve me të njëjtat shtesa, por të krijuara në aplikacione të tjera ose të lidhura me programe të ndryshme. Duket se një skedar i rregullt me ​​shtesën .doc (.docx) fillimisht përputhet redaktues teksti Microsoft Word... Por mund ta hapni ose ta ruani në këtë formë në një tjetër, madje edhe në kompjuterët "mollë". Kjo gjithashtu mund të përfshijë, për të thënë, një lloj të përzier - .pdf skedarë që përmbajnë jo vetëm tekst, por edhe grafikë. Por në fund të fundit Dokumente me fjalë mund të përmbajë imazhe të futura.

Kjo është pikërisht ajo që shërben si një tregues se shtrirja e një skedari teksti tregon shkathtësinë e vetë formatit, i cili është më "i lexueshëm" edhe pavarësisht nga sistemi operativ i përdorur. E njëjta gjë vlen për çdo lloj.

Llojet e zgjerimit të skedarit: tekst

Në përgjithësi, sot dihet një numër kaq i madh i formateve të tekstit dhe shtesat e tyre që, me siguri, praktikisht asnjë specialist nuk do të marrë përsipër të numërojë numrin e tyre të plotë.

Po, natyrisht, universaliteti i dokumenteve të tillë është pa dyshim, veçanërisht nëse ato përdorin më të thjeshtat, por ndonjëherë problemi mund të jetë se jo çdo kodim mbështetet nga një sistem ose program i veçantë. Kjo është arsyeja pse një grup simbole shfaqet në ekran në vend të shkronjave të zakonshme.

Sa i përket varieteteve të skedarëve të tekstit, nuk mund t'i rendisni të gjitha. Më të zakonshmet janë .txt, .doc, .tex, .text, .pdf, .log, .apt, .ttf, .err, .sub, .djvu, .odt, .rtf dhe shumë të tjerë Lista është e pafund.

Më interesante, shumë nga këto lloje skedarësh kanë role të ndryshme në sistem. Për shembull, përveç skedarit të zakonshëm të nëntitujve., Një dokument normal teksti .txt mund të jetë përgjegjës për shikimin e tyre kur hapni një video, dhe në këtë drejtim, shumë formate janë të këmbyeshme.

Vini re se edhe skedarët e ekzekutueshëm mund të kenë tekst si përmbajtje të tyre. Shembulli më i thjeshtë- një skedar .bat i krijuar në një "Notepad" të rregullt dhe që përmban tekst në formën e një grupi komandash. Në fillimin, komandat ekzekutohen dhe menyja "Hap me ..." përdoret për redaktim, përveç nëse ky proces fillimisht shoqërohet me një veprim tjetër.

Një situatë e ngjashme vërehet me dokumente që përdorin gjuhë shënimi ose programimi, për shembull, skedarë .html, .htm, .xml, etj. Edhe faqet e internetit mund të hapen në mënyrë origjinale në shumë redaktues si skedarë teksti që përmbajnë elementë të palëve të treta.

Ndryshimi i shtesave të skedarëve të tekstit

Sa i përket ndryshimit të zgjerimit, ndonjëherë mund të ndryshohet, për shembull, .txt në .doc dhe anasjelltas. Redaktori i fjalëve do të hapë çdo lloj. E njëjta vlen edhe për çiftin .txt - .bat kur hapet në Notepad. Por në raste të tjera, është më mirë të mos kryeni manipulime të tilla, thjesht nuk do të çojë në asgjë, dhe një aplikacion tjetër nuk do të jetë në gjendje të hapë skedarin e riemëruar. Ndryshimi i formatit do të duhet të bëhet duke përdorur programe të veçanta konvertuese.

Në vend të një pasthënieje

Siç është kuptuar tashmë, shtrirja e një skedari teksti mund të ketë shumë ndryshime, në varësi të programit në të cilin është krijuar dokumenti. Por, si dhe në raste të tjera, me vetë zgjerimin është pothuajse gjithmonë e mundur të përcaktohet aplikacioni i lidhur fillimisht me të, në raste ekstreme, ta hapni atë me çdo program tjetër që mbështet punën me këtë lloj të dhënash, edhe nëse origjinali aplikacioni mungon në kompjuter. Dhe siç është ndoshta tashmë e qartë, janë skedarët e tekstit që, në fakt, janë më të përhapurit dhe më universalët në botën e kompjuterëve, pavarësisht nga paketat softuerike dhe sistemet operative të përdorura.

TEMA 10:DOSJET. DOSJET TYPIKE. DOSJET E TEKSTIT.

Konceptet themelore

Skedaret Ashtë një strukturë e emërtuar e të dhënave në një medium teknik, e cila është një sekuencë elementesh (regjistrimesh) të të njëjtit lloj.

Skedaret Ashtë një grup me gjatësi të ndryshueshme me madhësi të pakufizuar.

Skedari mund të jetë pjesë e një strukture tjetër komplekse, por nuk duhet të jetë pjesë e një skedari tjetër.

Dallimi midis një skedari dhe një grupi:

A) vendosja në një medium të jashtëm;

B) gjatësia e skedarit nuk është e specifikuar;

C) vendi i elementit nuk përcaktohet nga indeksi.

Për të caktuar një skedar dhe për të punuar me të, përdorni variabli i skedarit(FP).

Ndryshore e skedaritështë një ndryshore e përdorur në programet për t'iu referuar dhe referuar një skedari.


Karakteristikat e ndryshores së skedarit:

Nuk mund t'i caktohet asnjë vlerë.

Ajo nuk mund të marrë pjesë në operacionet logjike

Ajo nuk mund të hyjë në shprehje matematikore

Deklarata e ndryshores së skedarit

Skedari deklarohet në seksionin e deklarimit të ndryshores me një tregues të llojit të elementit të skedarit.

Lloji i skedarit

Përshkrimi i skedarit

E shtypur

Var F1: skedar i numrit të plotë;

F2: skedari char;

Jo i shtypur

Teksti

PUNA ME FILE

A) SHKRUAJ P TOR FILE

Cakto (FP, ‘Emri’);

Hapja e skedarit për të shkruar

Shkrimi i të dhënave në një skedar

Shkruaj (FP, Të Dhëna);

Writeln (FP, Data); - për tekstin

Mbyllni skedarin

B) LEXIM NGA NJ DOSJE

Ne e lidhim një skedar (mund të mos ekzistojë) me emrin Emri me një ndryshore skedari (FP)

Cakto (FP, ‘Emri’);

Hapni skedarin për lexim (treguesi është vendosur në elementin e parë)

Ne lexojmë të dhënat nga skedari në variabla dhe e lëvizim treguesin e skedarit përpara.

Lexo (FP, Variablat);

Readln (FP, Variablat); - për tekstin

Mbyllni skedarin

Kur punoni me një skedar, përdoret koncepti i një treguesi ose indeksi të skedarit, domethënë pozicioni i kokës magnetike në një vend të caktuar në skedar.

P DRCAKTIMI I KOHSIS S. DOSJEVE TEKST

Në Pascal, nuk ka asnjë komandë që do të përcaktonte numrin e rreshtave të shkruar në një skedar teksti. Sidoqoftë, ekziston një funksion që ju tregon momentin kur treguesi i skedarit arriti në rreshtin e fundit - EOF (Fundi i Skedarit)

EOF(FP) - funksioni konfirmues

duke arritur në fund të skedarit të tekstit

Nëse arrihet fundi i skedarit, atëherë EOF është e vërtetë.

Nëse fundi i skedarit nuk arrihet, atëherë EOF është i rremë.

Një shembull i leximit të një skedari teksti që përmban një numër të panjohur rreshtash. Në fund të programit, ne do të shfaqim numrin e rreshtave në ekran.

Var f: tekst; N: numër i plotë; s: varg;

Cakto (f, ‘c: \ MyText. Txt’);

Derisa Eof (f) = false bëj ( ju mund ta shkruani këtë rresht më të shkurtër: Derisa jo Eof (f) bëj}

Writeln ("Në skedarin c: \ MyText. Txt", N, "rreshta");

P DRCAKTIMI I GJATSIS S F DOSJES BINARE

Për skedarët binarë të shtypur, metoda e përdorur kur lexoni skedarë teksti është e zbatueshme. Funksioni EOF funksionon njësoj si për skedarët tekst ashtu edhe për ata binarë.

Përveç kësaj, kur punoni me binarë, mund të përdorni funksionin FileSize, i cili përcakton gjatësinë e skedarit binar.

FileSize (FP) - funksion që kthen gjatësinë e një skedari binar

Një program që lexon të gjithë numrat nga një skedar i plotë binar dhe gjen shumën e tyre:

Var f: skedar i numrit të plotë;

Summ, i, T: numër i plotë;

Cakto (f, ‘c: \ MyFile. Int’);

Për i: = 1 në madhësinë e skedarit (f) bëj ( mund të përdoret një lak tjetër: Derisa jo Eof (f) bëj}

Writeln ("Shuma e numrave, në skedarin c: \ MyFile. Int është", Summ);

Writeln ("Gjatësia e skedarit c: \ MyFile. Int", FileSize (f), "numrat");

NAVIGIM BINAR

Për skedarët binarë, ekziston një procedurë Kërko që lëviz treguesin e leximit / shkrimit në pozicionin e dëshiruar të skedarit.

KEKRKO (FP, Pozicioni) - lëviz treguesin

në një pozicion të caktuar të skedarit

Një program që zeron një numër në një vendndodhje të caktuar në një skedar binar real dhe e shton këtë numër në fund të skedarit.

Var f: skedari real; (deklaro një ndryshore skedari për një skedar të vërtetë)

N: = FileSize (f); (le të përcaktojmë numrin e numrave në skedar)

Përsëriteni (fillimi i ciklit)

Writeln ("Në dosje ', N,' numra '' ');

Writeln ("Fut numrin e numrit që dëshiron të zhvendosësh në fund të skedarit?");

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

Kërko (f, Poz); (poziciononi treguesin e skedarit në pozicionin e dhënë)

Lexoni (f, R); (ne lexojmë një numër nga një pozicion i caktuar i skedarit në ndryshoren R, treguesi lëviz një pozicion përpara)

Kërko (f, Poz); (kthejeni treguesin në pozicionin e dhënë)

Shkruani (f, Null); (zero numrin në të cilin është vendosur treguesi)

Kërko (f, N); (zhvendosni treguesin në fund të skedarit)

Shkruani (f, R); (shkruani numrin nga ndryshorja R deri në fund të skedarit)

ZBRITJA E DOSJEVE BINARE

Për të shkurtuar një skedar binar, duhet të vendosni treguesin e skedarit në vendin përtej të cilit ndodhet informacioni shtesë dhe të shkurtoni pjesën shtesë me procedurën e cungimit.

Cungoj (FP ) procedura për të shkurtuar të dhënat pas treguesit të skedarit

Një program që lë vetëm 10 numrat e parë në një skedar binar:

Var f: skedari real; (deklaro një ndryshore të skedarit)

Cakto (f, ‘c: \ MyRealFile.rlf’); (lidhni ndryshoren e skedarit në skedar)

Rivendos (f); (hapni skedarin për lexim dhe shkrim)

Kërko (f, 10); (poziciononi treguesin e skedarit në pozicionin e dhënë)

Shkurtoj (f); (ne ndërpresim nga skedari gjithçka që ndodhet më tej se treguesi i skedarit)

SHTIMI I INFORMACIONIT N F DOSJET E TEKSTIT

Fatkeqësisht, kur punoni me skedarë teksti, nuk ka asnjë mënyrë për të futur ndonjë informacion në mes ose në fillim të skedarit. Ndryshimi i vetëm në skedar që është i mundur është aftësia për të shtuar rreshta në fund të skedarit. Për këtë, skedari duhet të jetë i hapur për t'u shtuar.

Ashtoj(FP)- një procedurë që hap një skedar teksti

për të shtuar rreshta

Një program që shton dy rreshta në fund të një skedari teksti:

Var FT: tekst; s: varg;

Cakto (FT, 'q. Txt');

S: = 'Linja e parë e shtuar'; Writeln (FT, S);

S: = 'Linja e dytë e shtuar'; Writeln (FT, S);

REMAZIMI, LVVIZJA E DOSJES

Kur punoni me vendosjen e informacionit në një disk, duhet të jeni të vetëdijshëm se kur transferoni informacione nga një dosje (në krahasim me kopjimin, ku krijohet një kopje e të dhënave) në një tjetër, nuk ka transferim aktual të të dhënave. Kur transferoni informacione nga një dosje në tjetrën, ndryshon vetëm rruga në skedar, domethënë, në fakt, vetëm emri i skedarit ndryshon.

Prandaj, në Pascal, e njëjta komandë kryen edhe riemërtimin e skedarit dhe transferimin e skedarit midis drejtorive.

Emri i Ri (FP, Emri_faj_ i ri] një procedurë që riemëron një skedar dhe e transferon atë në një drejtori,

specifikuar në emrin e skedarit të ri.

Komanda Rename punon vetëm me skedarë të mbyllur (ose jo ende të hapur). Prandaj, para se ta përdorni, nuk keni nevojë të hapni skedarin për të lexuar, shkruar ose shtuar të dhëna. Ose, nëse skedari është tashmë i hapur, duhet të mbyllet së pari.

Programi duhet t'i japë skedarit 'q1.txt' një emër të ri, të cilin përdoruesi e fut dhe ta transferojë skedarin 'q2. tekst'Për drejtori'c:\ Dokumenti\’.

Var FT: tekst; s: varg;

Cakto (FT, 'q1.txt'); (lidhni ndryshoren e skedarit në skedar)

Writeln ("Shkruani një emër të ri për skedarin q1.txt");

Lexo (s); (lexoni nga tastiera emrin e skedarit të ri në ndryshoren s)

Riemërtoni (FT, s); (riemëroni skedarin)

Cakto (FT, 'q2.txt'); (lidhni ndryshoren e skedarit në skedarin e dytë)

Riemëroni (FT, ‘c: \ Document \ q2.txt’); (transferoni skedarin në një drejtori të caktuar me të njëjtin emër)

Për të transferuar një skedar në një disk tjetër, duhet të kopjoni skedarin, dhe pastaj ta fshini atë në të njëjtin vend

Kopjimi dhe fshirja e një skedari

Duke kopjuar: Për të kopjuar një skedar, duhet të lexoni të gjitha regjistrimet e një skedari dhe t'i shkruani ato në skedarin e krijuar rishtas.

Heqja: Për të fshirë një skedar, mjafton të aplikoni procedurën Erase në ndryshoren e skedarit (e lidhur me skedarin e mbyllur).

ZBURR (FP) një procedurë që heq skedarin e lidhur me një ndryshore skedari.

Programi kopjon skedarin nga disku "C" në dicTe 'D’Dhe fshin origjinalin nga disku" C "(në fakt, programi transferon skedarin nga një makinë në tjetrën)

Var f1, f2: skedar i bajtit;

Cakto (f1, 'c: \ MyFile. Int'); Rivendos (f1); (hapni skedarin e mostrës për lexim)

Cakto (f2, ‘d: \ MyFile. Int’); Rishkruaj (f2); (krijoni një skedar në diskun D)

Derisa jo Eof (f1) bëj

Lexoni (f1, b); (lexoni të dhënat nga skedari origjinal)

Shkruani (f2, b); (shkruani të dhëna në një skedar të ri)

Mbyll (f1); (mbyllni skedarin e mostrës, para se të fshini skedarin duhet të fshihet)

Mbyll (f2); (mbyll skedarin e ri)

Fshi (f1); (fshini skedarin)

PUNA ME KATALOGJE

MkDir (Emri i Drejtorisë) - Procedura krijon një të re katalog

(Nëse ekziston një drejtori me këtë emër, atëherë do të ndodhë një gabim)

RmDir(Emri i Drejtorisë) - Procedura heq katalog

(Mund të fshini vetëm një drejtori të zbrazët)

ChDir (Emri i Drejtorisë) - Procedura ndryshon rrymën katalog

(Drejtoria aktuale është një drejtori, rruga drejt së cilës nuk kërkohet kur punoni me skedarë. Kur programi është i ndezur, drejtoria aktuale është drejtoria në të cilën ndodhet programi.)

Për riemërimi katalog e nevojshme :

a) Krijoni një drejtori të re

b) Zhvendosni të gjithë skedarët atje

c) Fshini drejtorinë e vjetër

Programi riemëron drejtorinë "c: \ Cat \", e cila përmban dy skedarë "q1.txt" dhe "q2.ini", në drejtorinë "c: \ CatNew \" dhe krijon drejtorinë aktuale.

Var f1, f2: skedar i bajtit; b: bajt;

MkDir ("c: \ CatNew"); (krijoni një drejtori të re)

(kopjoni skedarin q1.txt në gurney -in e ri)

Cakto (f1, ‘c: \ Cat \ q1.txt’); Rivendos (f1);

Cakto (f2, ‘c: \ CatNew \ q1.txt’); Rishkruaj (f2);

Derisa jo Eof (f1) bëj

Filloni Lexoni (f1, b); Shkruani (f2, b); Fundi;

(kopjoni skedarin q2.ini në drejtorinë e re)

Cakto (f1, 'c: \ Cat \ q2.ini'); Rivendos (f1);

Cakto (f2, 'c: \ CatNew \ q2.ini'); Rishkruaj (f2);

Derisa jo Eof (f1) bëj

Filloni Lexoni (f1, b); Shkruani (f2, b); Fundi;

Mbyll (f1); Mbyll (f2); Fshi (f1);

RmDir (‘c: \ Cat’); (fshini drejtorinë e vjetër)

ChDir (‘c: \ CatNew’); (bëjeni drejtorinë e re aktuale)

Kërkoni për skedarë

Programuesi nuk e di gjithmonë se cilat skedarë janë të vendosur në cilat drejtori dhe cilat drejtori janë të vendosura në disqe të caktuar. Prandaj, një temë e rëndësishme e punës me skedarët është gjetja e skedarëve (dhe drejtorive).

Ekzistojnë dy procedura për kërkimin e skedarëve, të vendosura në modul WinDos:

Gjeni të parën(Maskë, Flamur, Sektori i Informacionit)- kërkon skedarin e parë që përputhet me "maskën" dhe "flamurin", nëse gjendet, transferon të dhëna në lidhje me skedarin (drejtorinë) e gjetur në një ndryshore të tipit TSearchRec("Marrësi i informacionit")

GjejTjetra (informacioni i marrësit)- kërkon skedarin tjetër që përputhet me kushtet e vendosura në procedurën FindFirst, nëse gjendet, transferon të dhënat në lidhje me skedarin (drejtorinë) e gjetur në një ndryshore të tipit TSearchRec("Marrësi i informacionit")

Modul WinDos përmban, gjithashtu ndryshoren DosGabim e cila mbetet e barabartë me zero përderisa komandat e kërkimit gjejnë një skedar që përputhet me gjendjen e kërkimit. Nëse komandat e kërkimit nuk gjetën skedarë që përputhen me gjendjen, atëherë ndryshorja

Maska e kërkimit - një varg me emrin e skedarit ose drejtorisë që kërkohet. Përveç karaktereve të zakonshme, maska ​​mund të përmbajë "*" dhe "?".

* - do të thotë që çdo numër i çdo karaktere mund të jetë i pranishëm në skedarin e kërkuar në këtë vend;

? – do të thotë që çdo karakter mund të jetë i pranishëm në skedarin e kërkuar në këtë vendndodhje.

Shembuj të maskave:

"*.* ’- çdo skedar me çdo shtrirje

"kërkim. *"- një skedar me emrin" kërkim "dhe çdo shtesë

"* .tekst"- një skedar me çdo emër dhe me shtesën" txt "

"qust? .txt"- një skedar me shtesën" txt ", që përmban 5 shkronja në emër, 4 prej të cilave të para janë" qust ", dhe karakteri i 5-të është çdo

"qust * .txt"- një skedar me shtesën" txt ", katër shkronjat e para të të cilit janë" qust ", numri i shkronjave të mëposhtme nuk është i kufizuar

"quest. tekst’- skedar me emrin" kërkim "dhe shtrirje" txt "

Flamuri i kërkimit - një grup konstantesh të veçanta të lidhura nga operatori OR.

Në vend të konstanteve, mund të përdorni një numër të barabartë me shumën e numrave me konstantet përkatëse

Flamuri

Lloji i skedarit

Numri

faReadOnly

Kërko me atribut vetëm për lexim

e fshehur

Kërko me atributin "Fshehur"

faSysFile

Kërko me atributin "Sistemi"

faVëllimiID

Kthejeni ID -në e mediave

faDirectory

Ktheni informacionin e drejtorisë

arkivi

Kërkoni me atributin "Arkiv"

faAnyFile

Përfshini të gjithë flamujt e mëparshëm

Shembuj të flamujve:

· faReadOnly ose FaHidden – 3 - duke kërkuar skedarë që kanë atributin "të fshehur" ose "vetëm për lexim"

· faDirectoty oseFaSysFile - 20 – drejtoritë dhe skedarët kërkohen për të cilët kanë të vendosur atributin System

Marrësi i informacionit - ndryshore e tipit TSearchRec, i cili do të përmbajë të dhëna në lidhje me skedarin e gjetur

Lloji TSearchRec përshkruhet në modulin WinDos dhe nuk kërkon një përshkrim paraprak nga programuesi. Ky lloj është një regjistrim i formës së mëposhtme:

Lloji TSearchRec = Regjistro

Plotësoni: Grupi i bajtit; (Parametri i sistemit, nuk përdoret nga ne)

Attr: Byte; (Parametri që përmban të dhënat e flamurit të skedarit)

Koha: LongInt; (Koha e krijimit të skedarit)

Madhësia: LongInt; (Madhësia e skedarit në byte)

Emri: Array of Char; (Emri i skedarit)

Le të themi se kemi një SR të ndryshueshme, e cila është e tipit TSearchRec. Pasi ta përdorni në komandën FindFirst, do të përmbajë informacion në lidhje me skedarin e gjetur (drejtorinë.)

Informacioni i emrit të skedarit do të shkojë në SR. Emri, në lidhje me madhësinë e skedarit në SR. Madhësia, dhe për të përcaktuar nëse skedari është një skedar sistemi, duhet të bashkoni vlerën SR. Attr me operatorin FaSysFile konstante Dhe. Skedari i sistemit nëse rezultati është më i madh se zero.

Shembull :

NESE Z. Attr dhe FaSysFile> 0 PASTAJ Writeln ("Sistemi");

Programi kërkon drejtorinë "c: \ Doc" për të gjithë skedarët me shtesën "txt". Dhe shfaq emrin e atyre, madhësia e të cilëve është më shumë se 3000 bajt.

Përdor Dos, crt, WinDos;

Var SR: TSearchRec; (Ne përshkruajmë ndryshoren në të cilën do të ruajmë informacione për skedarët e gjetur)

clrscr; ChDir ("c: \ Doc"); (Ndryshoni drejtorinë aktuale)

FindFirst ("*. Txt", faAnyFile, SR); (Ne jemi duke kërkuar skedarin e parë në drejtorinë aktuale me shtesën "txt" dhe çdo grup flamujsh, rezultati është në ndryshoren SR)

ndërsa DosError = 0 do (lak ndërsa skedarët janë të vendosur)

nëse SR. Madhësia> 3000 (nëse madhësia e skedarit është më shumë se 3000 bajt)

pastaj shkruaj (Emri SR.); (Ne shfaqim emrin e skedarit të gjetur në ekran)

Programi kërkon të gjitha drejtoritë e vendosura në disk në drejtorinë rrënjësore të diskut C dhe shfaq listën e drejtorive në skedarin "c: \ info. tekst'Dhe në ekran (Drejtoria kryesore e diskut "C" është drejtoria "c: \").

Përdor Dos, crt, WinDos;

Var SR: TSearchRec; f: tekst;

Clrscr; Cakto (f, "c: \ info. Txt"); Rishkruaj (f);

ChDir ("c: \"); (Shkoni te drejtoria rrënjësore)

FindFirst ("*", faDirectory, SR); (Ne po kërkojmë një skedar pa shtesa, përfshirë drejtoritë)

Derisa DosError=0 bëj(lakoni ndërsa skedarët janë të vendosur)

nëse SR. Attr dhe faDirectory> 0 atëherë (nëse skedari ka atributin "Drejtoria")

Writeln (SR. Emri); (shfaqni emrin e skedarit në ekran)

Writeln (f, Emri i Sr.); (jepni emrin e skedarit në skedarin "c: \ info. txt")

FindNext (SR); (Duke kërkuar skedarin tjetër)

Procedurat për të punuar me variablat e skedarëve

Procedura

Emërimi

Komentoni

Cakto (f, 'emër')

Lidh një ndryshore të skedarit me një skedar specifik (lidh një ndryshore me një emër skedari). Vendosur para përdorimit të parë të ndryshores së skedarit.

Ju mund të vendosni emrin e skedarit 'emër' përmes një variabli vargu (S): Caktoni (f, S)

Rivendos (f)

Hap një skedar ekzistues dhe vendos një tregues në fillim të regjistrimit.

Për çdo skedar

Rishkruaj (f)

Krijon një skedar të ri bosh, vendos një tregues në fillim të skedarit. Nëse skedari ekzistonte, atëherë përmbajtja e tij shkatërrohet.

Për çdo skedar

Mbylle (f)

Mbyllet hap skedarin

Për çdo skedar

Fshi (f)

Fshin një skedar të mbyllur më parë

Për çdo skedar

Riemërto (f, f1)

Riemërton skedarin f në skedarin f1. Dosja f duhet të mbyllet paraprakisht

Për çdo skedar

Lexoni (f, v1, ... vn)

Shkruani (f, v1, ... vn)

Shkruan vlerat e variablave v1, ... vn në skedarin f

Për skedarët e shtypur dhe të pa shtypur

Lexo (f, v1, .. vn)

Lexon regjistrimet nga skedari f në variablat v1, ..vn

Writeln (f, v1, .vn)

Shkruan vlerat e variablave v1, .. vn në skedarin f

nuk është e vlefshme në skedarët e shtypur

Shtoj (f)

Hap një skedar dhe vendos një tregues në një shenjë në fund të skedarit

Përdoret për të shtuar regjistrime

kërko (f, n)

Vendos një tregues për të regjistruar n

cungoj (f)

Hiq të gjitha regjistrimet pas treguesit dhe shkruan shenjën e skedarit në këtë pozicion.

Funksionon kur punoni me ndryshoret e skedarëve

Procedura

Emërimi

Komentoni

Marrja e informacionit në fund të skedarit E vërtetë nëse treguesi është në fund të skedarit, i gabuar ndryshe

Funksioni logjik.

E vërtetë nëse treguesi është në shenjën e fundit të rreshtit, përndryshe E gabuar

Funksioni logjik. Për teksti skedaret

N: = madhësia e skedarit (F);

Përcaktimi i numrit të regjistrimeve në një skedar

N: = filepos (f)

Kthen numrin e regjistrimit të treguar nga treguesi i regjistrimit. Regjistrimi i parë është numëruar me 0.

Mostra programesh

PROBLEMI 1: Shkruani një program,shkrimi i të dhënave për autorin dhe 20 numra të rastësishëm në një skedar teksti

rastësoj; (krijimi i një gjeneratori të numrave të rastit)

rishkruaj (f); (hap skedarin për të shkruar)

r: = rastësor (10); (ne krijojmë një numër të rastit nga 1 në 10)

STR (r, s); (shndërroni numrin r në vargun s)

shkrim (f, s); (shkruani një varg me një numër në një skedar)

mbyll (f); (mbyll skedarin)

OBJEKTIVI 2: Shkruani një program,leximi nga një skedar teksti të dhëna për autorin dhe 20 numra të rastit

r, i, c: numër i plotë;

caktoj (f, "dddddd. txt"); (lidhni ndryshoren e skedarit me skedarin)

rivendos (f); (hapeni skedarin për ta lexuar)

për i: = 1 deri në 20 (ndizni lakin për 20 përsëritje)

readln (f, s); (lexoni numrin nga skedari në rresht)

val (s, r, c); (ne përkthejmë vargun "s" në numrin "r", në ndryshoren "c" kodin e një gabimi të mundshëm)

nëse c = 0 atëherë shkruhet (r); (nëse nuk ka gabim (c = 0), atëherë ne shfaqim numrin në ekran)

mbyll (f); (mbyll skedarin)

OBJEKTIVI 3: Llogaritni rrënjët e një ekuacioni kuadratik dhe nxirrni rezultatet në një skedar.

Var a, b, c, x1, x2, d: real;

Cakto (f, ’rezultati. Txt); (lidhni skedarin me ndryshoren e skedarit f)

Rishkruaj (f); (hap skedarin për të shkruar)

(Ne lexojmë të dhënat fillestare nga tastiera dhe i dërgojmë në një skedar)

Writeln (f, 'zgjidhja e katrorit ur-i');

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

(Llogaritni rrënjët e ekuacionit kuadratik)

Nëse d> = 0 atëherë Filloni X1: = - b + sqrt (d) / (2 * a); X2: = - b -sqrt (d) / (2 * a); Fundi;

(Dalja e rezultatit në një skedar)

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

tjetër Writeln (f, ‘rrënjët: x1 =’, x1: 6: 3, ’x2 =’, x2: 6: 3);

(Mbyllni skedarin dhe përfundoni programin)

Writeln (‘puna e programit rezulton në rezultatin e skedarit. Txt’);

Disku përmban një skedar të quajtur Karl. txt, e cila përmban një kthesë gjuhësh: "Karl vodhi koralet nga Clara, Clara vodhi një klarinetë nga Karl". Kërkohet të llogarisni numrin e shkronjave "K"

Var f: tekst; s: numër i plotë; a: karbon;

(Lidhni skedarin me ndryshoren e skedarit dhe hapeni për shkrim)

Cakto (f, 'Karl. Txt'); Rivendos (f);

(ne rradhazi shikojmë të gjitha rreshtat e skedarit deri në të fundit)

Ndërsa nuk eof (f) bëni

(ne lexojmë rresht të gjithë personazhet e rreshtit deri në të fundit në rresht dhe e kontrollojmë atë kundër "k")

Ndërsa nuk eoln (f) bëni

Filloni të lexoni (f, a); Nëse a = 'k' atëherë s: = s + 1; Fundi;

(shkoni në rreshtin tjetër të skedarit)

Futni tekstin në skedarin e tekstit f1 Rishkruani një rresht nga skedari f1 në f2 - gjysma e parë e skedarit në rendin përpara, dhe gjysma e dytë në renditje të kundërt të karaktereve.

Var f1, f2: tekst; s, snew, sa, sb: varg; n, y, i: numër i plotë;

(Lidh skedarët me ndryshoret e skedarëve)

Cakto (f1, 'file1'); Cakto (f2, 'file2');

(Ne lexojmë rreshtin nga tastiera dhe e dërgojmë atë në numrin e skedarit 1)

Rishkruaj (f1); Lexo (s); Writeln (f1, s); Mbyll (f1);

(Ne lexojmë rreshtin nga numri i skedarit 1)

Rivendos (f1); Lexo (f1, s1); Mbyll (f1);

(Gjeni mesin e rreshtit)

N: = gjatësia (s1); Y: = n div 2;

(Në një ndryshore të re ne shkruajmë gjysmën e parë të rreshtit në rendin përpara, gjysmën e dytë në renditje të kundërt)

Për i: = 1 për të bërë

Përtyp: = Përtyp + s1 [i];

Për i: = n poshtë në y + 1 bëj

Përtyp: = qep + s1 [i];

(Shkruani një rresht të ri në skedarin # 2)

Rishkruaj (f2); Writeln (i ri); Shkruani (f2, sNë re); Mbyll (f2);

Skedarët e tekstit

Skedarët e tekstit shoqërohen me variablat e skedarëve të llojit standard TEXT. Skedarët e tekstit janë krijuar për të ruajtur tekstin informacion. Inshtë në këtë lloj skedari që, për shembull, ruhen kodet burimore të programeve. Përbërësit (regjistrimet) e një skedari teksti mund të kenë gjatësi të ndryshueshme, gjë që ndikon ndjeshëm në mënyrën se si punoni me to.

Një skedar teksti interpretohet në Turbo Pascal si një koleksion linjash me gjatësi të ndryshueshme. Çdo rresht mund të arrihet vetëm në mënyrë të njëpasnjëshme, duke filluar me të parën. Kur krijoni një skedar teksti, në fund të çdo regjistrimi (rreshti) vendoset një shenjë e veçantë EOLN (Fund OfLiNe - fundi i rreshtit), dhe në fund të të gjithë skedarit - nënshkruani EOF (Fundi i Skedarit - fundi i skedarit) Me Këto shenja mund të testohen me funksione logjike me të njëjtin emër (shih më poshtë). Kur krijoni skedarë teksti, përdoren konventat e mëposhtme të sistemit:

EOLN- Sekuenca e kodit ASCII # 13 (CR) dhe # 10 (LF);

EOF është kodi ASCII # 26.

Për të hyrë në regjistrat, përdoren procedurat READ, READLN, WRITE, WRITELN. Ato ndryshojnë në aftësinë për t'iu qasur atyre me një numër të ndryshueshëm të parametrave aktualë, të cilët mund të jenë karaktere, vargje dhe numra. Parametri i parë në secilën prej procedurave të listuara mund të jetë një ndryshore skedari. Në këtë rast, një thirrje i bëhet skedarit të diskut ose pajisjes logjike të lidhur me ndryshoren e procedurës ASSIGN. Nëse asnjë variabël skedar nuk është specifikuar, skedarët standardë INPUT i referohen OUTPUT.

Procedura LEXO.

Siguron hyrje për karakteret, vargjet dhe numrat. Formati i kërkesës:

LEXO (<ф.п.>,<сп.ввода>) ose LEXO (<сп.ввода>)

Këtu<сп.ввода>- lista e hyrjeve: një sekuencë e një ose më shumë ndryshoreve të tipit CHAR, STRING, si dhe çdo numër të plotë ose të vërtetë.

Kur futni ndryshore të tipit CHAR, një karakter lexohet nga skedari dhe vlera e lexuar i caktohet ndryshores. Nëse para se të lexoni treguesi i skedarit ka arritur në fund të rreshtit tjetër, atëherë rezultati i leximit do të jetë karakteri CR (kodi ASCII # 13), dhe nëse arrihet fundi i skedarit, atëherë karakteri EOF (kodi # 26 ) Për futjen e tastierës, CR futet duke shtypur butonin Enter, dhe EOF duke shtypur tastet CTRL dhe Z në të njëjtën kohë.

Kur futni variablat e tipit STRING, numri i karaktereve të lexuar sipas procedurës dhe të vendosura në varg është i barabartë me gjatësinë maksimale të vargut, përveç nëse karakteret CR ose EOF janë hasur më parë. Në këtë rast, personazhet CR dhe EOF vetë nuk përshtaten në varg. Nëse numri i karaktereve në rrjedhën e të dhënave hyrëse tejkalon gjatësinë maksimale të vargut, karakteret "shtesë" deri në fund të vargut hidhen dhe një thirrje e re READ kthen një varg bosh. Kështu, procedura READ nuk është në gjendje të lexojë një sekuencë rreshtash: rreshti i parë do të lexohet normalisht, dhe të gjitha ato pasuese do të jenë të zbrazëta. Për të futur një sekuencë rreshtash, përdorni procedurën READLN (shih më poshtë).

Kur futni ndryshore numerike, rutina READ së pari zgjedh një nënvarg në rrjedhën e hyrjes sipas rregullit të mëposhtëm: të gjitha hapësirat kryesore, skedat dhe përfundimet e linjave EOLN anashkalohen; pas përzgjedhjes së karakterit të parë domethënës, përkundrazi, cilido nga personazhet e listuara ose karakteri EOF shërbejnë si një shenjë e përfundimit të nënvargut. Nën -vargu i zgjedhur në këtë mënyrë konsiderohet më pas si një përfaqësim simbolik i një konstante numerike të llojit përkatës dhe konvertohet në përfaqësim të brendshëm, dhe vlera që rezulton i caktohet ndryshores. Nëse formati i kërkuar i paraqitjes së numrit konstante, ndodh një gabim I / O. Nëse karakteri EOF haset gjatë kapërcimit të hapësirave kryesore, variabla merr vlerën 0. Vini re se Turbo Pascal nuk siguron konstante heksadecimale.

Kur përdorni procedurën READ kundër një skedari standard INPUT, d.m.th. kur shtypni nga tastiera, vargjet e karaktereve ruhen në një tampon, i cili kalon në procedurë vetëm pasi të shtypni butonin Enter. Kjo ju lejon të redaktoni të dhënat kur i futni ato. Çelësat e mëposhtëm përdoren për redaktim:

  • Backspace, Ctrl -H, duke lëvizur kursorin në të majtë - fshini karakterin në të majtë të kursorit;
  • zhvendosja e kursorit në të djathtë - rikthen karakterin e mëparshëm të vijës hyrëse sipas karakterit;
  • Ctrl -Z Enter - plotëson hyrjen sipas procedurës READ; parametrat e tjerë të karakterit "ekstra" vendosen në CHR (26), vargjet kthehen bosh dhe ndryshoret numerike mbeten të pandryshuara.

Gjatësia maksimale e tamponit të hyrjes së tastierës është 127 karaktere. Hyrja e tastierës duke përdorur procedurën READ shoqërohet me një jehonë të karaktereve të futura në ekranin e kompjuterit.

Rutina READ është e shkëlqyeshme për futjen e numrave. Kur qaseni në të për hyrjen e numrit të plotë të ardhshëm ose numrit real, procedura "hedh" shënuesit e fundit të rreshtit, d.m.th. në fakt, i gjithë skedari trajtohet si një rresht i gjatë që përmban paraqitjen tekstuale të numrave. Në kombinim me kontrollin e skedarit me funksionin EOF, procedura READ ju lejon të organizoni një wbd të thjeshtë të vargjeve të të dhënave, për shembull, si kjo:

konst

N = 1000; (Gjatësia maksimale e hyrjes)

f: tekst;

m: grup i vërtetë;

I: I plotë;

Filloni

caktoj (f, "prog.dat");

rivendos (£); i: = 1;

ndërsa jo EOF (f) dhe (i<= N) do

Filloni

lexo (f, m [i]);

inc (i)

fund;

mbyll (f);

.......

fund.

Procedura LEXO.

Siguron hyrje për karakteret, vargjet dhe numrat. Kjo procedurë është identike me procedurën READ, përveç që pasi të lexohet variabla e fundit, pjesa e mbetur e rreshtit deri në shënuesin EOLN anashkalohet, kështu që thirrja tjetër READLN ose READ fillon me karakterin e parë të linjës së re. Përndryshe, kjo procedurë mund të quhet pa një parametër (shiko procedurën READ), e cila do të kalojë të gjithë personazhet e linjës aktuale deri në EOLN.

Nëse procedura përdoret për leximin nga tastiera, shtypja e tastit Enter do të shfaqet në ekran pasi sekuenca CR + LF dhe kursori do të vendosen në fillim të rreshtit tjetër, ndërsa në procedurën READ tasti Enter është i bëri jehonë me karakterin CR dhe kursori do të vendoset në fillim të vijës aktuale. vargjet.

Procedura SHKRUAJ.

Siguron daljen e informacionit në një skedar teksti ose transferojeni atë në një pajisje logjike. Formati i kërkesës:

SHKRUAJ (<ф.п.>, <сп.вывода>) ose SHKRUAJ (<сп.вывода>)

Këtu<сп.вывода>- lista e daljeve: një sekuencë e një ose më shumë shprehjeve të tipit CHAR, STRING, BOOLEAN, si dhe çdo lloj numri të plotë ose real.

Ndryshore e skedarit<ф.п.>, nëse specifikohet, duhet të përshkruhet më parë si një ndryshore e llojit TEXT dhe të lidhet me emrin e skedarit ose njësinë logjike nga procedura ASSIGN. Nëse ndryshorja e skedarit mungon, supozohet dalja në skedarin standard OUTPUT, i cili zakonisht shoqërohet me ekranin e kompjuterit.

Çdo artikull në listën dalëse mund të jetë i formës

OutExpr [: MinWidth [: DecPlaces]]

Këtu OUTEXPR është shprehja dalëse;

MINWIDTH, DECPLACES - shprehje të llojit WORD (kllapat katrore nënkuptojnë mungesën e parametrave të mbyllur në to).

Nënparametri MINWIDTH, nëse është i pranishëm, specifikon gjerësinë minimale të fushës në të cilën do të shkruhet përfaqësimi i karaktereve të vlerës OUTEXPR. Nëse paraqitja e karaktereve është më e shkurtër se MINWIDTH, do të lihet e majtë me hapësira, nëse është më e gjatë, atëherë nënparametri MINWIDTH injorohet dhe del numri i kërkuar i karaktereve.

Nënparametri DECPLACES specifikon numrin e vendeve dhjetore në pjesën thyese të numrit real. Mund të përdoret vetëm në lidhje me MINWIDTH dhe vetëm në lidhje me shprehjen e përfunduar të një prej llojeve reale.

Nëse gjerësia e fushës dalëse nuk është e specifikuar, parametri përkatës del pas atij të mëparshëm pa asnjë ndarje.

Karakteret dhe linjat kalojnë në skedarin dalës të pandryshuar, por janë të paravendosur me hapësirat kryesore nëse përcaktohet gjerësia e fushës së daljes dhe kjo gjerësi është më e madhe se sa kërkohet për dalje.

Kur shfaqen shprehjet logjike, linjat TRUE ose FALSE shfaqen në varësi të vlerës së tyre. (Konstantet Boolean nuk mund të futen me procedura READ ose READLN.)

Numrat realë dalin në format eksponencial nëse nuk përcaktohet nënparametri DECPLACES, përndryshe zgjidhet formati i pikës fikse. Formati eksponencial paraqet një numër real në formë

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

ku:

Hapësirë;

s hapësirë ​​për numrat pozitiv dhe "-" për numrat negativë;

# shifra dhjetore;

E është simboli i bazës dhjetore;

* shenjë "+" ose "-" në varësi të vendit dhjetor të numrit.

Nëse nënparametri MINWIDTH hiqet, supozohet vlera e tij e paracaktuar (23). Nëse MINWIDTH është më pak se 10, konsiderohet të jetë 10.

Nëse nënparametri DECPLACES është zero, nuk del as pjesa thyese e numrit dhe as pika dhjetore. Nëse DECPLACES është negativ, ky parametër injorohet dhe numri del në format eksponencial, përfshirë MINWIDTH. Nëse vlera DECPLACES është më e madhe se 18, supozohet vlera 18. Vini re se kur specifikoni nënparametrin DECPLACES, numri real gjithmonë do të dalë në një format me pikë fikse me numrin e kërkuar të shifrave në pjesën thyesore, edhe nëse vlera e nënparametrit MINWIDTH rezulton të jetë e pamjaftueshme për të akomoduar pjesën e plotë: në këtë Në këtë rast, vlera MINWIDTH rritet automatikisht.

Kur dalni në ekran, kur gjatësia e sekuencës së shfaqur të karaktereve tejkalon gjerësinë e ekranit ose dritaren e krijuar në të, personazhet "shtesë" transferohen në rreshtin tjetër të ekranit. Kur ekrani ose dritarja është e mbushur, përmbajtja e saj zhvendoset një rresht lart.

Procedurë WRITELN. Kjo procedurë është plotësisht identike me procedurën WRITE, përveç që vargu i karaktereve dalëse përfundon me kodet CR dhe LF. Kur telefononi WRITELN, mund të hiqni parametrin<сп.вывода>: në këtë rast, shënuesi EOLN kalon në skedar, i cili, kur shfaqet në ekran, do të bëjë që kursori të kalojë në fillim të rreshtit tjetër.

Funksioni logjik EOLN. Kthen TRUE nëse një shënues i fundit të rreshtit është arritur në skedarin e tekstit hyrës. Formati i kërkesës:

EOLN<ф.п.>

Nëse parametri<ф.п.>

Ekziston një ndryshim në mënyrën se si EOLN dhe EOF punojnë me skedarët e diskut dhe LUN. Çështja është se është e pamundur që një pajisje logjike të parashikojë se cili do të jetë rezultati i leximit të personazhit tjetër. Prandaj, kur punoni me një pajisje logjike, funksioni EOLN kthen TRUE nëse karakteri i fundit i lexuar nga pajisja ishte EOLN ose EOF, ndërsa kur lexoni nga një disk, TRUE kthehet nëse karakteri tjetër i lexuar është EOLN ose EOF. Një ndryshim i ngjashëm vërehet në funksionin EOF: për një pajisje logjike, TRUE kthehet nëse karakteri i fundit ishte EOF, dhe kur lexoni nga disku - nëse karakteri tjetër i lexuar është EOF. Me fjalë të tjera, funksionet testojnë veçoritë përkatëse për pajisjen logjike pas leximit tjetër, dhe për skedarin para leximit.

Funksioni logjik KEKRKOJ

Kalon të gjitha hapësirat dhe skedat deri në shënuesin EOLN të fundit të rreshtit ose karakterin e parë të rëndësishëm dhe kthen TRUE nëse gjendet një shënues. Formati i kërkesës:

KEKRKIM (<ф.п.>)

Nëse parametri<ф.п.>i lënë jashtë, funksioni kontrollon skedarin standard INPUT.

Funksioni logjik KEKRKOJ

Kalon të gjitha hapësirat, skedat dhe shënuesit EOLN deri në shënuesin e skedarit ose karakterin e parë të rëndësishëm dhe kthen TRUE nëse gjendet një shënues. Formati i kërkesës:

SEEKEOF (<ф.п.>)

Nëse parametri<ф.п.>i lënë jashtë, funksioni kontrollon skedarin standard INPUT.

Në shembullin e mëposhtëm, duke ilustruar punën me një skedar teksti, numri i përgjithshëm i karaktereve në skedar llogaritet dhe rezultati ndahet me 40,000 - në këtë mënyrë, ju mund të vlerësoni vëllimin e dorëshkrimit në të ashtuquajturën kontabilitet dhe fletët e botimit:

f: tekst;

s: Varg;

Konst

Shuma: LongInt = 0; (Ky do të jetë numri i karaktereve)

Filloni

Shkruani ("Emri i skedarit:"); (Duke kërkuar ...)

Lexo (s); (dhe shkruani emrin e skedarit.)

caktoj (f, s);

Rivendos (f); (Hapni skedarin)

ndërsa jo EOF (f) bëjnë (Duke numëruar ...)

filloj (numri ...)

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

inc (Shuma, Gjatësia (s)) (në dosje)

fund;

Mbylle (f); (Mbyll skedarin)

WriteLn ("Vëllimi =", Shuma / 40000: 6: 2, "llogari")

fund.



Artikujt e lidhur: