Suchen-Dialog im Array mit Dateihandling

Suchen-Dialog im Array mit Dateihandling: Input, Output, Append, FreeFile, KanalNummer, Close
Const max% = 10 Array mit zehn Feldern deklarieren.
Private Type TPerson Nutzerdefinierter Datentyp.
intnr As Integer Zähler (Kundennummer).
strname As String Nachname.
strvorname As String Vorname.
strtel As String Telefonnummer.
strbild As String Bild, Photo...
End Type
Private liste(1 To max) As TPerson Definieren der Strukturvariablen.
Private pos%
Private Sub SpeichernInDatei_Click() Speichern in Datei.
Dim knr%, index%, raus$
knr = FreeFile Die "FreeFile"-Funktion ermittelt die nächste freie
index = 1 Kanalnummer (File number).
dialog1.ShowOpen CommonDialog aufrufen.
Open dialog1.FileName For Output As #knr TextDatei wird für sequentiellen Schreibzugriff geöffnet.
For index = 1 To max
raus = liste(index).intnr & "," & liste(index).strbild & "," & liste(index).strname _
& "," & liste(index).strtel & "," & liste(index).strvorname
Call speichern
Print #knr, raus Der String wird in eine Textdatei geschrieben.
Next index
Close #knr Textdatei schließen. Die Kanalnummer wird freigegeben.
End Sub
Private Sub cmdLesenAusDatei_Click() Lesen aus Datei.
Dim knr%, index%
Dim t1$, t2$, t3$, t4$, t5$
knr = FreeFile Die "FreeFile"-Funktion ermittelt die nächste freie
index = 1 Kanalnummer (File number).
dialog1.ShowOpen CommonDialog aufrufen.
Open dialog1.FileName For Input As #knr TextDatei wird für sequentiellen Lesezugriff geöffnet.
While Not EOF(knr)
Input #knr, t1, t2, t3, t4, t5 Zeichenketten werden gelesen.
liste(index).intnr = t1 Daten in den Hauptspeicher lesen; anschließend werden
liste(index).strbild = t2 die Werte in die ComboBox geschrieben.
liste(index).strname = t3
liste(index).strtel = t4
liste(index).strvorname = t5
cboName.AddItem liste(index).strname ComboBox wird geladen.
index = index + 1
Wend
Close #knr Textdatei schließen. Die Kanalnummer wird freigegeben.
Call anzeigen
End Sub
Private Sub Form_Load()
pos = 1
imgfoto.Stretch = True
With frmadr
.Height = 3000
.Width = 3700
End With
End Sub
Private Sub anzeigen() Array füllt Werte in die Textboxen.
cboName = liste(pos).strname
txtnr = Str$(pos)
txtvorname = liste(pos).strvorname
txttel = liste(pos).strtel
imgfoto.Picture = LoadPicture(liste(pos).strbild)
End Sub
Private Sub speichern() Speichert Änderungen ins Array.
liste(pos).intnr = Val(txtnr.Text)
liste(pos).strname = cboName.Text
liste(pos).strvorname = txtvorname.Text
liste(pos).strtel = txttel.Text
End Sub
Private Sub suchen(ByVal strsu As String) Prozedur "suchen".
Dim index As Integer
Dim counter As Integer
Dim gefunden(10) As TPerson
Dim straus As String
counter = 0
index = 1
Call speichern
While index <= max
If LCase(strsu) Like LCase(liste(index).strname) Or _ LCase wandelt alle Buchstaben in Kleinbuchstaben um.
LCase(strsu) Like LCase(liste(index).strvorname) Then
counter = counter + 1
gefunden(counter) = liste(index)
index = index + 1
End If
index = index + 1
Wend
If counter <> 0 Then
For index = 1 To counter Ausgabe der gefundenen Strings in einer MsgBox.
straus = straus & gefunden(index).strname & " " & _
gefunden(index).strvorname & " " & _
gefunden(index).strtel & " " & vbCrLf
Next index
MsgBox straus, vbInformation, "Suche"
Else
MsgBox "Der Name wurde nicht gefunden", vbInformation, "Suche"
End If
End Sub
Private Sub imgfoto_Click()
dialog1.ShowOpen
imgfoto.Picture = LoadPicture(dialog1.FileName)
liste(pos).strbild = dialog1.FileName
Call speichern
End Sub
Private Sub cboName_Click()
pos = cboName.ListIndex + 1
Call anzeigen
End Sub
Private Sub cmdErweitert_Click() Formular vergrößern (mit Bild und CommandButtons
With frmadr zum Öffnen einer Datei).
.Height = 4500
.Width = 7000
End With
End Sub
Private Sub cmdRueck_Click() Zurückblättern im Array.
If pos < max Then
Call speichern
pos = pos + 1
Call anzeigen
Else
MsgBox "Sie befinden sich am Ende", vbInformation, "Info"
End If
End Sub
Private Sub cmdSuch_Click() Suchprogramm starten.
Dim strvergleich As String
strvergleich = txtsuch.Text Text in TextBox.
Call suchen(strvergleich) Prozedur "suchen" aufrufen.
End Sub
Private Sub cmdVor_Click() Vorblättern im Array.
If pos > 1 Then
Call speichern
pos = pos - 1
Call anzeigen
Else
MsgBox "Sie befinden sich am Anfang", vbInformation, "Info"
End If
End Sub
Private Sub cmdWeniger_Click() Formular verkleinern (ohne Bild).
With frmadr
.Height = 3000
.Width = 3700
End With
End Sub
.

Mehr Tipps: Excel-Workbook öffnen, Zelleinträge lesen und Worksheet direkt bearbeiten

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt