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... ' 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
Anzeige
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. |
Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |