1 / 21

Visual Basic 6.0 Obrada pogona, mapa i datoteka

Visual Basic 6.0 Obrada pogona, mapa i datoteka. Uvod: Kad programirate u Windowsima, vrlo je važno imati sposobnost dodavanja, premještanja, mijenjanja, stvaranja ili brisanja mapa (direktorija) i datoteka, te upravljati pogonima i dobivati informacije o njima. Sadržaj

conner
Download Presentation

Visual Basic 6.0 Obrada pogona, mapa i datoteka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic 6.0 Obrada pogona, mapa i datoteka

  2. Uvod: Kad programirate u Windowsima, vrlo je važno imati sposobnost dodavanja, premještanja, mijenjanja, stvaranja ili brisanja mapa (direktorija) i datoteka, te upravljati pogonima i dobivati informacije o njima. Sadržaj • Uvod u model objekata datotečnog sustava • Programiranje u modelu FSO objekata

  3. Uvod u model objekata datotečnog sustava • Jedna od osobina Visual Basica je model objekta File System Object (FSO), koji pruža alat temeljen na objektima za rad s mapama i datotekama • Model FSO objekata (model objekata datotečnog sustava) daje vašim aplikacijama sposobnost stvaranja, mijenjanja, premještanja i brisanja mapa, ili otkrivanja postoji li određena mapa, te ako postoji, gdje. • On vam takodjer omogućuje dobivanje informacija o mapama, kao što su njihova imena, datum kad su stvorene ili posljednji put mijenjane, itd. • Model FSO objekata čini također puno lakšim obradu datoteka • Možete stvarati datoteke, ubacivati i mijenjati podatke, čitati podatke, spremati vaše podatke u binarnu ili tekstualnu datoteku

  4. Objekti datotečnog sustava objekt opis Drive Omogućuje vam skupljanje informacija o pogonima dodijeljenim sustavu. Folder Omogućuje vam stvaranje, brisanje ili premještanje mapa, te ispitivanje sustava o njihovim imenima, stazama i tako dalje. File Omogućuje vam stvaranje, brisanje ili premještanje datoteka, te ispitivanje sustava o njihovim imenima, stazama i tako dalje. FileSystemObject Glavni objekt grupe, pun postupaka koji vam omogućuju stvaranje, brisanje, dobivanje popratnih informacija, te općenito upravljanje pogonima, mapama i datotekama. Većina postupaka povezanih s ovim objektom jednaka je postupcima u ostalim objektima. TextStream Omogućuje vam čitanje i zapisivanje tekstualnih datoteka.

  5. Programiranje u modelu FSO objekata • Programiranje u modelu FSO objekata sadržava tri glavna zadatka: • 1. Korištenje postupka CreateObject ili dimenzioniranje varijable kao objekta tipa FileSystemObject, za stvaranje objekta tipa FileSystemObject • 2. Korištenje odgovarajućeg postupka na novostvorenom objektu • 3. Pristup svojstvima objekta • 1.Stvaranje objekta tipa FileSystemObject • • Dimenzionirajte varijablu s tipom objekta FileSystemObject: • Dim fso As New FileSystemObject ‘1. način • • Upotrijebite postupak CreateObject za stvaranje objekta tipa FileSystemObject: • Set fso = CreateObject(“Scripting.FileSystemObject”) ‘2. način • U gornjoj sintaksi, Scripting je ime tipske biblioteke, a FileSystemObject je ime objekta, od kojega stvarate primjer.

  6. Model FSO objekata je sadržan u tipskoj biblioteci nazvanoj Scripting, koja se nalazi u datoteci Scrrun.dll. • Ako već nemate pokazivač na nju, potvrdite stavku Microsoft Scripting Runtime u dijalogu References dostupnom iz izbornika Properties. • 2. Korištenje odgovarajućeg postupka • Idući korak je korištenje odgovarajućeg postupka objekta FileSystemObject. Na primjer, ako želite stvoriti novi objekt, možete upotrijebiti postupke CreateFolder ili CreateTextFile (model FSO objekata ne podržava stvaranje ili brisanje pogona) • Ako želite obrisati objekte, možete upotrijebiti postupke DeleteFile i DeleteFolder objekta FileSystemObject, ili postupak Delete objekata File i Folder • Upotrebom odgovarajućih postupaka, možete također kopirati i premještati datoteke i mape

  7. Kako bi dobili pristup postojećempogonu, datoteci ili mapi, upotrijebite odgovarajući postupak “dobivanja” objekta FileSystemObject: • • GetDrive • • GetFolder • • GetFile • Primjer za pristup postojećoj datoteci: • Dim fso As New FileSystemObject, dato As File • Set dato = fso.GetFile(“c:\test.txt”) • Primjer za stvaranje mape: • Private Sub Stvaranje_Mape() • Dim fso As New FileSystemObject, mapa As Folder • Set mapa = fso.CreateFolder(“c:\MojTest”) • MsgBox “Stvorena mapa: “ & mapa.Name • End Sub

  8. 3. Pristup svojstvima objekta • Kad ste jednom stvorili hvataljku za objekt, možete pristupati njezinim svojstvima • Na primjer, recimo da želite dohvatiti ime određene mape. Najprije ćete stvoriti primjer objekta, zatim ćete ga dohvatitiodgovarajućim postupkom (u ovom slučaju, postupkom GetFolder, jer mapa već postoji): • Set mapa = fso.GetFolder(“c:\”) • Sad kad imate hvataljku za objekt Folder, možete provjeriti njegovo svojstvo Name: Debug.Print “Ime mape je: “; mapa.Name • Ako želite pronaći kad je datoteka posljednji put mijenjana, upotrijebite sljedeću sintaksu: • Dim fso As New FileSystemObject, dato As File • ‘ Dohvat objekta File za ispitivanje. • Set dato = fso.GetFile(“c:\detlog.txt”) • ‘ Ispis informacije. • Debug.Print “Datoteka je mijenjana: “; dato.DateLastModified

  9. Rad s pogonima i mapama • S modelom FSO objekata možete raditi s pogonima i mapama programirajući, isto kako to interaktivno možete u Windows Exploreru • Možete kopirati i premještati mape, dobivati informacije o pogonima i mapama, i tako dalje

  10. Dobivanje informacije o pogonima Objekt Drive omogućuje vam dobivanje informacije o raznim pogonima dodijeljenima sustavu, fizički ili putem mreže. Njegova svojstva vam omogućuju dobivanje informacija o: • ukupnoj veličini pogona u bajtovima (svojstvo TotalSize) • koliko je prostora raspoloživo na pogonu u bajtovima (svojstva AvailableSpace ili FreeSpace) • koje je slovo dodijeljeno pogonu (svojstvo DriveLetter) • koji je to tip pogona, je li izmjenjivi, tvrdi, mrežni, CD-ROM ili RAM disk (svojstvo DriveType) • serijskom broju pogona (svojstvo SerialNumber) • tip datotečnog sustava kojeg koristi pogon, kao FAT, FAT32, NTFS, i tako dalje (svojstvo FileSystem) • je li pogon na raspolaganju za upotrebu (svojstvo IsReady) • imenu dijela i/ili volumena (svojstva ShareName i VolumeName) • stazi ili korijenskoj mapi pogona (svojstva Path i RootFolder)

  11. Primjer korištenja objekta Drive U sljedećem kodu nećete vidjeti pokazivač na stvarni objekt Drive; umjesto toga, upotrijebit ćete postupak GetDrive za dobivanje pokazivača na postojeći objekt Drive (u ovom slučaju, pog): Private Sub Command1_Click() Dim fso As New FileSystemObject, pog As Drive, s As String Set pog = fso.GetDrive(fso.GetDriveName(“c:”)) s = “Pogon “ & UCase(“c:”) & “ – “ s = s & pog.VolumeName & vbCrLf s = s & “Ukupno prostora: “ & _ FormatNumber(pog.TotalSize / 1024, 0) s = s & “ Kb” & vbCrLf s = s & “Slobodnog prostora: “ & _ FormatNumber(pog.FreeSpace / 1024, 0) s = s & “ Kb” & vbCrLf MsgBox s End Sub

  12. Rad s mapama Sljedeći popis pokazuje uobičajene poslove s mapama i postupke za njihovo ostvarivanje: posao postupak Stvaranje mape FileSystemObject.CreateFolder Brisanje mape Folder.Delete ili FileSystemObject.DeleteFolder Premještanje mape Folder.Move ili FileSystemObject.MoveFolder Kopiranje mape Folder.Copy ili FileSystemObject.CopyFolder Dohvaćanje imena mape Folder.Name Pronalaženje postoji li mapa na pogonu FileSystemObject.FolderExists Dobivanje primjera postojećeg objekta Folder FileSystemObject.GetFolder Pronalaženje imena roditeljske mape FileSystemObject.GetParentFolderName Pronalaženje staze sistemskih mapa FileSystemObject.GetSpecialFolder

  13. Private Sub Command2_Click() ‘ Dobivanje primjera objekta FileSystemObject. Dim fso As New FileSystemObject, mapa As Folder, s As String ‘ Dobivanje objekta Folder. Set mapa = fso.GetFolder(“c:”) ‘ Ispis imena roditeljske mape. Debug.Print “Ime roditeljske mape je: “ & mapa ‘ Ispis imena pogona. Debug.Print “Sadržana je na pogonu “ & mapa.Drive ‘ Ispis imena korijenske datoteke. If mapa.IsRootFolder = True Then Debug.Print “Ova mapa je korijenska mapa.” Else Debug.Print “ Ova mapa nije korijenska mapa.” End If ‘ Stvaranje nove mape objektom FileSystemObject. fso.CreateFolder (“c:\Lažna”) Debug.Print “Stvorena je mapa C:\Lažna.” ‘ Ispis osnovnog imena mape. Debug.Print “Osnovno ime = “ & fso.GetBaseName(“c:\Lažna”) ‘ Brisanje novostvorene mape. fso.DeleteFolder (“c:\Lažna”) Debug.Print “Obrisana je mapa C:\Lažna.” End Sub

  14. Rad s datotekama • Možete raditi s datotekama u Visual Basicu upotrebom novih objektno usmjerenih FSO objekata , kao što su Copy, Delete, Move i OpenAsTextStream, među ostalima, ili upotrebom starijih postojećih funkcija kao što su Open, Close, FileCopy, GetAttr i tako dalje • Možete premještati, kopirati i brisati datoteke neovisno o njihovom tipu • Postoje dvije glavne kategorije upravljanja datotekama: • • Stvaranje, dodavanje ili brisanje podataka, i čitanje datoteka • • Premještanje, kopiranje i brisanje datoteka

  15. Stvaranje datoteka i dodavanje podataka sa FSO objektima Postoje tri načina stvaranja sekvencijalne datoteke teksta (ponekad nazvane kao “tijek teksta”) 1. Korištenje postupka CreateTextFile. Praznu tekstualnu datoteku možete stvoriti ovako: Dim fso As New FileSystemObject, dato As File Set dato = fso.CreateTextFile(“c:\testdato.txt”, True) Napomena: Model FSO objekata još ne podržava stvaranje binarnih datoteka i datoteka s izravnim pristupom 2. Drugi način je upotreba postupka OpenTextFile objekta FileSystemObject s postavljenom zastavicom ForWriting: Dim fso As New FileSystemObject, ts As New TextStream Set ts = fso.OpenTextFile(“c:\testdato.txt”, ForWriting)

  16. 3. Također možete upotrijebiti postupak OpenAsTextStream s postavljenom zastavicom ForWriting: Dim fso As New FileSystemObject, dato As File, ts As _ TextStream Set fso = CreateObject(“Scripting.FileSystemObject”) fso.CreateTextFile(“test1.txt”) Set dato = fso.GetFile(“test1.txt”) Set ts = dato.OpenAsTextStream(ForWriting)

  17. Dodavanje podataka datoteci Kad je stvorena tekstualna datoteka, možete joj dodati podatke u tri koraka: 1. Otvorite tekstualnu datoteku za zapisivanje podataka. 2. Zapišite podatke. 3. Zatvorite datoteku. Ad 1. Kako bi otvorili datoteku, možete upotrijebiti jedan od dva postupka: postupak OpenAsTextStream objekta File, ili postupak OpenTextFile objekta FileSystemObject. Ad 2. Kako bi zapisali podatke u otvorenu tekstualnu datoteku, upotrijebite postupak Write ili postupak WriteLine, oba od objekta TextStream. Jedina razlika između ova dva postupka je što postupak WriteLine dodaje karakter oznake nove linije na kraj određenog stringa. Ako želite dodati novu liniju tekstualnoj datoteci, upotrijebite postupak WriteBlankLines. Ad 3. Kako bi zatvorili otvorenu datoteku, upotrijebite postupak Close objekta TextStream.

  18. Čitanje podataka sa FSO objektima • Kako bi pročitali podatke iz tekstualne datoteke, upotrijebite postupke Read, ReadLine ili ReadAll objekta TextStream: • posao postupak • Čitanje određenog broja karaktera iz datoteke Read • Čitanje cijele linije (sve do, ali ne uključujući, ReadLine • karakter oznake nove linije) • Čitanje cijelog sadržaja tekstualne datoteke ReadAll • Ako koristite postupke Read ili ReadLine i želite preskočiti do određenog dijela podataka, možete upotrijebiti postupke Skip ili SkipLine. • Rezultirajući tekst postupaka čitanja spremljen je u stringu koji može biti prikazan u kontroli, dijeljen operatorima stringa (kao što su Left, Right i Mid), ulančan i tako dalje.

  19. Primjer: Sub Čitanje_Datoteka() Dim fso As New FileSystemObject, txtdatoteka, _ dat1 As File, ts As TextStream Set txtdatoteka = fso.CreateTextFile(“c:\testdato.txt”, _ True) MsgBox “Zapisivanje datoteke” ‘ Zapisivanje linije. Set dat1 = fso.GetFile(“c:\testdato.txt”) Set ts = dat1.OpenAsTextStream(ForWriting) ts.Write “Pozdrav svijetu” ts.Close ‘ Čitanje sadržaja datoteke. Set ts = dat1.OpenAsTextStream(ForReading) s = ts.ReadLine MsgBox s ts.Close End Sub

  20. Premještanje, kopiranje i brisanje datoteka Model FSO objekata ima po dva postupka za premještanje, kopiranje i brisanje datoteka: posao postupak premještanje datoteke File.Move ili FileSystemObject.MoveFile kopiranje datoteke File.Copy ili FileSystemObject.CopyFile brisanje datoteke File.Delete ili FileSystemObject.DeleteFile Primjer: Ovaj primjer stvara tekstualnu datoteku u korijenskom (root) direktoriju pogona C, zapisuje neke informacije u nju, premješta je u direktorij imena \tmp, stvara njezinu kopiju u direktoriju imena \temp, te zatim briše kopije iz oba direktorija.

  21. Sub Upravljanje_datotekama() Dim fso As New FileSystemObject, txtdatoteka, dat1, dat2 Set txtdatoteka = fso.CreateTextFile(“c:\testdato.txt”, True) MsgBox “Zapisivanje datoteke” ‘ CreateTextFile vraća TextStream ‘ Zapisivanje linije. objekt txtdatoteka.Write(“Ovo je test.”) ‘ Zatvaranje datoteke za zapisivanje. txtdatoteka.Close MsgBox “Premještanje datoteke u c:\tmp” ‘ Dobivanje hvataljke za datoteku u korijenskom dir-u c:\. Set dat1 = fso.GetFile(“c:\testdato.txt”) ‘ Premještanje datoteke u direktorij \tmp. dat1.Move(“c:\tmp\testdato.txt”) MsgBox “Kopiranje datoteke u c:\temp” ‘ Kopiranje datoteke u \temp. dat1.Copy(“c:\temp\testdato.txt”) MsgBox “Brisanje datoteke” ‘ Dobivanje hvataljki za trenutne položaje datoteka. Set dat1 = fso.GetFile(“c:\tmp\testdato.txt”) Set dat2 = fso.GetFile(“c:\temp\testdato.txt”) ‘ Brisanje datoteka. dat1.Delete dat2.Delete MsgBox “Sve je obavljeno!” End Sub

More Related