You are on page 1of 36

Objektumok Visual Basic-ben

Az objektumok felépítése

public metódusok
private adatok

események

tulajdonságok

1
Objektumok Visual Basic-ben
Saját osztály definiálása

Az osztálykészítő használata utáni kód:


Private mvarTulajdonság As Integer
Public Event Esemény(param1 As Integer)
Public Function Metódus(param1 As Long) As Double
RaiseEvent Esemény(param1 / mvarTulajdonság)
End Function
Public Property Let Tulajdonság(ByVal vData As
Integer)
mvarTulajdonság = vData
End Property
Public Property Get Tulajdonság() As Integer
Feladat: 44 Tulajdonság = mvarTulajdonság 2
End Property
Objektumok Visual Basic-ben
Az objektum használata

Objektum létrehozása:
Dim objektum As Példa
Set objektum = New Példa
vagy
Dim objektum As New Példa

Objektum által lefoglalt erőforrások felszabadítása:


Set objektum = Nothing
(az objektumváltozó nem hivatkozik semmilyen objektumra)

Feladat: 44 3
Objektumok Visual Basic-ben
Rendszerobjektumok:
App alkalmazásspecifikus információk
Clipboard az operációs rendszer háttértárjához ad hozzáférést
Debug a Debug ablakba történő nyomtatást támogatja
Printer a nyomtatást segíti
Screen az aktuális form, control és egyéb képernyőhöz
kapcsolódó adatokat kezel

Objektumok gyűjteménye:
Form űrlapok gyűjteménye
Printers a Windows rendszerben fellelhető nyomtatók
kollekciója
Controls vezérlőelemek gyűjteménye

