Menu
Jest wolny
rejestracja
Dom  /  Problemy/ Przykłady kodu operacji menu systemu plików Vb6. Programowanie FSO

Przykłady kodu operacji menu systemu plików Vb6. Programowanie FSO

Każdy program musi zapisywać dane na dysku i odczytywać je z dysku. Jest to konieczne, na przykład, aby zapisać ustawienia programu, użytkownik raczej nie polubi programu, który będzie musiał zostać ponownie skonfigurowany następnym razem.

W tym artykule skupimy się na pracy z plikami tekstowymi przy użyciu Visual Basic.

Deskryptor pliku

Praca z plikami system operacyjny wykorzystuje kanały I/O, tj. każdy Otwórz plik ma swój własny numer.

Visual Basic ma funkcję FreeFile, który zwraca numer wolnego kanału, którego można użyć do pracy z plikiem. Jeśli nie ma wolnych kanałów, pojawia się błąd.

FreeFile [(Numer zakresu) ]

Numer zakresu- opcjonalny parametr pozwalający określić zakres wartości wolnych kanałów, jeśli Numer zakresu= 0 (domyślnie), to numer kanału jest zwracany z zakresu 1 - 255, a jeśli 1, to z zakresu 256 - 511.

MójPlik = WolnyPlik „Zmienna MyFile została przypisana do wolnego kanału i może być teraz używana do pracy z plikami

Praca z plikami tekstowymi

Najczęściej spotykasz pliki tekstowe. Pliki tekstowe składają się z zestawu znaków ASCII (American Standard Code for Information Interchange).

Przed rozpoczęciem zapisu/odczytu danych plik musi zostać otwarty, odbywa się to za pomocą operatora Otwarty (Nazwa pliku) Dla jako #Numer pliku, gdzie:

Wejście- otwórz plik do odczytu, jeśli plik nie istnieje, to wystąpi błąd;

Wyjście- do zapisu, jeśli plik nie istnieje, to zostanie utworzony, a jeśli plik istnieje, to zostanie nadpisany;

Dodać- dodać, jeśli plik nie istnieje, to zostanie utworzony, a jeśli plik istnieje, to dane zostaną dodane na końcu pliku.

Odczytywanie plików tekstowych można wykonać na dwa sposoby: czytaj znak po znaku, w tym celu użyj funkcji Wejście (Liczba_znaków do przeczytania, #Numer pliku) i linia po linii, funkcja jest do tego używana Wejście liniowe #Numer pliku, Gdzie_czytać.

Przyciemnij mój plik

Dim S jako ciąg "Zmienna do przechowywania odczytanych danych

MójPlik = WolnyPlik

Otwórz ("C: \ TEST.txt") do wprowadzenia jako #MyFile

Wejście liniowe #MyFile, S „Odczytywanie pierwszej linii z pliku TEST.TXT do zmiennej S

Przyciemnij mój plik „Deklarowanie zmiennej dla wolnego pliku

Dim i jako liczba całkowita „Zmienna dla pętli

Dim tS jako ciąg "Zmienna do czytania linii

Dim S jako ciąg "Zmienna do przechowywania danych końcowych

MójPlik = WolnyPlik "Przydzielanie darmowego kanału do pracy z plikami

„Otwórz plik TEST.TXT do odczytu

Dla i = 1 do 5

Wejście liniowe #MyFile, tS "Czytanie pliku TEST.TXT linia po linii"

Jeśli i => 5 Wtedy S = tS „Jeśli piąta linia, to przechowujemy ją w zmiennej S

Dalej ja

Zamknij #MyFile "Zamknij plik

Dim MyFile "Zadeklaruj zmienną dla wolnego pliku

Dim S As String "Zmienna do przechowywania odczytanych danych

MójPlik = WolnyPlik "Przydzielanie darmowego kanału do pracy z plikami

Otwórz ("C: \ TEST.txt") do wprowadzenia jako #MyFile „Otwórz plik TEST.TXT do odczytu

S = Wejście $ (LOG (1), 1) „Wczytujemy cały plik do zmiennej S

Zamknij #MyFile "Zamknij plik

Istnieją operatory do zapisu do pliku Drukuj #Numer pliku, Dane oraz Pisać #Numer pliku, Dane... Jedyna różnica między tymi operatorami polega na tym, że Pisać zapisuje dane w cudzysłowie i Wydrukować bez cytatów.

Poniższy kod utworzy na C: \ drive nowy plik TEST.TXT i zapisze w nim dwa ciągi znaków, pierwszy bez cudzysłowów, a drugi w cudzysłowie:

Przyciemnij mój plik „Deklarowanie zmiennej dla wolnego pliku

MójPlik = WolnyPlik "Przydzielanie darmowego kanału do pracy z plikami

Otwórz ("C: \ TEST.txt") do wyjścia jako #MyFile "Otwórz plik TEST.TXT do nagrywania

Print #MyFile, "Ten ciąg został napisany przez operatora Print, jest bez cudzysłowów ..."

Napisz #MyFile, "Ten wiersz został napisany przez instrukcję Write, jest w cudzysłowie..."

Zamknij #MyFile "Zamknij plik

To wszystko. Jak zapewne już zrozumiałeś, operator służy do zamykania pliku Blisko #Numer pliku, w której, # Numer pliku nie jest konieczne określenie.

Artykuł jest nieco surowy, ale przyda się początkującym programistom. Następnym razem opowiem o pracy z plikami binarnymi.

Okna

Cel pracy: Naucz się i używaj operatorów plików VB 6 różne rodzaje: pliki sekwencyjne (tekstowe), pliki o dostępie swobodnym, pliki binarne. Badanie i korzystanie z narzędzia PospolityDialog aby otwierać i zapisywać pliki, wybierz czcionkę i kolor oraz użyj obiektu Schowek do przechowywania fragmentów tekstu - na przykładzie tworzenia prostego edytora tekstu.

Pytania kontrolne:

1. W jaki sposób możesz otworzyć plik tekstowy? Jak mogę zamknąć plik tekstowy i dowolny inny otwarty plik?

2. W jaki sposób dane zapisywane są do pliku tekstowego otwieranego do zapisu? Jaka jest różnica pomiędzy Napisz oświadczenia i drukować?

3. Jak odczytywane są dane z otwartego do odczytu plik tekstowy? Czym różnią się od siebie instrukcje Input i Line Input? Jakiej funkcji można użyć do odczytania określonej liczby znaków z pliku? Jak mogę odczytać wszystkie znaki w pliku?

4. Co to jest typ danych zdefiniowany przez użytkownika i w jaki sposób ta koncepcja jest używana podczas pracy z plikami o dostępie swobodnym ( Rafa)?

5. Z jakimi operatorami z pliku Rafa zapisy są odczytywane do pliku Rafa pisane są nowe rekordy?

6.W jakim celu ustalany jest indeks i używany podczas pracy z plikiem? Rafa?

7. Jakie są cechy korzystania z plików binarnych? Jak się otwierają? Jak odbywa się czytanie z pliku binarnego i zapisywanie do pliku binarnego?

8. Jak można zastosować kontrolę? PospolityDialog załadować zawartość pliku tekstowego do pola tekstowego? Jak mogę zapisać edytowany tekst do pliku tekstowego przy użyciu tej samej kontrolki?

9. Jak można zastosować kontrolę? PospolityDialog aby pobrać zawartość pliku rtf w terenie BogatyPole tekstowe? Jak zapisać edytowany tekst do pliku za pomocą tej samej kontrolki? rtf?

10. Jak można zastosować kontrolę PospolityDialog zmienić wartości parametrów czcionki oraz zmienić kolor tekstu w oknie Pole tekstowe(lub zaznaczony fragment tekstu w oknie BogatyPole tekstowe)?

Przykład 7.1. Rozważmy aplikację, która demonstruje zapisywanie do pliku tekstowego (i odczytywanie z pliku tekstowego) „informacji o pracownikach” – wiersze, z których każdy zawiera numer identyfikacyjny, imię i nazwisko, datę i miejsce urodzenia pracownika. Wiersze tworzą tabelę, która na ekranie będzie symulować 4 kontrolki Combo Box (rys. 7.1), tworząc tablicę obiektów Comb (i), których właściwość Style ma wartość 1 - SimpleCombo.

Zaznacz wiersz do usunięcia ”, vbExclamation

Grzebień (j) .RemoveItem i

'Skrzynka nowe wejście na stół:

Subskrypcja prywatna mnuInsert_Click ()

i% = grzebień (0) .ListIndex

Jeśli ja< 0 Then

MsgBox "Wybierz wiersz do wstawienia przed nim", vbExclamation

Grzebień (0) .AddItem InputBox ("Wprowadź numer"), i

Grzebień (1) .AddItem InputBox, i

Grzebień (2) .AddItem InputBox ("Wprowadź datę urodzenia"), I

Grzebień (3) .AddItem InputBox ("Wpisz miejsce urodzenia"), I

„Zmień wpis w tabeli:

Subskrypcja prywatna mnuUpdate_Click ()

i% = grzebień (0) .ListIndex

Jeśli ja< 0 Then

MsgBox "Podświetl linię do modyfikacji", vbExclamation

Grzebień (0) .List (i) = InputBox („Wprowadź numer”, Grzebień (0) .List (i))

Grzebień (1) .List (i) = InputBox ("Wprowadź nazwę", Grzebień (1) .List (i))

Grzebień (2) .List (i) = InputBox („Wprowadź swoją datę urodzenia”, Grzebień (2) .List (i))

Grzebień (3) .List (i) = InputBox („Wprowadź miejsce urodzenia”, Grzebień (3) .List (i))

„Skasuję cały stół:

Subskrypcja prywatna mnuClear_Click ()

'Wypełnianie tabeli informacjami z pliku tekstowego:

Prywatna Sub mnuLoad_Click ()

Otwórz „osoba. Txt” dla danych wejściowych jako nr 1

Wejście nr 1, numb, fio, bdate, bloc

Grzebień (0) .AddItem numer

Grzebień (1) .AddItem fio

Grzebień (2). bdate AddItem

Grzebień (3). Blok AddItem

„Zapisywanie informacji z tabeli do pliku tekstowego:

Prywatna Subskrypcja mnuSave_Click ()

N% = grzebień (0) .ListCount

Otwórz „osobę. Txt” dla wyjścia jako nr 1

Dla i = 0 Do N - 1

liczba = Val (grzebień (0) .Lista (i))

fio = Grzebień (1) .Lista (i)

bdate = CDate (grzebień (2) .List (i))

blok = Grzebień (3) .Lista (i)

Napisz # 1, numb, fio, bdate, bloc

„Zamknięcie aplikacji:

Prywatna Subskrypcja mnuExit_Click ()

Przykład 7.2 ... Rozważ aplikację, która demonstruje użycie kontrolek PospolityDialog aby otworzyć i zapisać plik, wybrać czcionkę i kolor oraz edytować tekst.

Formatuj plik tekst zostanie załadowany do pola tekstowego (lewe pole na rys. 7.2), a plik formatu RTF- w terenie BogatyPole tekstowe(prawy margines na ryc. 7.2).

obiekt

Klasa

obiekt

Nieruchomość

obiekt

Wartość nieruchomości

„Panele ogólne

dialog "

Otwórz / Zapisz jako kartę

Tablica Czcionka

Karta kolorów

Tabela nie pokazuje właściwości poleceń menu Czcionka, Kolor oraz Edytować... Poniżej znajduje się kod procedur również tylko dla poleceń menu Plik (otwarty, Zapisać oraz ZapisaćJak). Pisanie kodu dla innych poleceń menu to temat drugiego zadania tej pracy.

Prywatna Subskrypcja mnuOpen_Click ()

CommonDialog1.ShowOpen

F $ = CommonDialog1.FileName

Jeśli Prawo (F, 3) = "rtf" Wtedy

RichTextBox1.LoadFile F

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

Otwórz F dla wejścia jako nr 1

S $ = Wejście (N, 1)

Prywatna Subskrypcja mnuSave_Click ()

Wspólne okno dialogowe1.PokażZapisz

F $ = CommonDialog1.FileName

Prywatna Subskrypcja mnuSaveAs_Click ()

Wspólne okno dialogowe1.PokażZapisz

F $ = CommonDialog1.FileName

RichTextBox1.SaveFile F, rtfRTF

W trakcie tej pracy student musi wykonać 2 zadania.

Ćwiczenie 1. W trakcie realizacji zadania studenci opanowują umiejętności pracy z plikami o dostępie swobodnym ( RAF -losowydostępplik).

Dla danej tabeli bazy danych zadeklaruj niestandardowy typ danych, zadeklaruj zmienną tego typu (poradnik, s. 108 - 112), kompiluj i debuguj procedury wykorzystujące zmienną typu niestandardowego.

W szczególności zaimplementowano procedury dla poleceń menu Zapisz do plikuRAF oraz Czytaj z plikuRAF... Jak w przykładzie 7.1, do edycji danych używana jest tablica obiektów. KombinacjaSkrzynka i menu Edytować z pięcioma poleceniami podmenu: Dodaj notatkę, Usuń wpis, Wstaw rekord, Edytuj wpis, Wyczyść tabelę.

opcja 1.

Zadeklaruj niestandardowy typ danych dla tabeli „Samochód” (Tabela 7.1) bazy danych „Autoserwis”.

samochód

samochód

awarie

Dolny wiersz tabeli 7.1 pokazuje typy pól.

Opcja 2.

Zadeklaruj niestandardowy typ danych dla tabeli „Usterki” (tabela 7.2) bazy danych „Autoserwis”.

awarie

Nazwa

awarie

Cena

Dolny wiersz tabeli 7.2 zawiera typy pól.

Korzystając z przykładowej aplikacji 7.1 jako przykładu, zorganizuj wprowadzanie i edycję danych dla prezentowanej tabeli, zapisując te dane do pliku o swobodnym dostępie i odczytując dane z pliku o swobodnym dostępie. Podobnie jak w przykładzie 7.1, działania te są realizowane jako działanie poleceń menu pokazanych na ryc. 7.1.

Zadanie 2. Po zakończeniu zadania uczniowie dodają do aplikacji nowe funkcje w Przykładzie 2, które umożliwiają przeglądanie aplikacji jako prostego edytora tekstu.

opcja 1 PospolityDialog zaimplementuj polecenia menu Czcionka oraz Kolor(z podmenu Kolor postaci oraz Kolor tła). Za pomocą tych poleceń należy dokonać wyboru czcionki (jej nazwy, stylu i rozmiaru) dla wybranego fragmentu tekstu w oknie BogatyPole tekstowe, a także wybór koloru symboli zaznaczenia oraz wybór koloru tła całego okna.

Wskazanie: Podczas konfigurowania obiektu PospolityDialog aby wybrać czcionkę za pomocą właściwości (Własne), ustaw wartość właściwości Flagi na 1, 2 lub 3 (zobacz samouczek, s. 183).

Opcja 2... Korzystanie z kontroli PospolityDialog zaimplementuj polecenia menu Edytować(podmenu Kopiuj, Skaleczenie oraz Pasta), którego celem jest biurowy lub usunięcie do schowka wybranego fragmentu tekstu i wstawić do zaznaczonego miejsca w tekście zawartości schowka.

Wskazanie: Do schowka (obiekt Schowek) możesz użyć metod SetText i GetText:

Schowek. Ustaw tekst RichTextBox1.SelText

RichTextBox1.SelText = Schowek. Pobierz tekst

8. ZAPISYWANIE I ODCZYTYWANIE INFORMACJI

Aby po zakończeniu programu wszystkie dane utworzone w pamięci nie zostały utracone, musisz mieć możliwość zapisywania informacji na dysku twardym. W przeciwnym razie wszystkie informacje znikną bez śladu. Możesz zapisywać i odczytywać dane na różne sposoby. Do pracy z informacjami o różnych rozmiarach i formatach można używać plików binarnych i tekstowych. Rejestru systemu Windows można używać do przechowywania niewielkich ilości informacji. A w przypadku najbardziej złożonych zadań sensowne jest korzystanie z baz danych.

8.1. Otwieranie plików za pomocą operatora "Otwarty "

Plik to nazwany obszar dowolnego zewnętrznego urządzenia pamięci masowej. Dane „żyją” w pamięci komputera, a pliki – na dysku twardym. Program nie działa bezpośrednio z plikami, ale wykorzystuje system operacyjny jako pośrednika.

Istnieją dwa typy nazw plików: pełne - oprócz nazwy pliku wskazana jest również lokalizacja pliku na nośniku zewnętrznym (na przykład „C: \ Program Files \ Microsoft Visual Studio \ VB98 \ VB 6.EXE" ) i short - tylko nazwa pliku (VB 6.EXE ). Jeśli lokalizacja pliku nie zostanie określona, ​​zostanie on wyszukany w bieżącym folderze, domyślnie - folderze, w którym znajduje się Twoja aplikacja. Bezpośrednia nazwa pliku składa się z dwóch części: rzeczywistej unikalnej nazwy pliku i jego rozszerzenia. Sama nazwa identyfikuje plik, a rozszerzenie zwykle wskazuje format pliku lub program, w którym został utworzony.

Przed rozpoczęciem pracy z plikiem należy zapytać system operacyjny wskaźnik (deskryptor) plik... Aby go uzyskać, użyj funkcji „FreeFile”. Następnie za pomocą instrukcji „Open” ten wskaźnik jest kojarzony z wymaganym plikiem. Dopiero po tym program będzie mógł z nim pracować. Składnia otwierania pliku jest następująca:

'Pobierz darmowy wskaźnik pliku i przypisz go do zmiennej

FileHandle% = FreeFile

'Otwórz plik

Otwórz ścieżkę pliku _

Jako [#] FileHandle%

... (praca z plikiem)

Zamknij [#] FileHandle

· FileHandle% - zmienna przechowująca wskaźnik pliku;

· FreeFile - nazwa funkcji zwracającej wskaźnik pliku;

· Open - nazwa operatora;

· FilePath to pełna nazwa pliku;

· For - słowo kluczowe, po którym następuje opis trybu dostępu do pliku;

· Tryb - tryb dostępu do pliku (patrz Tabela 15);

Tabela 15

Tryby dostępu do plików

Tryby dostępu

Opis

Dodać

Dołącz dane na końcu istniejącego pliku tekstowego. Jeśli plik nie istnieje, zostanie utworzony

Dwójkowy

Otwarcie pliku w trybie binarnym, czyli jako zestaw bajtów. Jeśli plik nie istnieje, ale zostanie utworzony

Wejście

Otwarcie pliku do odczytu w formacie tekstowym

Wyjście

Otwarcie pliku w celu zapisania pliku tekstowego. W takim przypadku wszystkie stare informacje zostaną usunięte. Jeśli plik nie istnieje, ale zostanie utworzony

Losowy

Otwarcie pliku w trybie dostępu swobodnego. Ten tryb służy do pracy z prostymi rekordami. Jeśli plik nie istnieje, ale zostanie utworzony

· Dostęp to opcjonalne słowo kluczowe, po którym następuje opis typu dostępu;

· AccessType - opis typu dostępu:

· Czytać czytanie;

· Pisz - pisz;

· Czytaj Napisz - czytaj i pisz.

Notatka

W przypadku trybów dostępu do dołączania i wyprowadzania dostępny jest tylko typ dostępu do zapisu, dla wejścia tylko do odczytu, a dla binarnego i losowego dostępne są wszystkie trzy typy dostępu.

· LockType jest opcjonalnym parametrem, który określa, czy inne programy mogą używać tego pliku, gdy Twój program na nim pracuje. Zwykle wiąże się to z siecią (patrz Tabela 16).

Tabela 16

Możliwe wartości parametru LockType

Oznaczający

Opis

Wspólny

Wszyscy użytkownicy z niezbędnymi uprawnieniami będą mieli pełny dostęp do pliku.

Zablokuj odczyt

Odczytywanie plików jest zablokowane, ale zapis jest dozwolony

Zablokuj zapis

Zapis do pliku jest zablokowany, ale odczyt jest dozwolony

Zablokuj Odczyt Zapis

Zarówno czytanie, jak i pisanie do niego jest zabronione.

· As to słowo kluczowe, po którym następuje wskaźnik pliku.

· # Jest znakiem wskazującym, że następująca po nim wartość jest wskaźnikiem do pliku.

· Len to opcjonalne słowo kluczowe, po którym następuje parametr określający długość rekordu.

· CharInBuffer% - długość rekordu dla pliku otwartego w trybie losowego dostępu (Random).

· Close to instrukcja, która zamyka plik skojarzony z określonym dojściem.

Ważne jest, aby zamknąć plik po zakończeniu pracy z nim. Instrukcja "Close" zwalnia wskaźnik pliku i związany z nim obszar pamięci.

Podczas pracy z plikiem, a mianowicie podczas odczytu z niego, bardzo ważne jest określenie końca pliku. Można to określić za pomocą funkcji EOF (End Of File):

EOF (obsługa pliku)

· EOF - nazwa funkcji;

· FileHandle to uchwyt pliku określający koniec.

Funkcja zwraca True, jeśli osiągnięto koniec pliku, w przeciwnym razie zwraca False.

8.2. Czytanie i zapisywanie do pliku tekstowego

Plik tekstowy otwierany jest w trybie dostępu „Input”, „Output” lub „Append” (patrz Tabela 15). Osobliwością tego trybu jest to, że działa tylko z określonymi znakami drukowalnymi. Praca z symbolami serwisowymi nie ma sensu.

Aby zapisać informacje, użyj dwóch operatorów „Drukuj” i „Zapisz”, których składnia jest następująca:

Drukuj # FileHandle%, VarBuffer [;]

Napisz # FileHandle%, VarBuffer [;]

· Print / Write - słowa kluczowe operatora.

· #FileHandle% — wskaźnik do pliku, w którym zostaną umieszczone informacje.

· VarBuffer to wartość, która zostanie zapisana do pliku.

· ; - parametr opcjonalny używany przy zapisie do pliku tekstowego oznacza, że ​​kolejna wartość zostanie zapisana w tej samej linii, a jeśli jej nie będzie, w następnej.

Aby odczytać informacje z pliku, użyj operatorów "Wejście" i "Wejście liniowe". Składnia jest do siebie podobna:

Wejście liniowe # FileHandle%, VarBuffer

Wejście # FileHandle%, VarBuffer

· Line Input / Input - słowa kluczowe operatora.

· #FileHandle% — wskaźnik pliku, z którego będą odczytywane informacje.

· VarBuffer to zmienna, do której zostaną wczytane informacje.

Różnica między operatorami „Wejście liniowe” i „Wejście” polega na tym, że pierwszy jest przeznaczony tylko dla plików tekstowych, a drugi – dla dowolnych. W przypadku plików tekstowych „Input” odczytuje dane w jednym wierszu do pierwszego separatora (dla danych tekstowych separator to „”, (przecinek), a dla danych liczbowych „” (spacja) i „”, ) i „Wprowadzanie linii »Odczytuje całą linię naraz, ignorując wszelkie ograniczniki.

Notatka

Visual Basic nie ma kontrolek formatu dla wcześniej wygenerowanych plików. Dlatego znak „2” można odczytać jako odpowiednią liczbę i odwrotnie.

8.3. Praca z plikami binarnymi

Pliki otwierają się w format binarny przez operatora „Open” w trybie „Binary”. Charakterystyczną cechą tego trybu jest to, że praca z plikiem koncentruje się wyłącznie na określonych bajtach. Ponieważ Visual Basic może odwoływać się bezpośrednio do żądanej lokalizacji w pliku, ten tryb jest również nazywany - tryb bezpośredniego dostępu... Inną cechą tego trybu jest możliwość jednoczesnego zapisywania i odczytywania informacji w różnych częściach pliku bez jego ponownego otwierania. Zapis do pliku otwartego w trybie binarnym odbywa się przy użyciu następującej składni:

Umieść # FileHandle%,, NameVar

· Put - nazwa operatora do rejestrowania informacji.

· RecNumber - numer bajtu pliku, do którego zostaną zapisane informacje (opcjonalnie).

· NameVar to zmienna, której zawartość zostanie zapisana do pliku.

Odczytywanie informacji z pliku w trybie binarnym odbywa się za pomocą następującego operatora:

Pobierz # FileHandle% ,, NameVar

· Get - nazwa operatora zapisu informacji.

· FileHandle% - wskaźnik pliku.

· RecNumber - numer bajtu pliku, z którego będą odczytywane informacje (opcjonalnie).

· NameVar - nazwa zmiennej, w której zostaną umieszczone odczytane informacje.

Ponieważ tryb binarny nastawiony jest na bajty informacji, przy odczycie z pliku zmienna bufora musi mieć ściśle określony typ: albo „Byte”, wtedy zostanie odczytana wartość liczbowa bajtu, albo wartość znakowa stałej długość w jednym znaku, to bajt zostanie odczytany jako znak ANSI , którego kod odpowiada rozmiarowi bajtu. Ten znak może być nawet znakiem kontrolnym, czego nie można osiągnąć w przypadku plików tekstowych.

Notatka

W przypadku braku parametru „RecNumber” informacja zostanie zapisana lub odczytana w kolejnym bajcie pliku po tym, z którym wcześniej pracowały.

8.4. Manipulacja grafiką

Obrazy graficzne można również zapisywać i pobierać z plików. Aby pobrać ikonę z mapy bitowej lub pliku i przypisać ją do właściwości Picture kontrolek PictureBox i Image, użyj funkcji LoadPicture() o następującej składni:

ImageCtrl.Picture = Załaduj obraz (ścieżka pliku)

· ImageCtrl - nazwa kontrolki okna obrazu, kontrolki obrazu lub formularza;

· LoadPicture to nazwa funkcji;

· FilePath to w pełni kwalifikowana nazwa pliku.

SavePicture ImageCtrl .Picture, FilePath

· SavePicture - nazwa operatora;

· ImageCtrl - nazwa kontrolki okna obrazu, kontrolki obrazu lub formularza;

· Obraz - nazwa właściwości obiektu odpowiedzialnej za obraz;

· FilePath to w pełni kwalifikowana nazwa pliku i lokalizacja na dysku.

8.5. Praca z danymi w rejestrze

Rejestru systemu Windows można używać do przechowywania niewielkich fragmentów informacji o formacie znakowym. Istnieją cztery procedury w Visual Basic, których można użyć, aby uzyskać do niego dostęp. Są bardzo łatwe w użyciu, ale mają jedną poważną wadę: dostęp do danych można uzyskać tylko z określonego klucza rejestru: „Mójkomputer \ HKEY _CURRENT _USER \ Software \ VB i VBA Program Settings”. Aby uzyskać dostęp do innych sekcji rejestru, musisz skorzystać ze specjalnych funkcji „API Win 32”.

Aby uzyskać wartość parametru z klucza Visual Basic w rejestrze systemu Windows, użyj następującej funkcji:

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

· MyString - ciąg do przechowywania wartości zwracanej przez funkcję;

· GetSetting to nazwa funkcji.

· VBKeyName to wartość ciągu będąca nazwą wewnętrznego podklucza VB/VBA.

· Klucz to ciąg znaków reprezentujący nazwę parametru w sekcji.

· Default jest argumentem opcjonalnym, którego wartość zostanie zwrócona w przypadku błędu (brak parametru).

Poniższa instrukcja służy do przechowywania pewnej wartości w rejestrze systemu Windows:

SaveSetting VBKeyName, Section, Key, MyString

· SaveSetting - nazwa operatora.

· MyString to zmienna typu string, w której zostanie umieszczona znaleziona wartość.

Aby pobrać z rejestru tablicę zawierającą wszystkie wartości parametrów z określonego podklucza, użyj następującej funkcji:

MyVariant = SetAllSettings (VBKeyName, sekcja)

· MyVariant to tablica wartości „Variant” zwracanych przez funkcję.

· SetAllSettings to nazwa funkcji.

· Sekcja — wartość ciągu reprezentująca sekcję lub podsekcję określonej aplikacji.

Aby usunąć całą sekcję parametru, użyj instrukcji o następującej składni:

DeleteSetting VBKeyName, sekcja, klucz

· DeleteSetting - nazwa operatora.

Pytania testowe do autotestu

  1. Jak można przechowywać niektóre informacje przez długi czas?
  2. Co to jest plik?
  3. Jakie znasz nazwy plików?
  4. Podaj składnię instrukcji „Open”. Wyjaśnij przeznaczenie jego parametrów.
  5. Jak jednocześnie udostępniać wiele aplikacji w tym samym pliku?
  6. Jak ustalić, że informacje zawarte w aktach zostały wyczerpane?
  7. Dlaczego zaleca się zamknięcie go po pracy z plikiem?
  8. Jak widzisz różnicę między trybami plików tekstowych i binarnych?
  9. Jak odczytywane i zapisywane są dane w trybie pliku tekstowego?
  10. Jak odczytywane i zapisywane są dane w trybie pliku binarnego?
  11. Jaka jest różnica między operatorami „Drukuj” i „Zapis” podczas pracy z plikami?
  12. Jaka jest różnica między operatorami „Wejście” i „Wejście liniowe” podczas pracy z plikami?
  13. Jak pracować z danymi graficznymi?
  14. Jakie są podstawowe zasady pracy z rejestrem Windows?