DIE KLINGEL

Es gibt diejenigen, die diese Nachrichten vor Ihnen lesen.
Abonnieren Sie, um die neuesten Artikel zu erhalten.
Email
Name
Nachname
Wie willst du The Bell lesen?
Kein Spam

8. SPEICHERN UND LESEN VON INFORMATIONEN

Damit nach Abschluss des Programms nicht alle im Speicher erstellten Daten verloren gehen, müssen Sie in der Lage sein, Informationen auf Ihrer Festplatte zu speichern. Andernfalls verschwinden alle Informationen spurlos. Sie können Daten auf verschiedene Arten speichern und lesen. Binär- und Textdateien können verwendet werden, um mit Informationen verschiedener Größen und Formate zu arbeiten. Sie können die Windows-Registrierung verwenden, um kleine Informationsmengen zu speichern. Für die komplexesten Aufgaben ist es ratsam, Datenbanken zu verwenden.

8.1. Dateien mit dem Operator öffnen "Öffnen "

Datei ist ein benannter Bereich eines externen Speichergeräts. Daten "leben" im Computerspeicher und Dateien - auf der Festplatte. Das Programm arbeitet nicht direkt mit Dateien, sondern verwendet das Betriebssystem als Vermittler.

Es gibt zwei Arten von Dateinamen: Vollständig - Zusätzlich zum Dateinamen wird auch der Speicherort der Datei auf dem externen Medium angegeben (z. B. "C: \\ Programme \\ Microsoft Visual Studio \\ VB98 \\ VB 6.EXE") und kurz - nur der Dateiname (VB 6.EXE) ). Wenn der Speicherort der Datei nicht angegeben ist, wird standardmäßig im aktuellen Ordner gesucht - dem Ordner, in dem sich Ihre Anwendung befindet. Der direkte Dateiname besteht aus zwei Teilen: dem tatsächlichen eindeutigen Dateinamen und seiner Erweiterung. Der Name selbst identifiziert die Datei, und die Erweiterung gibt normalerweise das Format der Datei oder das Programm an, von dem sie erstellt wurde.

Bevor Sie mit der Datei arbeiten können, müssen Sie das Betriebssystem fragen zeiger (deskriptor) datei... Verwenden Sie dazu die Funktion "FreeFile". Mit der Anweisung "Open" wird dieser Zeiger dann der erforderlichen Datei zugeordnet. Nur dann kann das Programm damit arbeiten. Die Syntax zum Öffnen einer Datei lautet wie folgt:

'Holen Sie sich einen kostenlosen Dateizeiger und weisen Sie ihn einer Variablen zu

FileHandle% \u003d FreeFile

'Öffne die Datei

Öffnen Sie FilePath _

Als [#] FileHandle%

... (mit einer Datei arbeiten)

Schließen Sie [#] FileHandle

· FileHandle% - eine Variable, die den Dateizeiger speichert;

· FreeFile - der Name der Funktion, die einen Dateizeiger zurückgibt;

· Open - Betreibername;

· FilePath ist der vollständige Name der Datei.

· For - ein Schlüsselwort, gefolgt von einer Beschreibung des Dateizugriffsmodus;

· Modus - Dateizugriffsmodus (siehe Tabelle 15);

Tabelle 15

Dateizugriffsmodi

Zugriffsmodi

Beschreibung

Anhängen

Fügen Sie Daten an das Ende einer vorhandenen Textdatei an. Wenn die Datei nicht vorhanden ist, wird sie erstellt

Binär

Öffnen einer Datei im Binärmodus, d.h. als eine Menge von Bytes. Wenn die Datei nicht vorhanden ist, aber erstellt wird

Eingang

Öffnen einer Datei zum Lesen im Textformat

Ausgabe

Öffnen einer Datei zum Schreiben einer Textdatei. In diesem Fall werden alle alten Informationen gelöscht. Wenn die Datei nicht vorhanden ist, aber erstellt wird

Zufällig

Öffnen einer Datei im Direktzugriffsmodus. Dieser Modus wird verwendet, um mit einfachen Datensätzen zu arbeiten. Wenn die Datei nicht vorhanden ist, aber erstellt wird

· Zugriff ist ein optionales Schlüsselwort, gefolgt von einer Beschreibung der Art des Zugriffs.

· AccessType - Beschreibung des Zugriffstyps:

· Lesen - Lesen;

· Schreiben - schreiben;

· Lesen Schreiben - Lesen und Schreiben.

Hinweis

Für die Zugriffsmodi Anhängen und Ausgabe ist nur der Zugriffstyp Schreiben verfügbar, für Eingabe nur Lesen und für Binär und Zufällig sind alle drei Zugriffstypen verfügbar.

· LockType ist ein optionaler Parameter, der bestimmt, ob andere Programme diese Datei verwenden können, während Ihr Programm daran arbeitet. Es ist normalerweise mit dem Netzwerk verbunden (siehe Tabelle 16).

Tabelle 16

Mögliche Werte für den Parameter LockType

Wert

Beschreibung

Geteilt

Alle Benutzer mit den erforderlichen Rechten haben vollen Zugriff auf die Datei.

Sperre lesen

Das Lesen von Dateien ist blockiert, das Schreiben ist jedoch zulässig

Sperre schreiben

Das Schreiben in die Datei ist blockiert, das Lesen ist jedoch zulässig

Sperre Lesen Schreiben

Sowohl Lesen als auch Schreiben sind verboten

· As ist ein Schlüsselwort, gefolgt von einem Dateizeiger.

· # Ist ein Zeichen, das angibt, dass der darauf folgende Wert ein Dateizeiger ist.

· Len ist ein optionales Schlüsselwort, gefolgt von einem Parameter, der die Länge des Datensatzes angibt.

· CharInBuffer% - Datensatzlänge für eine Datei, die im Direktzugriffsmodus (Random) geöffnet wurde.

· Schließen ist die Anweisung, die die dem angegebenen Deskriptor zugeordnete Datei schließt.

Es ist wichtig, die Datei zu schließen, nachdem Sie mit der Arbeit fertig sind. Die Anweisung "Schließen" gibt den Dateizeiger und den zugehörigen Speicherbereich frei.

Wenn Sie mit einer Datei arbeiten, nämlich beim Lesen, ist es sehr wichtig, das Ende der Datei zu bestimmen. Dies kann mit der EOF-Funktion (End Of File) ermittelt werden:

EOF (FileHandle)

· EOF - Funktionsname;

· FileHandle ist das Dateihandle, mit dem das Ende von angegeben wird.

Die Funktion gibt True zurück, wenn das Ende der Datei erreicht wurde, andernfalls False.

8.2. Lesen und Schreiben in eine Textdatei

Die Textdatei wird im Zugriffsmodus "Eingabe", "Ausgabe" oder "Anhängen" geöffnet (siehe Tabelle 15). Die Besonderheit dieses Modus ist, dass er nur mit bestimmten druckbaren Zeichen funktioniert. Es ist sinnlos, mit Service-Symbolen zu arbeiten.

Verwenden Sie zum Schreiben von Informationen zwei Operatoren "Drucken" und "Schreiben", deren Syntax wie folgt lautet:

Print # FileHandle%, VarBuffer [;]

Schreiben Sie # FileHandle%, VarBuffer [;]

· Drucken / Schreiben - Operatorschlüsselwörter.

· # FileHandle% - Zeiger auf die Datei, in die Informationen eingefügt werden.

· VarBuffer ist der Wert, der in die Datei geschrieben wird.

· ;; - Ein optionaler Parameter, der beim Schreiben in eine Textdatei verwendet wird, bedeutet, dass der nächste Wert in dieselbe Zeile und, falls nicht vorhanden, in die nächste Zeile geschrieben wird.

Verwenden Sie die Operatoren "Eingabe" und "Zeileneingabe", um Informationen aus einer Datei zu lesen. Die Syntax ist ähnlich:

Zeileneingabe # FileHandle%, VarBuffer

Geben Sie # FileHandle%, VarBuffer ein

· Line Input / Input - Operator-Schlüsselwörter.

· # FileHandle% - Dateizeiger, von dem Informationen gelesen werden.

· VarBuffer ist eine Variable, in die Informationen eingelesen werden.

Der Unterschied zwischen den Operatoren "Line Input" und "Input" besteht darin, dass der erste nur für Textdateien und der zweite nur für Textdateien vorgesehen ist. Bei Textdateien liest "Eingabe" die Daten in einer Zeile bis zum ersten Trennzeichen (bei Textdaten lautet das Trennzeichen "," (Komma) und bei numerischen Daten "" (Leerzeichen) und ",") und "Zeileneingabe" »Liest die gesamte Zeile auf einmal und ignoriert dabei alle Trennzeichen.

Hinweis

Visual Basic verfügt über keine Formatsteuerelemente für zuvor generierte Dateien. Daher kann das Zeichen "2" als entsprechende Nummer gelesen werden und umgekehrt.

8.3. Arbeiten mit Binärdateien

Dateien öffnen sich in binärformat durch den Operator "Öffnen" im Modus "Binär". Eine Besonderheit dieses Modus ist, dass sich die Arbeit mit einer Datei ausschließlich auf bestimmte Bytes konzentriert. Da Visual Basic direkt an den gewünschten Speicherort in der Datei adressieren kann, wird dieser Modus auch als - bezeichnet. direktzugriffsmodus... Ein weiteres Merkmal dieses Modus ist die Möglichkeit, Informationen gleichzeitig in verschiedene Teile der Datei zu schreiben und zu lesen, ohne sie erneut zu öffnen. Das Schreiben in eine im Binärmodus geöffnete Datei erfolgt mit der folgenden Syntax:

Setzen Sie # FileHandle% ,, NameVar

· Put - der Name des Informationsaufzeichnungsoperators.

· RecNumber - Bytenummer der Datei, in die die Informationen geschrieben werden (optional).

· NameVar ist eine Variable, deren Inhalt in die Datei geschrieben wird.

Das Lesen von Informationen aus einer Datei im Binärmodus wird mit dem folgenden Operator ausgeführt:

Holen Sie sich # FileHandle% ,, NameVar

· Get - der Name des Informationsaufzeichnungsoperators.

· FileHandle% - Dateizeiger.

· RecNumber - Datei-Byte-Nummer, aus der Informationen gelesen werden (optional).

· NameVar - Der Name der Variablen, in die die gelesenen Informationen eingefügt werden.

Da sich der Binärmodus auf Informationsbytes konzentriert, muss die Puffervariable beim Lesen aus einer Datei einen genau definierten Typ haben: entweder "Byte", dann wird der numerische Wert des Bytes gelesen oder der Zeichenwert einer festen Länge in einem Zeichen, dann wird das Byte als Zeichen ANSI gelesen , dessen Code der Größe des Bytes entspricht. Dieses Symbol kann sogar ein Kontrollsymbol sein, das bei Textdateien nicht erreicht werden kann.

Hinweis

Wenn der Parameter "RecNumber" nicht vorhanden ist, werden die Informationen im nächsten Byte der Datei nach demjenigen, mit dem sie zuvor gearbeitet haben, geschrieben oder gelesen.

8.4. Grafikmanipulation

Grafikbilder können auch in Dateien gespeichert und daraus extrahiert werden. Verwenden Sie die Funktion LoadPicture () mit der folgenden Syntax, um ein Symbol aus einer Bitmap oder Datei abzurufen und es der Picture-Eigenschaft der PictureBox- und Image-Steuerelemente zuzuweisen:

ImageCtrl.Picture \u003d LoadPicture (FilePath)

· ImageCtrl ist der Name des Bildfenster-Steuerelements, des Bildsteuerelements oder des Formulars.

· LoadPicture ist der Name der Funktion.

· FilePath ist der vollständige Name der Datei.

SavePicture ImageCtrl .Picture, FilePath

· SavePicture - Operatorname;

· ImageCtrl ist der Name des Bildfenster-Steuerelements, des Bildsteuerelements oder des Formulars.

· Bild - der Name der Objekteigenschaft, die für das Bild verantwortlich ist;

· FilePath ist der vollständig qualifizierte Dateiname und Speicherort auf der Festplatte.

8.5. Arbeiten mit Daten in der Registrierung

Sie können die Windows-Registrierung verwenden, um kleine Teile der Informationen zum Zeichenformat zu speichern. In Visual Basic gibt es vier Verfahren, mit denen Sie darauf zugreifen können. Sie sind sehr einfach zu bedienen, haben jedoch einen großen Nachteil: Sie können nur über einen bestimmten Registrierungsschlüssel auf Daten zugreifen: "MyComputer \\ HKEY _CURRENT _USER \\ Software \\ VB- und VBA-Programmeinstellungen". Um auf andere Registrierungsschlüssel zugreifen zu können, müssen Sie die Sonderfunktionen der "Win 32 API" verwenden.

Verwenden Sie die folgende Funktion, um den Wert eines Parameters von einem Visual Basic Windows-Registrierungsschlüssel abzurufen:

MyString \u003d GetSetting (VBKeyName, Abschnitt, Schlüssel [, Standard])

· MyString - eine Zeichenfolge zum Speichern des von der Funktion zurückgegebenen Werts;

· GetSetting ist der Name der Funktion.

· VBKeyName ist ein Zeichenfolgenwert, der der Name eines internen VB / VBA-Unterschlüssels ist.

· Schlüssel ist ein Zeichenfolgenwert, der den Namen des Parameters im Abschnitt darstellt.

· Standard ist ein optionales Argument, dessen Wert im Fehlerfall (Fehlen eines Parameters) zurückgegeben wird.

Die folgende Anweisung wird verwendet, um einen Wert in der Windows-Registrierung zu speichern:

SaveSetting VBKeyName, Abschnitt, Schlüssel, MyString

· SaveSetting - Operatorname.

· MyString ist eine Zeichenfolgenvariable, in die der gefundene Wert eingefügt wird.

Verwenden Sie die folgende Funktion, um ein Array aus der Registrierung abzurufen, das alle Parameterwerte eines bestimmten Unterschlüssels enthält:

MyVariant \u003d SetAllSettings (VBKeyName, Abschnitt)

· MyVariant ist ein Array von "Variant" -Werten, die von der Funktion zurückgegeben werden.

· SetAllSettings ist der Name der Funktion.

· Abschnitt - Ein Zeichenfolgenwert, der einen Abschnitt oder Unterabschnitt einer bestimmten Anwendung darstellt.

Verwenden Sie eine Anweisung mit der folgenden Syntax, um einen gesamten Parameterabschnitt zu löschen:

DeleteSetting VBKeyName, Section, Key

· DeleteSetting - Operatorname.

Testfragen zum Selbsttest

  1. Wie können einige Informationen für eine lange Zeit gespeichert werden?
  2. Was ist eine Datei?
  3. Welche Dateinamen kennen Sie?
  4. Geben Sie die Syntax für die Anweisung "Open" an. Erklären Sie den Zweck seiner Parameter.
  5. Wie können mehrere Anwendungen dieselbe Datei gleichzeitig verwenden?
  6. Wie kann festgestellt werden, dass die Informationen in der Datei erschöpft sind?
  7. Warum wird empfohlen, es nach der Arbeit mit einer Datei zu schließen?
  8. Wie sehen Sie den Unterschied zwischen Text- und Binärdateimodi?
  9. Wie werden Daten im Textdateimodus gelesen und geschrieben?
  10. Wie werden Daten im Binärdateimodus gelesen und geschrieben?
  11. Was ist der Unterschied zwischen den Operatoren "Drucken" und "Schreiben" beim Arbeiten mit Dateien?
  12. Was ist der Unterschied zwischen den Operatoren "Eingabe" und "Zeileneingabe" bei der Arbeit mit Dateien?
  13. Wie können Sie mit Grafikdaten arbeiten?
  14. Was sind die Grundprinzipien für die Arbeit mit der Windows-Registrierung?
Windows

Zielsetzung: Lernen und Verwenden von VB 6-Dateibetreibern verschiedene Typen: sequentielle (Text-) Dateien, Direktzugriffsdateien, Binärdateien. Recherchieren und Verwenden des Tools VerbreitetDialog Um Dateien zu öffnen und zu speichern, wählen Sie eine Schriftart und Farbe aus und verwenden Sie das Objekt Zwischenablagezum Speichern von Textfragmenten - am Beispiel der Erstellung eines einfachen Texteditors.

Kontrollfragen:

1. Wie können Sie eine Textdatei öffnen? So schließen Sie Text und andere datei öffnen?

2. Wie werden Daten in eine Textdatei geschrieben, die zum Schreiben geöffnet wird? Was ist der Unterschied zwischen den Anweisungen Write und Print?

3. Wie werden Daten aus einer lesbaren Textdatei gelesen? Wie unterscheiden sich die Anweisungen Input und Line Input voneinander? Mit welcher Funktion kann eine bestimmte Anzahl von Zeichen aus einer Datei gelesen werden? Wie kann ich alle Zeichen in einer Datei lesen?

4. Was ist benutzerdefinierter Typ Daten und wie dieses Konzept bei der Arbeit mit Dateien mit wahlfreiem Zugriff verwendet wird ( raf)?

5. Mit welchen Operatoren aus der Datei raf Datensätze werden in eine Datei gelesen rafneue Rekorde werden geschrieben?

6. Zu welchem \u200b\u200bZweck wird der Index bestimmt und verwendet, wenn mit einer Datei gearbeitet wird? raf?

7. Was sind die Besonderheiten der Verwendung von Binärdateien? Wie öffnen sie sich? Wie erfolgt das Lesen aus einer Binärdatei und das Schreiben in eine Binärdatei?

8. Wie kann das Steuerelement angewendet werden? VerbreitetDialog den Inhalt einer Textdatei in ein Textfeld laden? Wie kann ich den bearbeiteten Text mit demselben Steuerelement in einer Textdatei speichern?

9. Wie das Steuerelement angewendet werden kann VerbreitetDialog um Dateiinhalte herunterzuladen rTF auf dem Feld ReichTextfeld? So speichern Sie bearbeiteten Text mit demselben Steuerelement in einer Datei rTF?

10. Wie das Steuerelement angewendet werden kann VerbreitetDialog um die Werte der Schriftparameter zu ändern und die Farbe des Textes im Fenster zu ändern Textfeld (oder ein ausgewählter Text in einem Fenster ReichTextfeld)?

Beispiel 7.1. Stellen Sie sich eine Anwendung vor, die das Schreiben in eine Textdatei (und das Lesen aus einer Textdatei) von "Informationen über Mitarbeiter" demonstriert - Zeilen, die jeweils eine Identifikationsnummer, einen vollständigen Namen, ein Geburtsdatum und einen Geburtsort eines Mitarbeiters enthalten. Die Zeilen bilden eine Tabelle, die auf dem Bildschirm 4 Kombinationsfeld-Steuerelemente simuliert (Abb. 7.1) und ein Array von Comb (i) -Objekten bildet, deren Style-Eigenschaft auf 1 - SimpleCombo festgelegt ist.

Markieren Sie die zu löschende Zeile ", vbExclamation

Kamm (j) .EntfernenItem i

'Neuen Datensatz in Tabelle einfügen:

Private Sub mnuInsert_Click ()

i% \u003d Comb (0) .ListIndex

Wenn ich< 0 Then

MsgBox "Wählen Sie die Zeile aus, die davor eingefügt werden soll", vbExclamation

Comb (0) .AddItem InputBox ("Nummer eingeben"), i

Comb (1) .AddItem InputBox ("Name eingeben"), i

Comb (2) .AddItem InputBox ("Geburtsdatum eingeben."), I.

Comb (3) .AddItem InputBox ("Geben Sie den Geburtsort ein."), I.

‘Ändern Sie den Eintrag in der Tabelle:

Private Sub mnuUpdate_Click ()

i% \u003d Comb (0) .ListIndex

Wenn ich< 0 Then

MsgBox "Markieren Sie die zu ändernde Zeile", vbExclamation

Comb (0) .List (i) \u003d InputBox ("Nummer eingeben", Comb (0) .List (i))

Comb (1) .List (i) \u003d InputBox ("Geben Sie Ihren Namen ein", Comb (1) .List (i))

Kamm (2) .Liste (i) \u003d Eingabefeld ("Geben Sie Ihr Geburtsdatum ein", Kamm (2) .Liste (i))

Kamm (3) .Liste (i) \u003d Eingabefeld ("Geburtsort eingeben.", Kamm (3) .Liste (i))

‘Löschen der gesamten Tabelle:

Private Sub mnuClear_Click ()

'Auffüllen der Tabelle mit Informationen aus einer Textdatei:

Private Sub mnuLoad_Click ()

Öffnen Sie "person. Txt" für die Eingabe als # 1

Geben Sie # 1, numb, fio, bdate, bloc ein

Comb (0) .AddItem numb

Kamm (1) .AddItem fio

Comb (2) .AddItem bdate

Kamm (3) .AddItem-Block

‘Tabelleninformationen in eine Textdatei schreiben:

Private Sub mnuSave_Click ()

N% \u003d Comb (0) .ListCount

Öffnen Sie "person. Txt" für die Ausgabe als # 1

Für i \u003d 0 bis N - 1

numb \u003d Val (Comb (0) .List (i))

fio \u003d Comb (1) .List (i)

bdate \u003d CDate (Comb (2) .List (i))

block \u003d Kamm (3). Liste (i)

Schreiben Sie # 1, taub, fio, bdate, Block

‘Herunterfahren der Anwendung:

Private Sub mnuExit_Click ()

Beispiel 7.2 ... Stellen Sie sich eine Anwendung vor, die die Verwendung von Steuerelementen demonstriert VerbreitetDialog Öffnen und Speichern einer Datei, Auswählen einer Schriftart und Farbe sowie Bearbeiten von Text.

Datei formatieren TXT wird in das Textfeld (linkes Feld in Abbildung 7.2) und die Formatdatei geladen RTF - auf dem Feld ReichTextfeld (rechter Rand in Abb. 7.2).

objekt

Klasse

objekt

Eigentum

objekt

Eigentumswert

„Panels von General

dialog "

Registerkarte Öffnen / Speichern unter

Registerkarte "Schrift"

Registerkarte "Farbe"

Die Tabelle zeigt nicht die Eigenschaften der Menübefehle Schriftart, Farbe und Bearbeiten... Unten finden Sie den Prozedurcode auch nur für Menübefehle Datei (Öffnen, speichern und speichernWie). Das Schreiben von Code für andere Menübefehle ist das Thema der zweiten Aufgabe dieser Arbeit.

Private Sub mnuOpen_Click ()

CommonDialog1.ShowOpen

F $ \u003d CommonDialog1.FileName

Wenn rechts (F, 3) \u003d "rtf" Dann

RichTextBox1.LoadFile F.

ElseIf Right (F, 3) \u003d "txt" Dann

Öffnen Sie F für Eingabe als # 1

S $ \u003d Eingabe (N, 1)

Private Sub mnuSave_Click ()

CommonDialog1.ShowSave

F $ \u003d CommonDialog1.FileName

Private Sub mnuSaveAs_Click ()

CommonDialog1.ShowSave

F $ \u003d CommonDialog1.FileName

RichTextBox1.SaveFile F, rtfRTF

Während dieser Arbeit muss der Student 2 Aufgaben erledigen.

Übung 1. Während des Abschlusses der Aufgabe beherrschen die Schüler die Fähigkeiten der Arbeit mit Dateien mit wahlfreiem Zugriff ( RAF -zufälligzugriffdatei).

Deklarieren Sie für eine bestimmte Datenbanktabelle einen benutzerdefinierten Datentyp, deklarieren Sie eine Variable dieses Typs (Lernprogramm, S. 108-112), erstellen und debuggen Sie Prozeduren, die eine benutzerdefinierte Typvariable verwenden.

Insbesondere werden Prozeduren für Menübefehle implementiert In Datei schreibenRAF und Aus Datei lesenRAF... Wie in Beispiel 7.1 wird ein Array von Objekten zum Bearbeiten von Daten verwendet. ComboBox und Menü Bearbeiten mit fünf Untermenübefehlen: Füg ein Notiz hinzu, Eintrag löschen, Datensatz einfügen, Datensatz ändern, Tabelle löschen.

Variante 1.

Deklarieren Sie einen benutzerdefinierten Datentyp für die Tabelle "Auto" (Tabelle 7.1) der Datenbank "Autoservice".

wagen

wagen

fehlfunktionen

In der unteren Zeile von Tabelle 7.1 sind die Feldtypen aufgeführt.

Option 2.

Deklarieren Sie einen benutzerdefinierten Datentyp für die Tabelle "Fehler" (Tabelle 7.2) der Datenbank "Autoservice".

fehlfunktionen

Name

fehlfunktionen

Die Kosten

Die unterste Zeile von Tabelle 7.2 enthält Feldtypen.

Organisieren Sie anhand der Beispielanwendung 7.1 als Beispiel die Dateneingabe und -bearbeitung für die dargestellte Tabelle, schreiben Sie diese Daten in eine Direktzugriffsdatei und lesen Sie Daten aus einer Direktzugriffsdatei. Wie in Beispiel 7.1 werden diese Aktionen als Operation der in Abb. 1 gezeigten Menübefehle implementiert. 7.1.

Aufgabe 2. Im Verlauf der Aufgabe ergänzen die Schüler die Anwendung von Beispiel 2 um neue Funktionen, mit denen wir diese Anwendung als einfachen Texteditor betrachten können.

Variante 1 VerbreitetDialog Menübefehle implementieren Schriftart und Farbe (mit Untermenü Zeichenfarbe und Hintergrundfarbe). Mit Hilfe dieser Befehle sollte die Auswahl der Schriftart (Name, Stil und Größe) für das ausgewählte Textfragment im Fenster erfolgen ReichTextfeldund auch die Wahl der Farbe der Symbole der Auswahl und die Wahl der Hintergrundfarbe des gesamten Fensters.

Hinweis: Beim Einrichten eines Objekts VerbreitetDialog Stellen Sie zum Auswählen einer Schriftart mithilfe der Eigenschaft (Benutzerdefiniert) sicher, dass der Wert der Flags-Eigenschaft auf 1, 2 oder 3 festgelegt ist (siehe Lernprogramm, S. 183).

Option 2... Verwenden der Steuerung VerbreitetDialog Menübefehle implementieren Bearbeiten (Untermenü Kopieren, Schnitt und Einfügen), dessen Zweck ist kopieren oder streichung in die Zwischenablage des ausgewählten Textfragments und einfügen an die markierte Stelle im Text des Inhalts der Zwischenablage.

Hinweis: In die Zwischenablage (Objekt Zwischenablage) Sie können die Methoden SetText und GetText verwenden:

Zwischenablage. SetText RichTextBox1.SelText

RichTextBox1.SelText \u003d Zwischenablage. GetText

Jedes Programm muss Daten auf der Festplatte speichern und von der Festplatte lesen. Dies ist beispielsweise erforderlich, um die Programmeinstellungen zu speichern. Es ist unwahrscheinlich, dass der Benutzer das Programm mag, das beim nächsten Start erneut konfiguriert werden muss.

Dieser Artikel konzentriert sich auf die Arbeit mit Textdateien visuell Basic.

Dateideskriptor

Mit Dateien arbeiten operationssystem verwendet E / A-Kanäle, d.h. Jede geöffnete Datei hat eine eigene Nummer.

Visual Basic hat eine Funktion FreeFile, gibt die Nummer eines freien Kanals zurück, der für die Arbeit mit der Datei verwendet werden kann. Wenn keine freien Kanäle vorhanden sind, tritt ein Fehler auf.

FreeFile [(RangeNumber) ]

RangeNumber - Ein optionaler Parameter, mit dem Sie den Wertebereich freier Kanäle bestimmen können, wenn RangeNumber \u003d 0 (Standard), dann wird die Kanalnummer aus dem Bereich von 1 bis 255 zurückgegeben, und wenn 1, dann aus dem Bereich von 256 bis 511.

MyFile \u003d FreeFile "Der Variablen MyFile wurde ein freier Kanal zugewiesen und kann jetzt zum Arbeiten mit Dateien verwendet werden

Arbeiten mit Textdateien

Am häufigsten stoßen Sie auf Textdateien. Textdateien bestehen aus dem ASCII-Zeichensatz (American Standard Code for Information Interchange). standardcode zum Informationsaustausch).

Vor dem Schreiben / Lesen von Daten muss die Datei geöffnet werden. Dies erfolgt über den Operator Öffnen (Dateiname) Für As #Dateinummerwo:

Eingang - Öffnen Sie die Datei zum Lesen. Wenn die Datei nicht vorhanden ist, tritt ein Fehler auf.

Ausgabe - Wenn die Datei zum Schreiben nicht vorhanden ist, wird sie erstellt, und wenn die Datei vorhanden ist, wird sie überschrieben.

Anhängen - Wenn die Datei nicht vorhanden ist, wird sie erstellt. Wenn die Datei vorhanden ist, werden die Daten am Ende der Datei hinzugefügt.

lesen textdateien Dies kann auf zwei Arten erfolgen: Zeichen für Zeichen lesen. Verwenden Sie dazu die Funktion Eingabe (Anzahl der zu lesenden Zeichen, #Dateinummer) und Zeile für Zeile wird hierfür die Funktion verwendet Line Input #Dateinummer, Where_to_read.

Dim MyFile

Dim S As String "Variable zum Speichern gelesener Daten

MyFile \u003d FreeFile

Öffnen Sie ("C: \\ TEST.txt") für die Eingabe als #MyFile

Line Input #MyFile, S. "Lesen der ersten Zeile aus der TEST.TXT-Datei in die S-Variable

Dim MyFile "Deklarieren Sie eine Variable für eine freie Datei

Dim i As Integer "Variable für die Schleife

Dim tS As String "Variable zum Lesen von Zeilen

Dim S As String "Variable zum Speichern der endgültigen Daten

MyFile \u003d FreeFile "Zuweisen eines freien Kanals für die Arbeit mit Dateien

"Öffnen der TEST.TXT-Datei zum Lesen

Für i \u003d 1 bis 5

Leitungseingang #MyFile, tS "Lesen der TEST.TXT-Datei Zeile für Zeile

Wenn i \u003d\u003e 5, dann ist S \u003d tS "Wenn die fünfte Zeile, dann speichern wir sie in der Variablen S.

Weiter i

#MyFile schließen "Schließen Sie die Datei

Dim MyFile "Deklariert eine Variable für eine freie Datei

Dim S As String "Variable zum Speichern der gelesenen Daten

MyFile \u003d FreeFile "Zuweisen eines freien Kanals für die Arbeit mit Dateien

Öffnen Sie ("C: \\ TEST.txt") für die Eingabe als #MyFile "Öffnen der TEST.TXT-Datei zum Lesen

S \u003d Eingabe $ (LOG (1), 1) "Lesen der gesamten Datei in Variable S.

#MyFile schließen "Schließen Sie die Datei

Es gibt Operatoren zum Schreiben in eine Datei Drucken #Dateinummer, Daten und Schreiben #Dateinummer, Daten... Der einzige Unterschied zwischen diesen Operatoren besteht darin, dass Schreiben schreibt die Daten in Anführungszeichen und Drucken ohne Anführungszeichen.

Der folgende Code erstellt eine neue TEST.TXT-Datei auf dem Laufwerk C: \\ und schreibt zwei Zeilen hinein, die erste ohne Anführungszeichen und die zweite in Anführungszeichen:

Dim MyFile "Deklarieren Sie eine Variable für eine freie Datei

MyFile \u003d FreeFile "Zuweisen eines freien Kanals für die Arbeit mit Dateien

Öffnen Sie ("C: \\ TEST.txt") für die Ausgabe als #MyFile "Öffnen Sie die TEST.TXT-Datei zur Aufnahme

Print #MyFile, "Diese Zeichenfolge wird vom Operator" Drucken "geschrieben, ohne Anführungszeichen ..."

Schreiben Sie #MyFile, "Diese Zeile wurde von der Write-Anweisung geschrieben, sie steht in Anführungszeichen ..."

#MyFile schließen "Schließen Sie die Datei

Das ist alles. Wie Sie wahrscheinlich bereits verstanden haben, wird der Operator zum Schließen der Datei verwendet Schließen #Dateinummer, dabei, # Dateinummer es ist optional.

Der Artikel ist etwas grob, aber für unerfahrene Programmierer nützlich. Nächstes Mal werde ich über die Arbeit mit Binärdateien sprechen.

DIE KLINGEL

Es gibt diejenigen, die diese Nachrichten vor Ihnen lesen.
Abonnieren Sie, um die neuesten Artikel zu erhalten.
Email
Name
Nachname
Wie willst du The Bell lesen?
Kein Spam