Shembuj të kodit të funksionimit të menusë së sistemit të skedarëve Vb6. Leximi dhe shkrimi në një skedar teksti

Dritaret

Objektiv: Mësimi dhe përdorimi i operatorëve të gjuhës VB 6 për të punuar me skedarë lloje të ndryshme: skedarë sekuencialë (tekst), skedarë me akses të rastësishëm, skedarë binare. Hulumtimi dhe përdorimi i mjetit I zakonshëmDialogu për të hapur dhe ruajtur skedarë, zgjidhni fontet dhe ngjyrat dhe përdorni objektin clipboard për ruajtjen e fragmenteve të tekstit, duke përdorur shembullin e krijimit të një redaktuesi të thjeshtë teksti.

Pyetjet e testit:

1. Cilat janë mënyrat për të hapur një skedar teksti? Si të mbyllni tekstin dhe çdo tjetër skedar i hapur?

2. Si shkruhen të dhënat në një skedar teksti të shkruhet? Cili është ndryshimi midis deklaratave Write dhe Print?

3. Si hapen për lexim të dhënat nga një skedar teksti? Cili është ndryshimi midis operatorëve Input dhe Line Input? Çfarë funksioni mund të përdoret për të lexuar një numër të caktuar karakteresh nga një skedar? Si të lexoni të gjithë karakteret e një skedari?

4. Çfarë është një lloj i personalizuar i të dhënave dhe si përdoret ky koncept kur punoni me skedarë me akses të rastësishëm ( raf)?

5. Me çfarë operatorë nga skedari raf të dhënat lexohen dhe futen në skedar raf po shkruhen rekorde të reja?

6. Për çfarë qëllimi përcaktohet dhe përdoret indeksi gjatë punës me një skedar raf?

7. Cilat janë veçoritë e përdorimit të skedarëve binare? Si hapen? Si bëhet leximi nga një skedar binar dhe shkrimi në një skedar binar?

8. Si mund të zbatohet kontrolli I zakonshëmDialogu për të ngarkuar përmbajtjen e një skedari teksti në një fushë teksti? Si të përdorni të njëjtin kontroll për të ruajtur tekstin e redaktuar në një skedar teksti?

9. Si mund të aplikoni kontrollin I zakonshëmDialogu për të shkarkuar përmbajtjen e skedarit rtf në fushë I pasurkuti teksti? Si të përdorni të njëjtin kontroll për të ruajtur tekstin e redaktuar në një skedar rtf?

10. Si mund të aplikoni kontrollin I zakonshëmDialogu për të ndryshuar vlerat e parametrave të fontit dhe për të ndryshuar ngjyrën e tekstit në dritare kuti teksti(ose një pjesë e zgjedhur teksti në një dritare I pasurkuti teksti)?

Shembulli 7.1. Konsideroni një aplikacion që demonstron shkrimin në një skedar teksti (dhe leximin nga një skedar teksti) "informacionet e punonjësve" - ​​rreshta, secila prej të cilave përmban një numër identifikimi, emrin e plotë, datën e lindjes dhe vendin e lindjes së një punonjësi. Rreshtat formojnë një tabelë që do të imitohet në formën e ekranit nga 4 komanda Combo Box (Fig. 7.1), të cilat formojnë një grup objektesh Comb(i) me vetinë Style të vendosur në 1 - SimpleCombo.

Theksoni rreshtin që do të fshihet", vbExclamation

Kreh (j).HiqArtikull i

'Fut rekord i ri në tryezë:

Nën private mnuInsert_Click()

i% = Krehër(0).ListIndex

Nese une< 0 Then

MsgBox "Zgjidh një rresht për të futur përpara tij", vbExclamation

Comb(0).AddItem InputBox("Fut numrin"), i

Comb(1).AddItem InputBox("Fut emrin"), i

Comb(2).AddItem InputBox("Fut datën e lindjes."), i

Comb(3).AddItem InputBox("Fut vendin e lindjes."), i

"Ndryshimi i një hyrjeje në një tabelë:

Nën private mnuUpdate_Click()

i% = Krehër(0).ListIndex

Nese une< 0 Then

MsgBox "Zgjidh rreshtin për të modifikuar", vbExclamation

Comb(0).List(i) = InputBox("Fut numrin", Komb(0).Lista(i))

Comb(1).List(i) = InputBox("Fut emrin", Krehër(1).Lista(i))

Comb(2).List(i) = InputBox("Fut datën e lindjes", Comb(2).Lista(i))

Comb(3).List(i) = InputBox("Fut vendin e lindjes", Krehër(3).Lista(i))

Pastrimi i të gjithë tabelës:

Nën private mnuClear_Click()

Plotësimi i tabelës me informacion nga një skedar teksti:

Nën private mnuLoad_Click()

Hapni "person.txt" për hyrje si #1

Hyrja #1, mpirë, fio, bdate, bllok

Krehër(0) .Shto artikull numb

Krehër(1).ShtoArtikull fio

Krehër(2).Shto artikull bdate

Krehër(3).Blloku AddItem

Shkrimi i detajeve të tabelës në një skedar teksti:

Nën private mnuSave_Click()

N% = Komb(0).ListCount

Hapni "person.txt" për daljen si #1

Për i = 0 në N - 1

mpirë = Val(krehër(0). Lista (i))

fio = Krehër (1). Lista (i)

bdate = CDate (krehër (2). Lista (i))

bloc = Krehër (3). Lista (i)

Shkruani #1, mpirë, fio, bdate, bllok

' Mbyllja e aplikacionit:

Nën private mnuExit_Click()

Shembulli 7.2 . Konsideroni një aplikacion që demonstron përdorimin e kontrolleve I zakonshëmDialogu për të hapur dhe ruajtur një skedar, për të zgjedhur një font dhe ngjyrë dhe për të modifikuar tekstin.

Formatoni skedarin tekst do të ngarkohet në fushën e tekstit (fusha e majtë në Fig. 7.2), dhe skedari i formatit RTF- në fushë I pasurkuti teksti(margjina e djathtë në Fig. 7.2).

Objekt

Klasa

Objekt

Pronës

Objekt

Vlera e pasurisë

“Kolegjet e Përgjithshme

dialog”

Hap/Ruaj si skedën

Skeda e shkronjave

Skeda me ngjyra

Tabela nuk tregon vetitë e komandave të menysë Fonti, ngjyrë dhe Redakto. Më poshtë është kodi i procedurës vetëm për komandat e menysë dosje (hapur, Ruaj dhe RuajSi). Kompilimi i kodit për komandat e tjera të menusë është tema e detyrës së dytë të kësaj pune.

Nën private mnuOpen_Click()

CommonDialog1.TregoHap

F$ = CommonDialog1.Emri i skedarit

Nëse Right(F, 3) = "rtf" Atëherë

RichTextBox1.LoadFile F

ElseIf Right(F, 3) = "txt" Pastaj

Hapni F për të hyrë si #1

S$ = Hyrja (N, 1)

Nën private mnuSave_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.Emri i skedarit

Nën private mnuSaveAs_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.Emri i skedarit

RichTextBox1.SaveFile F, rtfRTF

Gjatë kësaj pune, studenti duhet të kryejë 2 detyra.

Ushtrimi 1. Në procesin e përfundimit të detyrës, studentët zotërojnë mundësitë e punës me skedarët e aksesit të rastësishëm të disponueshëm në VB 6 ( RAF-e rastitaksesdosje).

Për një tabelë të caktuar të bazës së të dhënave, deklarohet një lloj i dhënash i përcaktuar nga përdoruesi, deklarohet një variabël i këtij lloji (tutorial , fq. 108 - 112), përpilohen dhe korrigjohen procedurat që përdorin variablin e tipit të përcaktuar nga përdoruesi.

Në veçanti, zbatohen procedurat për komandat e menusë. Shkruani në dosjeRAF dhe Lexoni nga skedariRAF. Si në shembullin 7.1, një grup objektesh përdoret për të redaktuar të dhënat. Kombinimkuti dhe menuja Redakto me pesë komanda të nënmenysë: Shto një shënim, Fshi hyrjen, Fut hyrjen, Redakto hyrjen, Tabela e pastër.

opsioni 1.

Deklaroni një lloj të dhënash të personalizuar për tabelën "Car" (Tabela 7.1) të bazës së të dhënave "Auto Service".

makinë

makinë

keqfunksionime

Rreshti i poshtëm i tabelës 7.1 tregon llojet e fushave.

Opsioni 2.

Deklaroni një lloj të dhënash të personalizuar për tabelën Faults (Tabela 7.2) të bazës së të dhënave të Shërbimit të Makinave.

keqfunksionime

Emri

keqfunksionime

Çmimi

Rreshti i poshtëm i tabelës 7.2 tregon llojet e fushave.

Duke përdorur shembullin e aplikacionit 7.1 si mostër, organizoni futjen dhe modifikimin e të dhënave për tabelën e paraqitur, duke i shkruar këto të dhëna në një skedar me akses të rastësishëm dhe duke lexuar të dhëna nga një skedar me akses të rastësishëm. Si në shembullin 7.1, këto veprime zbatohen si puna e komandave të menusë të paraqitura në Fig. 7.1.

Detyra 2. Si pjesë e aktivitetit, studentët shtojnë veçori të reja në shembullin e aplikacionit 2 që lejojnë që aplikacioni të trajtohet si një redaktues i thjeshtë teksti.

opsioni 1 I zakonshëmDialogu zbatoni komandat e menusë Fonti dhe ngjyrë(me nënmenu Ngjyra e karakterit dhe Ngjyrë e sfondit). Me ndihmën e këtyre komandave duhet të sigurohet zgjedhja e fontit (emri, stili dhe madhësia e tij) për fragmentin e zgjedhur të tekstit në dritare. I pasurkuti teksti, si dhe zgjedhjen e ngjyrës së simboleve të fragmentit të përzgjedhur dhe zgjedhjen e ngjyrës së sfondit të gjithë kësaj dritareje.

Shënim: Kur vendosni një objekt I zakonshëmDialogu për të zgjedhur një font duke përdorur veçorinë (Custom), sigurohuni që të vendosni vlerën e veçorisë Flags në 1, 2 ose 3 (shih manualin, f. 183).

Opsioni 2. Duke përdorur kontrollin I zakonshëmDialogu zbatoni komandat e menusë Redakto(nënmenyja Kopjo, Prerje dhe ngjit), qëllimi i të cilit është kopjimi ose heqjen në kujtesën e fragmentit të tekstit të zgjedhur, si dhe fut në vendin e zgjedhur të tekstit të përmbajtjes së kujtesës së fragmenteve.

Shënim: Në kujtesën e fragmenteve (objekt clipboard) mund të përdorni metodat SetText dhe GetText:

clipboard. SetText RichTextBox1.SelText

RichTextBox1.SelText = Clipboard. gettext

8. RUAJTJA DHE LEXIMI I INFORMACIONIT

Kështu që pasi të përfundojë programi, të gjitha të dhënat e krijuara në memorie të mos humbasin, duhet të jeni në gjendje të ruani informacionin në hard disk. Përndryshe, të gjitha informacionet do të zhduken pa lënë gjurmë. Të dhënat mund të ruhen dhe lexohen në mënyra të ndryshme. Skedarët binar dhe tekst mund të përdoren për të punuar me informacione të madhësive dhe formateve të ndryshme. Ju mund të përdorni Regjistrin e Windows për të ruajtur sasi të vogla informacioni. Dhe për detyrat më komplekse, është e arsyeshme të përdoren bazat e të dhënave.

8.1. Hapja e skedarëve me "Hapur »

Një skedar është një zonë e emërtuar e çdo mediumi të jashtëm ruajtjeje. Të dhënat "jetojnë" në kujtesën e kompjuterit, dhe skedarët - në hard disk. Programi nuk punon drejtpërdrejt me skedarë, por përdor sistemin operativ si ndërmjetës.

