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
.

 Ranking-Hits zurück Sitemap
Designed by www.wbrnet.info