4
Munka az állományokkal
Állományok kezelése (olvasás, írás, stb)
Fájlok csoportosítása elérés szerint:
• Soros (Sequential)
• Tetszőleges (Random)
• Bináris (Binary)
Fájlmenedzselés (fájl/könyvtár átnevezése, törlése,
mozgatása, stb)
• Állományműveletek
• Mappaműveletek
5
Fájlkezelés
Megnyitás, lezárás, fájlszám
Mindhárom elérési mód esetében alkalmazhatók.
Fájlsorszám
A fájl megnyitása után a program az adott fájlra ezzel a
sorszámmal hivatkozik.
Sorszam=FreeFile
Megnyitás
A programnak használat előtt meg kell nyitnia az állományt.
Open fájlnév [for mód] [műveletek] [zárolás] [#sorszám]
[Len=rekordhossz]
Lezárás
Close #sorszám adott állományt zár le
Close minden fájlt bezár
6
Fájlkezelés
Megnyitás
Open fájlnév [for mód] [műveletek] [zárolás] [#sorszám] [Len=rekordhossz]

Append Read Shared


Binary Write Lock Read
Input Read Write Lock Write
Output Lock Read Write
Random

7
Fájlkezelés
Szekvenciális állomány
Soros hozzáférésű fájlok függvényei:
Dir, Dir$ adott feltételeknek megfelelő fájlnév keresése
EOF fájlvég elérésének vizsgálata
FileCopy állománymásolás
FileDtaTime fájl idő/dátum lekérdezése
FileLen az állomány bájthosszának lekérdezése
GetAttr attribútumok lekérdezése
Loc aktuális fájlpozíció lekérdezése
LOF nyitott fájl bájthosszának lekérdezése
Seek a következő művelet pozíciójának lekérdezése
SetAttr attribútumok beállítása

8
Fájlkezelés
Szekvenciális állomány
Soros hozzáférésű fájlok utasításai:
Open fájl megnyitása
Close állomány lezárása
Input$ karakterek olvasása
Input # annyit olvas be, ahány változó van megadva
Line Input # szövegsor olvasása
Write # tagolt írás fájlba

9
Fájlkezelés
Szekvenciális állomány
Állomány olvasása:
FSz = FreeFile
Tartalom = ""
Text1.Text = Tartalom
Open FNev For Input As FSz
Do While Not EOF(FSz)
Line Input #FSz, sor
Tartalom = Tartalom & sor & Chr(13) & Chr$(10)
Loop
Close FSz
Text1.Text = Tartalom

Feladat: 38 1
0
Fájlkezelés
Szekvenciális állomány
Állomány írása:

FSz = FreeFile
Open FNev For Output As FSz
Print #FSz, Text1.Text
Close FSz

Feladat: 39 1
1
Fájlkezelés
Szekvenciális állomány
Állomány bővítése:

Private Sub Command1_Click()


Dim FSz As Integer
Const FNev As String =
"d:\munka+\sasati\visualbasic\40.txt"

FSz = FreeFile
Open FNev For Append As FSz
Print #FSz, Text2.Text
Close FSz
End Sub

Feladat: 40 1
2
Fájlkezelés
Tetszőleges hozzáférésű állomány
Random hozzáférésű fájlok függvényei:
Dir, Dir$ adott feltételeknek megfelelő fájlnév keresése
EOF fájlvég elérésének vizsgálata
FileCopy állománymásolás
FileDtaTime fájl idő/dátum lekérdezése
FileLen az állomány bájthosszának lekérdezése
GetAttr attribútumok lekérdezése
Loc aktuális fájlpozíció lekérdezése
LOF nyitott fájl bájthosszának lekérdezése
Seek a következő művelet pozíciójának lekérdezése
SetAttr attribútumok beállítása

1
3
Fájlkezelés
Tetszőleges hozzáférésű állomány
Random hozzáférésű fájlok utasításai:
Open fájl megnyitása
Close állomány lezárása
Get olvasás
Put írás
Type … End Type rekordszerkezet megadása

1
4
Fájlkezelés
Tetszőleges hozzáférésű állomány
Fsz = FreeFile
Open FNev For Random As Fsz Len = Len(Adat)
For sz = 1 To 10
Adat = Rnd * 100
Put #Fsz, , Adat 'Soros kiírás
Next sz
Close Fsz

Fsz = FreeFile
Open FNev For Random As Fsz Len = Len(Adat)
Do While Not EOF(Fsz)
Get #Fsz, , Adat
s = s + Str(Adat) + " "
Loop
Close Fsz
Label1.Caption = s

Feladat: 41 1
5
Fájlkezelés
Tetszőleges hozzáférésű állomány
Kódmodul:
Type Dolgozó
Nev As String * 20
Lakhely As String * 20
Fizetes As Long
End Type
Public fsz As Integer
Public Const Fnev = "d:\munka+\sasati\visualbasic\42.dat"

Rekordok listán megjelenítése:


fsz = FreeFile
Open Fnev For Random As fsz Len = Len(ember)
Get fsz, , ember
Do While Not EOF(fsz)
Névlista.AddItem ember.Nev
Városlista.AddItem ember.Lakhely
Pénzlista.AddItem ember.Fizetes
Get fsz, , ember
Loop
Close fsz
Feladat: 42 1
6
Fájlkezelés
Bináris hozzáférésű állomány
Bináris fájlok függvényei:
Dir, Dir$ adott feltételeknek megfelelő fájlnév keresése
EOF fájlvég elérésének vizsgálata
FileCopy állománymásolás
FileDtaTime fájl idő/dátum lekérdezése
FileLen az állomány bájthosszának lekérdezése
FreeFile szabad fájlazonosító számot adja meg
GetAttr attribútumok lekérdezése
Loc aktuális fájlpozíció lekérdezése
LOF nyitott fájl bájthosszának lekérdezése
Seek a következő művelet pozíciójának lekérdezése
SetAttr attribútumok beállítása
1
7
Fájlkezelés
Bináris hozzáférésű állomány
Bináris fájlok utasításai:
Open fájl megnyitása
Close állomány lezárása
Get olvasás
Put írás

1
8
Fájlkezelés
Bináris hozzáférésű állomány

Írás fájlba:
Fsz = FreeFile
Open FNév For Binary As Fsz
For sz = 1 To 100000
Adat = sz
Put #Fsz, , Adat 'Soros kiírás
Next sz
Close Fsz

Feladat: 43 1
9
Fájlmenedzselés
Eszközei:

• Hagyományos fájlműveletek (amelyek a kezdetektől


fogva a Basic nyelv részei).
• Objektumorientált fájlműveletek (VB 6-ban).
• Speciális, fájlmenedzselési feladatokra alkalmas
vezérlők.

2
0
Fájlmenedzselés
Objektumorientált megközelítés

FSO (FileSystemObject)
A VB6-ban a fájlmenedzselésre szolgál. Rajta keresztül érhető
el a rendszeren található összes meghajtó, könyvtár és fájl.
Az FSO tartalmaz:
• egy Drivers gyűjteményt,
• minden Drive objektum tartalmaz egy Folder objektumot,
• Minden Folder objektum tartalmaz egy Folders és egy Files
gyűjteményt.
2
1
Fájlmenedzselés
Drive objektum tulajdonságai:
AvailableSpace a felhasználó számára elérhető lemezterület
DriveLetter a meghajtó betűjele
DriveType a meghajtó típusát adja meg
FileSystem a visszatérési érték lehet FAT, NTFS, CDFS
FreeSpace általában megegyezik az AvailableSpace-val
IsReady visszatérési értéke true, ha a meghajtó elérhető

2
2
Fájlmenedzselés
Drive objektum tulajdonságai:
Path meghajtó betűjele és egy kettőspont
RootFolder visszaadja a gyökérkönyvtár Folder objektumát
SerialNumber a lemez egyedi sorozatszámát adja meg
ShareName hálózati meghajtóhoz tartozó megosztási név
TotalSize meghajtó tárolási kapacitása
VolumeName a meghajtó neve

2
3
Fájlmenedzselés
Drive objektum használata
Private Sub Text1_Click()
Dim fs, d, dc
Dim szöveg As String

Set fs = CreateObject("Scripting.FileSystemObject")
Set dc = fs.Drives
For Each d In dc
szöveg = szöveg & "Drive " & d.Path
If Not d.IsReady Then
szöveg = szöveg & " is not ready." & vbCrLf
Else
szöveg = szöveg & vbCrLf & Space(5)
szöveg = szöveg & "Total space: " & FormatNumber(d.TotalSize)
szöveg = szöveg & vbCrLf & Space(5)
szöveg = szöveg & "Free space: " & FormatNumber(d.FreeSpace)
szöveg = szöveg & vbCrLf
End If
Next
Text1.Text = szöveg
End Sub
Feladat: 45 2
4
Fájlmenedzselés
Folder objektum tulajdonságai:
DateCreated könyvtár létrehozásának dátuma, ideje
DateLastAccessed utolsó használat dátuma, időpontja
DataLastModified utolsó módosítás dátuma, időpontja
Drive alkönyvtár meghajtójának betűjele
IsRootFolder értéke true, ha gyökérkönyvtár
Name könyvtár nevét lehet lekérdezni, állítani
ParentFolder szülőkönyvtár Folder objektumát adja

2
5
Fájlmenedzselés
Folder objektum tulajdonságai:
Path könyvtár teljes elérési útvonala
ShortName rövid fájlnevet adja meg (8+3)
ShortPath 8.3 alakú fájlnevek elérési útvonala
Size könyvtárban található könyvtárak,
fájlok együttes mérete

Files fájlobjektumok gyűjteménye


SubFolders alkönyvtárak Folder objektumainak
gyűjteménye
2
6
Fájlmenedzselés
Folder objektum metódusai:
Könyvtár másolása tartalmával együtt:
f.copy cél [, felülírás]
Könyvtár áthelyezése:
f.move cél
Könyvtár törlése tartalmával együtt:
f.delete [megerősítve]

2
7
Fájlmenedzselés
Folder objektum használata:

Számlálás: Könyvtár létrehozása:


NumFolders = NumFolders + d.RootFolder.SubFolders.Count d.RootFolder.SubFolders.Add ("cicus")
NumFiles = NumFiles + d.RootFolder.Files.Count
Label1 = "Az 'A' meghajtó gyökerében " & NumFiles _
& " fájl és " & NumFolders _
& " könyvtár található."

Feladat: 46 2
8
Fájlmenedzselés
File objektum tulajdonságai:
Attributes a fájl attribútumai
DateCreated fájl létrehozásának dátuma, ideje
DateLastAccessed legutóbbi használat dátuma, időpontja
DataLastModified legutóbbi módosítás dátuma, ideje
Drive fájlt tartalmazó meghajtó betűjele
Name fájlnév lekérdezése, beállítása
ParentFolder szülőkönyvtárhoz tartozó Folder obj.
Path fájl elérési útvonala meghajtónévvel
ShortName 8.3 típusú név
Size mérete bájtban
Type fájl típusa
2
9
Fájlmenedzselés
File objektum metódusai:
Fájl másolása tartalmával együtt:
f.copy cél [, felülírás]
Állomány áthelyezése:
f.move cél
Fájl törlése:
f.delete [megerősítve]

3
0
Fájlmenedzselés
File objektum használata:

Set Mappa = FájlRendszer.GetFolder("a:\")


For Each Fájl In Mappa.Files
If Fájl.Attributes And 2 Then
Print Fájl.Name
End If
If LCase(Fájl.Name) = "dc4.gif" Then
Print "A másolás történik."
Fájl.Copy ("a:\cicus\")
End If
Next

Feladat: 47 3
1
Fájlrendszer controlok
A Visual Basic vezérlők közül hármat kifejezetten
fájlműveletekre terveztek:
• DriveListBox meghajtólista
• DirListBox könyvtárlista
• FileListBox fájllista

3
2
Fájlrendszer controlok
DriveList vezérlő:

Az elérhető meghajtók listáját tartalmazza,


egy lenyíló lista formájában.
A vezérlő Drive tulajdonságán keresztül
kérdezhető le, illetve állítható be az
aktuális meghajtó.

DriveList és DirList összehangolása:


Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

3
3
Fájlrendszer controlok
DirList vezérlő:

A könyvtárak listáját tartalmazza. A


felhasználó e lista segítségével navigálhat
egy meghajtó könyvtárszerkezetében.
A Path tulajdonságán keresztül adhatjuk
meg, illetve kérdezhetjük le az aktuális
útvonalat.
FileList és DirList összehangolás:
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

3
4
Fájlrendszer controlok
FileList vezérlő:

Egy adott könyvtárban lévő összes fájlt,


vagy a megadott fájlok listáját tartalmazza.
A Path tulajdonságtól függ, hogy melyik
könyvtár fájljai vannak a listán.
A Pattern tulajdonság megváltoztatásával
leszűkíthetjük a megjelenített fájlokat.
File1.Pattern = "*.bat;*.txt"

3
5
Fájlrendszer controlok
Fájlrendszer vezérlők használata:
Private Sub Dir1_Change()
File1.Path = Dir1.Path
Label1 = Dir1.Path
End Sub

Private Sub Drive1_Change()


Dir1.Path = Drive1.Drive
File1.Path = Dir1.Path
Label1 = Drive1.Drive

Private Sub File1_Click()


Label1 = Dir1.Path + "\" + File1.FileName
End Sub

Private Sub Form_Load()


File1.Pattern = "*.bat;*.txt"
Label1 = Dir1.Path
End Sub

Feladat: 48 3
6

You might also like