Ekzistojnë dy lloje të emrave të skedarëve: i plotë - përveç emrit të skedarit, tregohet gjithashtu vendndodhja e skedarit në median e jashtme (për shembull, "C:\Program Files\Microsoft Visual Studio\VB98\VB 6.EXE" ) dhe shkurt - vetëm emri i skedarit (VB 6.EXE ). Nëse vendndodhja e skedarit nuk është e specifikuar, atëherë do të kërkohet në dosjen aktuale, si parazgjedhje - dosja ku ndodhet aplikacioni juaj. Emri i menjëhershëm i skedarit përbëhet nga dy pjesë: emri aktual unik i skedarit dhe shtrirja e tij. Vetë emri identifikon skedarin, ndërsa zgjerimi zakonisht tregon formatin e skedarit ose me çfarë programi është krijuar.

Para se të filloni të punoni me një skedar, duhet të pyesni sistemin operativ tregues (përshkrues) dosje. Për ta marrë atë, përdorni "File Free". Pastaj, duke përdorur deklaratën "Open", ky tregues lidhet me skedarin e kërkuar. Vetëm pas kësaj programi do të jetë në gjendje të punojë me të. Sintaksa për hapjen e një skedari është si më poshtë:

'merr një tregues skedari falas dhe caktoje atë në një ndryshore

FileHandle% = FreeFile

'hap skedarin

Hap FilePath_

Si[#]FileHandle%

...(duke punuar me një skedar)

Mbylle[#]FileHandle

· FileHandle % është një variabël që ruan treguesin e skedarit;

· FreeFile është emri i një funksioni që kthen një tregues skedari;

· Open - emri i operatorit;

· FilePath - emri i plotë i skedarit;

· For është një fjalë kyçe e ndjekur nga një përshkrim i mënyrës së hyrjes në skedar;

· Modaliteti – mënyra e hyrjes në skedar (shih Tabelën 15);

Tabela 15

Mënyrat e hyrjes në skedar

Mënyrat e hyrjes

Përshkrim

Shtoji

Shtimi i të dhënave në fund të një skedari tekstual ekzistues. Nëse skedari nuk ekziston, ai do të krijohet

Binar

Hapja e një skedari në modalitetin binar, d.m.th. si një grup bajtësh. Nëse skedari nuk ekziston por do të krijohet

Input

Hapja e një skedari për lexim në format teksti

Prodhimi

Hapja e një skedari për të shkruar një skedar teksti. Në këtë rast, të gjitha informacionet e vjetra do të fshihen. Nëse skedari nuk ekziston por do të krijohet

E rastësishme

Hapja e një skedari në modalitetin e aksesit të rastësishëm. Kjo mënyrë përdoret për të punuar me regjistrime të thjeshta. Nëse skedari nuk ekziston por do të krijohet

· Access është një fjalë kyçe opsionale e ndjekur nga një përshkrim i llojit të aksesit;

· AccessType - përshkrimi i llojit të aksesit:

· Lexoj - lexim;

· Shkruaj - regjistro;

· Lexo Shkruaj - lexim dhe shkrim.

shënim

Modalitetet e hyrjes së shtojcës dhe daljes lejojnë vetëm hyrjen në shkrim, hyrjen vetëm për lexim dhe binar dhe rastësor të tre llojet e aksesit.

· LockType është një parametër opsional që përcakton nëse programet e tjera mund ta përdorin këtë skedar ndërsa programi juaj është duke punuar me të. Zakonisht lidhet me rrjetëzimin (shih Tabelën 16).

Tabela 16

Vlerat e mundshme për parametrin LockType

Kuptimi

Përshkrim

të përbashkëta

Të gjithë përdoruesit me të drejtat e nevojshme do të kenë akses të plotë në skedar

bllokoj lexuar

Leximi i skedarit është i bllokuar, por shkrimi lejohet

Bllok Shkruaj

Shkrimi në skedar është i bllokuar, por leximi lejohet

Blloko Lexo Shkruaj

Ndalohet edhe leximi edhe shkrimi i tij.

· Siç është një fjalë kyçe e ndjekur nga një tregues skedari.

· # është një karakter që tregon se vlera pas tij është një tregues skedari.

· Len është një fjalë kyçe opsionale që duhet të ndiqet nga një parametër që specifikon gjatësinë e hyrjes.

· CharInBuffer % - gjatësia e regjistrimit për një skedar të hapur në modalitetin e aksesit të rastësishëm (Random ).

· Mbyll është një deklaratë që mbyll skedarin e lidhur me dorezën e specifikuar.

Është e rëndësishme të mbyllni skedarin pasi të keni përfunduar punën me të. Deklarata "Mbyll" lëshon treguesin e skedarit dhe zonën e kujtesës të lidhur me të.

Kur punoni me një skedar, përkatësisht kur lexoni prej tij, është shumë e rëndësishme të përcaktoni fundin e skedarit. Mund të përcaktohet duke përdorur funksionin EOF (Fundi i skedarit):

EOF (File Handle)

· EOF – emri i funksionit;

· FileHandle është doreza e skedarit, fundi i të cilit po përcaktohet.

Funksioni kthen True (true) nëse është arritur fundi i skedarit, përndryshe kthen False (False).

8.2. Leximi dhe shkrimi në një skedar teksti

Skedari i tekstit hapet në modalitetin e hyrjes "Input", "Output" ose "Append" (shih Tabelën 15). E veçanta e kësaj mënyre është se funksionon vetëm me karaktere specifike të printueshme. Është e kotë të punosh me simbolet e shërbimit.

Për të shkruar informacion, përdoren dy deklarata "Print" dhe "Write", sintaksa e të cilave është si më poshtë:

Printo #FileHandle%, VarBuffer[;]

Shkruani #FileHandle%, VarBuffer[;]

· Print/Write - fjalë kyçe të operatorit.

· #FileHandle % - treguesi i skedarit në të cilin do të vendoset informacioni.

· VarBuffer është vlera që do të shkruhet në skedar.

· ; – një parametër opsional që përdoret kur shkruani në një skedar teksti, do të thotë që vlera e radhës do të shkruhet në të njëjtën rresht dhe nëse mungon, në rreshtin tjetër.

Për të lexuar informacionin nga një skedar, përdoren operatorët "Input" dhe "Line Input". Sintaksa është e ngjashme me njëra-tjetrën:

Hyrja e linjës #FileHandle%, VarBuffer

Futni #FileHandle%, VarBuffer

· Line Input / Input - fjalë kyçe të operatorit.

· #FileHandle % - treguesi i skedarit nga i cili do të lexohet informacioni.

· VarBuffer është një variabël në të cilin informacioni do të lexohet.

Dallimi midis operatorëve Line Input dhe Input është se i pari është i destinuar vetëm për skedarë teksti, dhe i dyti për cilindo. Në rastin e skedarëve të tekstit, "Input" lexon të dhënat në të njëjtën linjë deri në kufirin e parë (për të dhënat e tekstit, kufiri është "," (presje), dhe për të dhënat numerike - " " (hapësirë) dhe "," ), dhe "Hyrja e linjës » lexon të gjithë rreshtin menjëherë, duke injoruar çdo kufizues.

shënim

AT Bazë vizuale nuk ka mjete për të kontrolluar formatin e skedarëve të krijuar më parë. Prandaj, simboli "2" mund të lexohet si numri përkatës dhe anasjelltas.

8.3. Puna me skedarë binare

Skedarët hapen brenda format binar operatori "Hap" në modalitetin " Binar". Një tipar dallues i kësaj mënyre është se puna me skedarin përqendrohet ekskluzivisht në bajt të veçantë. Meqenëse Visual Basic mund të adresojë drejtpërdrejt vendndodhjen e dëshiruar të skedarit, kjo mënyrë quhet gjithashtu − mënyra e hyrjes së drejtpërdrejtë. Një veçori tjetër e këtij modaliteti është aftësia për të shkruar dhe lexuar informacion në të njëjtën kohë në pjesë të ndryshme të skedarit pa e rihapur atë. Shkrimi në një skedar të hapur në modalitetin binar bëhet duke përdorur sintaksën e mëposhtme:

Vendos #FileHandle%, , NameVar

· Vendos - emri i operatorit për shkrimin e informacionit.

· RecNumber – numri i bajtit të skedarit në të cilin do të shkruhet informacioni (parametër opsional).

· NameVar është një variabël përmbajtja e së cilës do të shkruhet në skedar.

Leximi i informacionit nga një skedar në modalitetin binar bëhet duke përdorur deklaratën e mëposhtme:

Merr #FileHandle%, , NameVar

· Get është emri i operatorit të regjistrimit të informacionit.

· FileHandle % - treguesi i skedarit.

· RecNumber – numri i bajtit të skedarit nga i cili do të lexohet informacioni (opsionale).

· NameVar - emri i variablit në të cilin do të vendoset informacioni i lexuar.

Meqenëse modaliteti binar fokusohet në bajt informacioni, kur lexohet nga një skedar, ndryshorja buffer duhet të ketë një lloj të përcaktuar rreptësisht: ose "Byte", atëherë vlera numerike e bajtit do të lexohet ose një karakter me një gjatësi fikse. me një karakter, atëherë bajt do të lexohet si karakter, ANSI, kodi i të cilit korrespondon me vlerën e bajtit. Ky karakter mund të jetë edhe një karakter kontrolli, i cili nuk mund të arrihet në rastin e skedarëve tekstualë.

shënim

Në mungesë të parametrit "RecNumber", informacioni do të shkruhet ose lexohet në bajtin tjetër të skedarit pas atij me të cilin ata kanë punuar më parë.

8.4. Manipulimi i grafikës

Imazhet grafike gjithashtu mund të ruhen në skedarë dhe të merren prej tyre. Për të nxjerrë një fotografi nga një skedar bitmap ose ikonë dhe për ta caktuar atë në vetinë "Picture" të kontrolleve "PictureBox" dhe "Image", përdorni funksionin "LoadPicture ()" me sintaksën e mëposhtme:

ImageCtrl.Picture = LoadPicture(FilePath)

· ImageCtrl është emri i kontrollit të dritares së figurës, kontrollit të imazhit ose formës;

· LoadPicture - emri i funksionit;

· FilePath është emri i plotë i skedarit.

SavePicture ImageCtrl .Picture, FilePath

· SavePicture – emri i operatorit;

· ImageCtrl është emri i kontrollit të dritares së figurës, kontrollit të imazhit ose formës;

· Foto - emri i pronës së objektit përgjegjës për imazhin;

· FilePath është emri i plotë i skedarit, duke treguar vendndodhjen e tij në disk.

8.5. Puna me të dhënat në regjistër

Ju mund të përdorni Regjistrin e Windows për të ruajtur pjesë të vogla të informacionit të formatit të karaktereve. Visual Basic ka katër procedura që mund t'i përdorni për të hyrë në të. Ato janë shumë të lehta për t'u përdorur, por kanë një pengesë kryesore: të dhënat mund të aksesohen vetëm nga një çelës specifik regjistri: "MyComputer \HKEY _CURRENT _USER \Software \VB dhe VBA Program Settings". Për të hyrë në çelësat e tjerë të regjistrit, duhet të përdorni funksionet speciale " Win 32 API».

Për të marrë vlerën e një cilësimi nga një çelës regjistri i Windows specifik për Visual Basic, përdorni funksionin e mëposhtëm:

MyString = GetSetting (VBKeyName, Seksioni, Key [,Default])

· MyString - një varg për ruajtjen e vlerës së kthyer nga funksioni;

· GetSetting është emri i funksionit.

· VBKeyName është një vlerë vargu që është emri i një nënçelësi të brendshëm VB/VBA.

· Key është një vlerë vargu që përfaqëson emrin e parametrit në seksion.

· Default është një argument opsional, vlera e të cilit do të kthehet në rast të një gabimi (parametri mungon).

Për të ruajtur një vlerë në regjistrin e Windows, përdorni deklaratën e mëposhtme:

SaveSetting VBKeyName, Section, Key, MyString

· SaveSetting është emri i operatorit.

· MyString është një variabël vargu në të cilin do të vendoset vlera e gjetur.

Për të marrë një grup nga regjistri që përmban të gjitha vlerat e parametrave nga një nënçelës specifik, përdorni funksionin e mëposhtëm:

MyVariant = SetAllSettings (VBKeyName, Seksion)

· MyVariant është një grup vlerash të tipit "Variant" të kthyera nga funksioni.

· SetAllSettings është emri i funksionit.

· Seksioni - Një vlerë vargu që përfaqëson një seksion ose nënseksion të një aplikacioni specifik.

Për të hequr një seksion të tërë parametri, përdorni një operator me sintaksën e mëposhtme:

DeleteSetting VBKeyName, Section, Key

· DeleteSetting është emri i operatorit.

Pyetje sigurie për vetë-ekzaminim

  1. Si mund të ruhen disa informacione për një kohë të gjatë?
  2. Çfarë është një skedar?
  3. Çfarë emra skedarësh dini?
  4. Jepni sintaksën e operatorit "Open". Shpjegoni qëllimin e parametrave të tij.
  5. Si mund të organizoj aksesin e përbashkët të disa aplikacioneve në të njëjtin skedar në të njëjtën kohë?
  6. Si të përcaktohet se informacioni në dosje është i shteruar?
  7. Pse rekomandohet mbyllja e skedarit pas punës me të?
  8. Cili është ndryshimi midis mënyrave të skedarit tekst dhe binar?
  9. Si lexohen dhe shkruhen të dhënat në modalitetin e skedarit tekst?
  10. Si lexohen dhe shkruhen të dhënat në modalitetin e skedarit binar?
  11. Cili është ndryshimi midis operatorëve "Print" dhe "Write" kur punoni me skedarë?
  12. Cili është ndryshimi midis deklaratave "Input" dhe "Line Input" kur punoni me skedarë?
  13. Si mund të punoni me të dhëna grafike?
  14. Cilat janë parimet bazë të punës me regjistrin e Windows?

Çdo program duhet të ruajë të dhënat në disk dhe t'i lexojë ato nga disku. Kjo është e nevojshme, për shembull, për të ruajtur cilësimet e programit; nuk ka gjasa që përdoruesi të pëlqejë programin, i cili do të duhet të konfigurohet përsëri herën tjetër që të fillojë.

Ky artikull fokusohet në punën me skedarët tekst duke përdorur Visual Basic.

Përshkruesi i skedarit

Për të punuar me skedarë sistemi operativ përdor kanalet I/O, d.m.th. çdo skedar i hapur ka numrin e vet.

Ekziston një funksion në Visual Basic skedar falas, i cili kthen numrin e një kanali të lirë që mund të përdoret për të punuar me skedarin. Nëse nuk ka kanale të lira, atëherë ndodh një gabim.

Falas File[(Numri i diapazonit) ]

Numri i diapazonit- një parametër opsional që ju lejon të përcaktoni gamën e kanaleve të lira, nëse Numri i diapazonit= 0 (e parazgjedhur), atëherë numri i kanalit kthehet nga diapazoni 1 - 255, dhe nëse 1, atëherë nga diapazoni 256 - 511.

MyFile = FreeFile " Variabli MyFile është caktuar kanal falas dhe tani mund të përdoret për të punuar me skedarë

Puna me skedarë teksti

Më shpesh është e nevojshme të takoheni me skedarë teksti. Skedarët e tekstit përbëhen nga një grup Personazhet ASCII(American Standard Code for Information Interchange - American Standard Code for Information Interchange).

Para se të filloni të shkruani / lexoni të dhënat, skedari duhet të hapet, kjo bëhet duke përdorur operatorin hap (Emri i skedarit) Për si#Numri i dosjes, ku:

Input- hapni një skedar për lexim, nëse skedari nuk ekziston, atëherë ndodh një gabim;

Prodhimi- për të shkruar, nëse skedari nuk ekziston, do të krijohet, dhe nëse skedari ekziston, do të mbishkruhet;

Shtoji- për shtim, nëse skedari nuk ekziston, do të krijohet, dhe nëse skedari ekziston, atëherë të dhënat do të shtohen në fund të skedarit.

Leximi skedarët e tekstit mund të bëhet në dy mënyra: lexoni karakter për karakter, për këtë përdoret funksioni Hyrja (Numri_i_personazheve_të_lexuara, #Numri i dosjes) dhe rresht pas rreshti, për këtë përdoret funksioni Hyrja e linjës#Numri i dosjes, Ku_për të lexuar.

DimMyFile

Dim S As varg "Ndryshore për të ruajtur të dhënat e lexuara

MyFile = FreeFile

Hap ("C:\TEST.txt") Për të hyrë si #MyFile

Hyrja e linjës #MyFile, S "Lexoni rreshtin e parë nga skedari TEST.TXT në variablin S

DimMyFile "Deklaroni një variabël për një skedar falas

Dim i Si numër i plotë "Ndryshore për lak

Dim tS As String "Ndryshore për leximin e vargjeve

Dim S As varg "Ndryshore për të ruajtur të dhënat përfundimtare

MyFile = FreeFile "Cakto një kanal falas për të punuar me skedarë

"Hap skedarin TEST.TXT për lexim

Për i = 1 deri në 5

Hyrja e linjës #MyFile, tS "Lexoni skedarin TEST.TXT rresht pas rreshti

Nëse i => 5 Atëherë S = tS "Nëse rreshti i pestë, atëherë ruajeni atë në ndryshoren S

Tjetra i

Mbyll #MyFile "Mbyll skedarin

Dim MyFile "Deklaroni një variabël për një skedar falas

Dim S As String "Ndryshore për të ruajtur të dhënat e lexuara

MyFile = FreeFile "Cakto një kanal falas për të punuar me skedarë

Hap ("C:\TEST.txt") Për të hyrë si #MyFile "Hap skedarin TEST.TXT për lexim

S = Hyrja$(LOG(1), 1) "Lexoni të gjithë skedarin në ndryshoren S

Mbyll #MyFile "Mbyll skedarin

Ka operatorë për të shkruar në një skedar. Print#Numri i dosjes, Të dhënat dhe Shkruaj#Numri i dosjes, Të dhënat. Dallimi i vetëm midis këtyre operatorëve është se Shkruaj i shkruan të dhënat në thonjëza dhe shtypur pa thonjëza.

Më poshtë kodi i mëposhtëm do të krijojë në diskun C:\ skedar i ri TEST.TXT dhe shkruani dy vargje në të, i pari pa thonjëza dhe i dyti me thonjëza:

DimMyFile "Deklaroni një variabël për një skedar falas

MyFile = FreeFile "Cakto një kanal falas për të punuar me skedarë

Hape ("C:\TEST.txt") Për të dalë si #MyFile "Hap skedarin TEST.TXT për shkrim

Printo #MyFile, "Ky varg është shkruar nga deklarata Print, është pa thonjëza..."

Shkruani #MyFile, "Ky varg është shkruar nga deklarata Write, është në thonjëza..."

Mbyll #MyFile "Mbyll skedarin

Kjo është në fakt e gjitha. Siç e keni kuptuar tashmë, operatori i përdorur për të mbyllur një skedar është Mbyll#Numri i dosjes, ku, # Numri i dosjes nuk kërkohet të specifikohet.

Artikulli është pak i papërpunuar, por do të jetë i dobishëm për programuesit fillestarë. Herën tjetër do të flas për punën me skedarë binare.



Po ngarkohet...
Top