vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Controls · MSFlexGrid/DataGrid   |   VB-Versionen: VB4, VB5, VB618.02.02
MSFlexGrid-Inhalt speichern

Eine Prozedur zum Speichern des Inhaltes eines FlexGrid-Controls - mit oder ohne Zeilen-/Spaltenbezeichner.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  15.640 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Mit nachfolgender Prozedur lässt sich der Inhalt eines FlexGrid-Controls in eine Datei speichern. Als Trennzeichen der einzelnen Spalteninhalte wird das Tabulator-Zeichen verwendet. Jede Zeile im Grid wird als solche auch in der Textdatei "abgelegt". Optional kann angegeben werden, ob die FixedRows und FixedCols - Zellen ebenfalls gespeichert werden, oder nicht.

' Inhalt eines FlexGrid-Controls speichern
' sFilename: Dateiname inkl. vollständigen Pfad
' SaveFixesRowCols: True, wenn Texte der FixedRows
'   und FixedCols-Zellen gespeichert werden soll
' ===================================================
Public Sub FlexGrid_SaveToFile(Grid As MSFlexGrid, _
  ByVal sFilename As String, _
  Optional ByVal SaveFixedRowCols As Boolean = True)
 
  Dim F As Integer
  Dim lRow As Long
  Dim lCol As Long
  Dim lRowStart As Long
  Dim lColStart As Long
 
  ' Datei für das Speichern der Daten öffnen
  F = FreeFile
  Open sFilename For Output As #F
 
  With Grid
    ' Startzeile / Spalte
    lRowStart = IIf(SaveFixedRowCols, 0, .FixedRows)
    lColStart = IIf(SaveFixedRowCols, 0, .FixedCols)
 
    For lRow = lRowStart To .Rows - 1
      ' Spalten speichern - Trennzeichen "vbTab"
      For lCol = lColStart To .Cols - 1
        Print #F, .TextMatrix(lRow, lCol);
        If lCol < .Cols-1 Then Print #F, vbTab;
      Next lCol
      Print #F, ""
    Next lRow
  End With
 
  ' Datei schliessen
  Close #F
End Sub

Aufruf:

Dim sDataFile As String
 
sDataFile = App.Path & "\Grid.dat"
FlexGrid_SaveToFile MSFlexGrid1, sDataFile, True

Und das Gegenstück zum Speichern...
Wie man den Inhalt wieder einlesen kann, zeigt Ihnen folgende Proezdur:

' Inhalt eines FlexGrid-Controls einlesen
' sFilename: Dateiname inkl. vollständigen Pfad
' SaveFixesRowCols: True, wenn Texte der FixedRows
'   und FixedCols-Zellen eingelesen werden soll
' ===================================================
Private Sub FlexGrid_LoadFromFile(Grid As MSFlexGrid, _
  ByVal sFilename As String, _
  Optional ByVal SaveFixedRowCols As Boolean = True)
 
  Dim F As Integer
  Dim lRow As Long
  Dim lCol As Long
  Dim lRowStart As Long
  Dim lColStart As Long
  Dim sLine As String
  Dim sCols() As String
 
  ' Existiert die Datei überhaupt?
  If Dir(sFilename, vbNormal) <> "" Then
    ' Datei für das Lesen der Daten öffnen
    F = FreeFile
    Open sFilename For Input As #F
 
    With Grid
      ' Startzeile / Spalte
      lRowStart = IIf(SaveFixedRowCols, 0, .FixedRows)
      lColStart = IIf(SaveFixedRowCols, 0, .FixedCols)
 
      ' Textdatei zeilenweise einlesen
      lRow = lRowStart
      While Not EOF(F)
        Line Input #F, sLine
        If sLine <> "" Then
          ' Zeile in einzelne Spalten zerlegen
          sCols = Split(sLine, vbTab)
          If UBound(sCols) < .Cols Then _
            ReDim Preserve sCols(.Cols)
 
          ' Spalteninhalt ins Grid übertragen
          For lCol = lColStart To .Cols - 1
            .TextMatrix(lRow, lCol) = sCols(lCol)
          Next lCol
 
          lRow = lRow + 1
        End If
      Wend
    End With
 
    ' Datei schliessen
    Close #F
  End If
End Sub

Aufruf:

Dim sDataFile As String
 
sDataFile = App.Path & "\Grid.dat"
FlexGrid_LoadFromFile MSFlexGrid1, sDataFile, True

Dieser Tipp wurde bereits 15.640 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel