8. ZAPISYWANIE I CZYTANIE INFORMACJI
Aby po zakończeniu programu wszystkie dane utworzone w pamięci nie zniknęły, musisz mieć możliwość zapisania informacji na dysku twardym. W przeciwnym razie wszystkie informacje znikną bez śladu. Możesz zapisywać i odczytywać dane na różne sposoby. Możesz używać plików binarnych i tekstowych do pracy z informacjami o różnych rozmiarach i rozmiarach. Za pomocą rejestru systemu Windows można przechowywać niewielkie ilości informacji. W przypadku najbardziej złożonych zadań sensowne jest korzystanie z baz danych.
8.1 Otwieranie plików za pomocą „Otwarty "
Plik to nazwany obszar dowolnego zewnętrznego urządzenia pamięci masowej. Dane „na żywo” w pamięci komputera i pliki na dysku twardym. Program nie działa bezpośrednio z plikami, ale używa systemu operacyjnego jako pośrednika.
Istnieją dwa typy nazw plików: pełna - 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 krótka - tylko nazwa pliku (VB 6.EXE ) Jeśli lokalizacja pliku nie zostanie określona, \u200b\u200bzostanie on przeszukany domyślnie w bieżącym folderze - folderze, w którym znajduje się aplikacja. Bezpośrednia nazwa pliku składa się z dwóch części: samej unikalnej nazwy pliku i jego rozszerzenia. Sama nazwa identyfikuje plik, a rozszerzenie zwykle wskazuje format pliku lub program, który został utworzony.
Zanim zaczniesz pracować z plikiem, musisz złożyć wniosek w systemie operacyjnym wskaźnik (deskryptor) plik. Aby go uzyskać, użyj funkcji „FreeFile”. Następnie za pomocą operatora „Otwórz” wskaźnik ten jest powiązany z niezbędnym plikiem. Dopiero potem program będzie mógł z nim pracować. Składnia otwierania pliku jest następująca:
„Otrzymujemy bezpłatny wskaźnik pliku i przypisujemy go do zmiennej
FileHandle% \u003d FreeFile
„Otwórz plik
Otwórz FilePath _
Jako [#] FileHandle%
... (plik roboczy)
Zamknij [#] FileHandle
· FileHandle% - zmienna, w której przechowywany jest wskaźnik pliku;
· FreeFile - nazwa funkcji zwracającej wskaźnik pliku;
· Otwórz - nazwa operatora;
· FilePath - 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ć |
Dodaj dane na końcu istniejącego pliku tekstowego. Jeśli plik nie istnieje, zostanie utworzony. |
Dwójkowy |
Otwieranie pliku w trybie binarnym, tj. jako zestaw bajtów. Jeśli plik nie istnieje, ale zostanie utworzony |
Wejście |
Otwieranie pliku do odczytu w formacie tekstowym |
Wynik |
Otwieranie pliku w celu zapisu pliku tekstowego. W takim przypadku wszystkie stare informacje zostaną usunięte. Jeśli plik nie istnieje, ale zostanie utworzony |
Losowy |
Otwieranie pliku w trybie losowego dostępu. Ten tryb służy do pracy z prostymi rekordami. Jeśli plik nie istnieje, ale zostanie utworzony |
· Dostęp jest opcjonalnym słowem kluczowym, po którym następuje opis rodzaju dostępu;
· AccessType - opis rodzaju dostępu:
· Czytać czytanie;
· Pisz - pisz;
· Czytaj Pisz - czytaj i pisz.
Uwaga |
W trybach dostępu Append i Output dostępny jest tylko typ dostępu do zapisu, z wejściem tylko typ dostępu do odczytu, zaś w przypadku dostępu binarnego i losowego dostępne są wszystkie trzy typy dostępu. |
· LockType jest opcjonalnym parametrem, który określa, czy inne programy mogą korzystać z tego pliku, gdy program z nim pracuje. Zwykle wiąże się to z działaniem sieci (patrz tabela 16).
Tabela 16
Możliwe wartości LockType
Wartość |
Opis |
Udostępniono |
Wszyscy użytkownicy z niezbędnymi prawami będą mieli pełny dostęp do pliku |
Zablokuj odczyt |
Odczytywanie plików jest zablokowane i zapis jest dozwolony |
Blokuj zapis |
Zapis do pliku jest zablokowany i odczyt jest dozwolony |
Zablokuj odczyt i zapis |
Zabrania się czytania i pisania do niego |
· Podobnie jak słowo kluczowe, po którym następuje wskaźnik pliku.
· # To symbol wskazujący, że następująca po nim wartość jest wskaźnikiem pliku.
· Len jest opcjonalnym słowem kluczowym, po którym następuje parametr określający długość rekordu.
· CharInBuffer% - długość rekordu dla pliku otwartego w trybie dostępu swobodnego (Losowo).
· Zamknij - instrukcja, która zamyka plik powiązany z określonym deskryptorem.
Ważne jest, aby zamknąć plik po zakończeniu pracy z nim. Operator Close zwalnia wskaźnik pliku i związany z nim obszar pamięci.
Podczas pracy z plikiem, a mianowicie podczas czytania z niego, bardzo ważne jest określenie końca pliku. Można go zdefiniować za pomocą funkcji EOF (End Of File):
EOF (FileHandle)
· EOF - nazwa funkcji;
· FileHandle - wskaźnik pliku, którego koniec jest określony.
Funkcja zwraca True, jeśli osiągnięty został koniec pliku, w przeciwnym razie False.
8.2 Odczytywanie i zapisywanie do pliku tekstowego
Plik tekstowy jest otwierany 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 do wydrukowania. Praca z symbolami serwisowymi jest bezużyteczna.
Aby zapisać informacje za pomocą 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 operatorów.
· # FileHandle% - wskaźnik do pliku, w którym zostaną umieszczone informacje.
· VarBuffer - wartość do zapisania w pliku.
· ; - parametr opcjonalny używany podczas zapisywania do pliku tekstowego oznacza, że \u200b\u200bnastępna wartość zostanie zapisana w tym samym wierszu, a jeśli jej nie ma, do następnej.
Do odczytu informacji z pliku używane są operatory „Input” i „Line Input”. Składnia jest analogiczna do znajomego:
Wejście liniowe # FileHandle%, VarBuffer
Wpisz # FileHandle%, VarBuffer
· Line Input / Input - słowa kluczowe operatorów.
· # FileHandle% - wskaźnik do pliku, z którego będą czytane informacje.
· VarBuffer - zmienna, w której będą czytane informacje.
Różnica między operatorami wprowadzania liniowego i wprowadzania polega na tym, że pierwszy dotyczy tylko plików tekstowych, a drugi dowolnego. W przypadku plików tekstowych „Wejście” odczytuje dane w jednym wierszu do pierwszego separatora (w przypadku danych tekstowych separatorem jest „,” (przecinek), aw przypadku danych liczbowych „” (spacja) i „,”) oraz „Wejście liniowe „Czyta całą linię jednocześnie, ignorując wszelkie ograniczniki.
Uwaga |
W Visual Basic nie ma możliwości kontrolowania formatu wcześniej utworzonych plików. Dlatego symbol „2” można odczytać jako odpowiednią liczbę i odwrotnie. |
8.3 Praca z plikami binarnymi
Pliki otwarte w format binarny Otwórz operatora w trybie binarnym. Charakterystyczną cechą tego trybu jest to, że praca z plikiem koncentruje się wyłącznie na określonych bajtach. Ponieważ program Visual Basic można bezpośrednio adresować do żądanej lokalizacji w pliku, ten tryb jest również nazywany - tryb bezpośredniego dostępu. Inną funkcją tego trybu jest możliwość jednoczesnego zapisu i odczytu informacji w różnych częściach pliku bez ponownego otwierania. Zapis do pliku otwartego w trybie binarnym odbywa się według następującej składni:
Wpisz # FileHandle% ,, NameVar
· Put to nazwa operatora do pisania informacji.
· RecNumber - numer bajtu pliku, w którym zostaną zapisane informacje (parametr opcjonalny).
· NameVar - zmienna, której zawartość zostanie zapisana w pliku.
Odczytywanie informacji z pliku w trybie binarnym odbywa się za pomocą następującego operatora:
Uzyskaj # FileHandle% ,, NameVar
· Get to nazwa instrukcji rekordu informacyjnego.
· FileHandle% - wskaźnik pliku.
· RecNumber - numer bajtu pliku, z którego zostaną odczytane informacje (parametr opcjonalny).
· NameVar - nazwa zmiennej, w której zostaną umieszczone odczytane informacje.
Ponieważ tryb binarny jest zorientowany na bajty informacji, podczas odczytu z pliku zmienna buforowa musi mieć ściśle zdefiniowany typ: albo „Bajt”, następnie odczytana zostanie bajtowa wartość liczbowa lub wartość znaku o stałej długości jednego znaku, a następnie bajt zostanie odczytany jako znak ANSI którego kod odpowiada wielkości bajtu. Ten znak może być nawet znakiem kontrolnym, czego nie można uzyskać w przypadku plików tekstowych.
Uwaga |
W przypadku braku parametru „RecNumber” zapis lub odczyt informacji nastąpi w następnym bajcie pliku po tym, z którym wcześniej pracował.
8.4 Manipulacja grafiką
Możesz zapisywać i wyodrębniać grafikę z plików. Aby wyodrębnić piktogramy z pliku lub pliku rastrowego i przypisać mu elementy sterujące PictureBox i Image do właściwości Picture, używana jest funkcja LoadPicture () o następującej składni:
ImageCtrl.Picture \u003d LoadPicture (FilePath)
· ImageCtrl - nazwa kontrolki okna obrazu, kontrolki obrazu lub formularza;
· LoadPicture - 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 odpowiedzialnego za obraz;
· FilePath - pełna nazwa pliku z jego lokalizacją na dysku.
8.5 Praca z danymi w rejestrze
Za pomocą rejestru systemu Windows można przechowywać małe informacje w formacie znakowym. Visual Basic ma cztery procedury, za pomocą których można uzyskać do niego dostęp. Są bardzo łatwe w użyciu, ale mają jedną główną wadę: dostęp do danych można uzyskać tylko z określonego klucza rejestru: „MyComputer \\ HKEY _CURRENT _USER \\ Software \\ VB i VBA Program Settings”. Aby uzyskać dostęp do innych kluczy rejestru, musisz użyć specjalnych funkcji API Win 32.
Aby uzyskać wartość parametru z sekcji Visual Basic rejestru systemu Windows, musisz użyć następującej funkcji:
MyString \u003d GetSetting (VBKeyName, sekcja, klucz [, domyślnie])
· 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 wartość ciągu reprezentująca nazwę parametru w sekcji.
· Domyślnie - opcjonalny argument, którego wartość zostanie zwrócona w przypadku błędu (brak parametru).
Aby zapisać wartość w rejestrze systemu Windows, użyj następującej instrukcji:
SaveSetting VBKeyName, sekcja, klucz, MyString
· SaveSetting to nazwa operatora.
· MyString to zmienna łańcuchowa, w której zostanie umieszczona znaleziona wartość.
Aby uzyskać z rejestru tablicę zawierającą wszystkie wartości parametrów z określonej podsekcji, użyj następującej funkcji:
MyVariant \u003d SetAllSettings (VBKeyName, sekcja)
· MyVariant - tablica wartości typu „Variant” zwrócona przez funkcję.
· SetAllSettings - nazwa funkcji.
· Sekcja to wartość ciągu reprezentująca sekcję lub podsekcję konkretnej aplikacji.
Aby usunąć całą sekcję parametrów, używany jest operator o następującej składni:
DeleteSetting VBKeyName, sekcja, klucz
· DeleteSetting - nazwa operatora.
Pytania testowe do samodzielnego testowania
- W jaki sposób niektóre informacje mogą być przechowywane długoterminowo?
- Co to jest plik?
- Jakie znasz nazwy plików?
- Podaj składnię operatora „Otwórz”. Wyjaśnij cel jego parametrów.
- Jak mogę udostępniać kilka aplikacji w jednym pliku na raz?
- Jak ustalić, czy informacje w pliku są wyczerpane?
- Dlaczego zaleca się zamknięcie go po pracy z plikiem?
- Jaka jest różnica między trybami plików tekstowych i binarnych?
- Jak działa odczyt i zapis danych w trybie pliku tekstowego?
- Jak działa odczyt i zapis danych w trybie plików binarnych?
- Jaka jest różnica między instrukcjami Print i Write podczas pracy z plikami?
- Jaka jest różnica między operatorami „Input” i „Line Input” podczas pracy z plikami?
- Jak mogę pracować z danymi graficznymi?
- Jakie są podstawowe zasady pracy z rejestrem Windows?
Cel pracy: Nauka i używanie operatorów języka VB 6 do pracy z plikami różnego typu: pliki sekwencyjne (tekstowe), pliki o swobodnym dostępie, pliki binarne. Badanie i wykorzystanie narzędzia WspólnyDialog aby otworzyć i zapisać pliki, wybierz czcionkę i kolor i użyj obiektu Schowekdo przechowywania fragmentów tekstu - na przykładzie stworzenia prostego edytora tekstu.
Pytania testowe:
1. Jak mogę otworzyć plik tekstowy? Jak zamknąć tekst i inny otwarty plik?
2. W jaki sposób dane są zapisywane w otwartym pliku tekstowym? Jaka jest różnica między instrukcją Write a Print?
3. Jak odczytywane są dane z otwartego pliku tekstowego? Jaka jest różnica między operatorami wejściowymi i liniowymi? Jakiej funkcji można użyć do odczytania określonej liczby znaków z pliku? Jak odczytać wszystkie znaki pliku?
4. Co to jest typ danych użytkownika i jak ta koncepcja jest używana podczas pracy z plikami o swobodnym dostępie ( raf)?
5. Używanie operatorów z pliku raf rekordy są odczytywane do pliku rafczy są zapisywane nowe wpisy?
6. W jakim celu określa się i stosuje indeks podczas pracy z plikiem raf?
7. Jakie są funkcje korzystania z plików binarnych? Jak się otwierają? Jak czytać z pliku binarnego i zapisywać do pliku binarnego?
8. Jak mogę zastosować kontrolę? WspólnyDialog załadować zawartość pliku tekstowego do pola tekstowego? Jak zapisać edytowany tekst w pliku tekstowym przy użyciu tej samej kontrolki?
9. Jak mogę zastosować kontrolę WspólnyDialog aby pobrać zawartość pliku rtf w polu BogatyPole tekstowe? Jak zapisać edytowany tekst w pliku przy użyciu tego samego elementu sterującego rtf?
10. Jak mogę zastosować kontrolę? WspólnyDialog aby zmienić ustawienia czcionek i zmienić kolor tekstu w oknie Pole tekstowe (lub zaznaczony tekst w oknie BogatyPole tekstowe)?
Przykład 7.1 Rozważ aplikację wykazującą zapis do pliku tekstowego (i odczyt z pliku tekstowego) „informacje o pracowniku” - ciągi znaków, z których każdy zawiera numer identyfikacyjny, imię i nazwisko, pełne imię i nazwisko, datę urodzenia i miejsce urodzenia pracownika. Wiersze tworzą tabelę, która na ekranie będzie symulowana za pomocą 4 kontrolek Combo Box (ryc. 7.1), tworząc tablicę obiektów Comb (i), dla których właściwość Style ma wartość 1 - SimpleCombo.
Zaznacz wiersz, który chcesz usunąć, „vbExclamation
Grzebień (j) .RemoveItem i
„Wstaw nowy rekord do tabeli:
Sub prywatny mnuInsert_Click ()
i% \u003d Comb (0). ListIndex
Jeśli ja< 0 Then
MsgBox „Wybierz linię do wstawienia przed nią”, vbExclamation
Comb (0) .AddItem InputBox („Enter Number”), i
Comb (1) .AddItem InputBox („Wpisz nazwę”), i
Comb (2) .AddItem InputBox („Wprowadź datę urodzenia.”), I
Comb (3) .AddItem InputBox („Enter Birth Place”), i
„Zmień wpis w tabeli:
Sub prywatny mnuUpdate_Click ()
i% \u003d Comb (0). ListIndex
Jeśli ja< 0 Then
MsgBox „Podkreśl zmienny ciąg”, vbExclamation
Comb (0) .List (i) \u003d InputBox („Wprowadź liczbę”, Comb (0) .List (i))
Comb (1) .List (i) \u003d InputBox („Wpisz nazwę”, Comb (1) .List (i))
Comb (2) .List (i) \u003d InputBox („Wprowadź datę urodzenia.”, Comb (2) .Lista (i))
Comb (3) .List (i) \u003d InputBox („Enter birthplace”, Comb (3) .List (i))
„Wyczyść cały stół:
Sub prywatny mnuClear_Click ()
„Wypełnianie tabeli informacjami z pliku tekstowego:
Sub prywatny mnuLoad_Click ()
Otwórz „person. Txt” dla danych wejściowych jako nr 1
Wpisz nr 1, zdrętwiały, fio, bdate, blok
Comb (0) .AddItem numb
Comb (1) .AddItem fio
Comb (2) .AddItem bdate
Blok grzebienia (3)
„Zapisywanie informacji o tabeli do pliku tekstowego:
Sub prywatny mnuSave_Click ()
N% \u003d Comb (0) .ListCount
Otwórz „person. Txt” dla danych wyjściowych jako nr 1
Dla i \u003d 0 do N - 1
numb \u003d Val (Comb (0). List (i))
fio \u003d Comb (1). Lista (i)
bdate \u003d CDate (Comb (2) .Lista (i))
blok \u003d Grzebień (3). Lista (i)
Napisz nr 1, zdrętwiały, fio, bdate, blok
„Zamykanie aplikacji:
Sub prywatny mnuExit_Click ()
Przykład 7.2 . Rozważ aplikację demonstrującą użycie elementów sterujących WspólnyDialog aby otworzyć i zapisać plik, wybrać czcionkę i kolor, a także edytować tekst.
Sformatuj plik Tekst zostanie załadowany do pola tekstowego (lewe pole na ryc. 7.2) i plik formatu RTF - w polu BogatyPole tekstowe (prawe pole na ryc. 7.2).
obiekt
Klasa
obiekt
własność
obiekt
Wartość nieruchomości
„Panele ogólne
dialog ”
Otwórz / Zapisz jako kartę
Zakładka czcionki
Karta Kolor
Właściwości poleceń menu nie są przedstawione w tabeli Czcionka, Kolor i Edytować. Poniżej znajduje się kod procedury tylko dla poleceń menu Plik (otwarty, Zapisać i ZapisaćTak jak) Kompilowanie kodu dla innych poleceń menu jest tematem drugiego zadania tej pracy.
Sub prywatny mnuOpen_Click ()
CommonDialog1.ShowOpen
F $ \u003d CommonDialog1.FileName
Jeśli prawo (F, 3) \u003d „rtf”, to
RichTextBox1.LoadFile F
ElseIf Right (F, 3) \u003d "txt" Następnie
Otwórz F dla wejścia jako nr 1
S $ \u003d Wejście (N, 1)
Sub prywatny mnuSave_Click ()
CommonDialog1.ShowSave
F $ \u003d CommonDialog1.FileName
Sub prywatny mnuSaveAs_Click ()
CommonDialog1.ShowSave
F $ \u003d CommonDialog1.FileName
RichTextBox1.SaveFile F, rtfRTF
W trakcie tej pracy uczeń musi wykonać 2 zadania.
Ćwiczenie 1. W trakcie wykonywania zadania uczniowie opanowują możliwości pracy z plikami o swobodnym dostępie dostępnymi w VB 6 ( RAF -losowydostępplik).
Dla danej tabeli bazy danych deklarowany jest typ danych użytkownika, deklarowana jest zmienna tego typu (samouczek, str. 108 - 112), kompilowane i debugowane są procedury, w których używana jest zmienna typu użytkownika.
W szczególności zaimplementowano procedury dotyczące poleceń menu. Napisz do plikuRAF i Odczyt z plikuRAF. Podobnie jak w przykładzie 7.1, tablica obiektów jest używana do edycji danych. KombinacjaPudełko i menu Edytować z pięcioma komendami podmenu: Dodaj notatkę, Usuń wpis, Wstaw rekord, Edytuj rekord, Wyczyść stół.
opcja 1.
Zadeklaruj niestandardowy typ danych dla tabeli samochodów (tabela 7.1) w bazie danych usług samochodowych.
samochód |
samochód |
awarie |
Dolna linia tabeli 7.1 pokazuje typy pól.
Opcja 2.
Zadeklaruj niestandardowy typ danych dla tabeli „Błędy” (Tabela 7.2) bazy danych „Auto Service”.
awarie | Tytuł awarie | Koszt |
Dolna linia tabeli 7.2 pokazuje typy pól.
Wykorzystując przykład z Przykładu 7.1, zorganizuj wprowadzanie i edycję danych dla przedstawionej tabeli, zapisz te dane do pliku o swobodnym dostępie i odczytaj dane z pliku o swobodnym dostępie. Podobnie jak w przykładzie 7.1, działania te powinny zostać zaimplementowane jako działanie poleceń menu pokazanych na ryc. 7.1
Zadanie 2. Podczas zadania studenci uzupełniają aplikację z przykładu 2 o nowe funkcje, które pozwalają nam traktować tę aplikację jako prosty edytor tekstu.
opcja 1 WspólnyDialog wdrażać polecenia menu Czcionka i Kolor (z podmenu Kolor postaci i Kolor tła) Za pomocą tych poleceń należy wybrać czcionkę (jej nazwę, styl i rozmiar) dla wybranego fragmentu tekstu w oknie BogatyPole tekstowe, a także wybór koloru symboli wybranego fragmentu i wybór koloru tła całego okna.
Wskazanie: Podczas ustawiania obiektu WspólnyDialog aby wybrać czcionkę za pomocą właściwości (Niestandardowe), należy ustawić właściwość Flagi na 1, 2 lub 3 (patrz instrukcja, strona 183).
Opcja 2. Korzystanie z kontroli WspólnyDialog wdrażać polecenia menu Edytować (podmenu Kopiuj, Skaleczenie i Pasta), którego celem jest biurowy lub usuwanie do schowka wybranego fragmentu tekstu, a także wstawić do wybranego miejsca w tekście zawartości schowka.
Wskazanie: Do schowka (obiekt Schowek) możesz zastosować metody SetText i GetText:
Schowek SetText RichTextBox1.SelText
RichTextBox1.SelText \u003d Schowek. Pobierz tekst
Każdy program musi zapisać dane na dysku i odczytać je z dysku. Jest to konieczne, na przykład, aby zapisać ustawienia programu, jest mało prawdopodobne, że użytkownik polubi program, który trzeba będzie ponownie skonfigurować przy następnym uruchomieniu.
W tym artykule skoncentrujemy się na pracy z plikami tekstowymi za pomocą Visual Basic.
Deskryptor pliku
Do pracy z plikami system operacyjny wykorzystuje kanały wejściowe / wyjściowe, tj. Każdy otwarty plik ma swój własny numer.
W Visual Basic jest funkcja Freefile, który zwraca bezpłatny numer kanału, którego można użyć do pracy z plikiem. Jeśli nie ma wolnych kanałów, pojawia się błąd.
FreeFile [(Rangenumber) ]
Rangenumber - parametr opcjonalny, który pozwala określić zakres wartości wolnych kanałów, jeśli Rangenumber \u003d 0 (domyślnie), następnie numer kanału jest zwracany z zakresu 1 - 255, a jeśli 1, to z zakresu 256 - 511.
MyFile \u003d FreeFile „Zmienna MyFile ma przypisany wolny kanał i teraz może być używana do pracy z plikami
Praca z plikami tekstowymi
Najczęściej musisz spotkać się z plikami tekstowymi. 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 As #Numer plikugdzie:
Wejście - otwórz plik do odczytu; jeśli plik nie istnieje, wystąpi błąd;
Wynik - do nagrywania, jeśli plik nie istnieje, zostanie utworzony, a jeśli plik istnieje, zostanie nadpisany;
Dodać - aby dodać, jeśli plik nie istnieje, to zostanie utworzony, a jeśli plik istnieje, dane zostaną dodane na końcu pliku.
Istnieją dwa sposoby odczytywania plików tekstowych: czytanie znak po znaku, służy do tego funkcja Wejście (Liczby znaków, #Numer pliku) i linia po linii, służy do tego funkcja Wejście liniowe #Numer pliku, Where_to count.
Przyciemnij mój plik
Dim s jako string „Zmienna do przechowywania odczytanych danych
MyFile \u003d FreeFile
Otwórz („C: \\ TEST.txt”) dla danych wejściowych jako #MyFile
Wejście liniowe # MyFile, S „Przeczytaj pierwszą linię z pliku TEST.TXT do zmiennej S.
Przyciemnij mój plik „Zadeklaruj zmienną dla wolnego pliku
Dim i As Integer „Zmienna dla pętli
Dim tS As String „Zmienna do odczytu linii
Dim s jako string „Zmienna do przechowywania danych końcowych
MyFile \u003d FreeFile „Przypisz bezpłatny kanał do pracy z plikami
„Otwórz plik TEST.TXT do odczytu
Dla i \u003d 1 do 5
Wejście liniowe # MyFile, tS „Czytaj plik TEST.TXT wiersz po wierszu
Jeśli i \u003d\u003e 5, to S \u003d tS „Jeśli piąty wiersz, zapamiętaj go 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
MyFile \u003d FreeFile „Przypisz bezpłatny kanał do pracy z plikami
Otwórz („C: \\ TEST.txt”) dla danych wejściowych jako #MyFile „Otwórz plik TEST.TXT do odczytu
S \u003d Wpisz $ (LOG (1), 1) „Przeczytaj cały plik do zmiennej S
Zamknij #MyFile "Zamknij plik
Istnieją operatorzy zapisujący do pliku Drukuj nrNumer pliku, Dane i Pisać #Numer pliku, Dane. Tym, co wyróżnia tych operatorów, jest to pisać zapisuje dane w cudzysłowie oraz Wydrukować bez cytatów.
Poniżej poniższy kod utworzy nowy plik TEST.TXT na dysku C: \\ i zapisze w nim dwa wiersze, pierwszy bez cudzysłowów i drugi w cudzysłowach:
Przyciemnij mój plik „Zadeklaruj zmienną dla wolnego pliku
MyFile \u003d FreeFile „Przypisz bezpłatny kanał do pracy z plikami
Otwórz („C: \\ TEST.txt”) dla danych wyjściowych jako #MyFile „Otwórz plik TEST.TXT do zapisu
Drukuj #MójFile, „Ten wiersz jest zapisany przez instrukcję Print, nie ma cudzysłowów ...”
Napisz #MyFile, „Ta linia jest zapisywana przez operatora Write, jest w cudzysłowie ...”
Zamknij #MyFile "Zamknij plik
To wszystko. Jak zapewne już zrozumiałeś, do zamknięcia pliku służy operator Blisko #Numer pliku, w którym, # Numer pliku opcjonalny
Artykuł jest nieco wilgotny, ale dla początkujących przyda się. Następnym razem porozmawiam o pracy z plikami binarnymi.