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-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Variablenanzahl von Datei ändern 
Autor: Danzi
Datum: 17.04.08 13:36

Hallo,

ich weiß nicht, warum Dich keiner verstehen will. Du arbeitest nicht mit sequenziellen Textdateien und nicht mit DB-Providern sondern mit Random-Dateien und UDTs.

Also so:
'erst mal der UDT
Private Type MeinDatenSatzTyp
Nachname as String * 20
Straße as String * 20
Einkommen as Double
End Type
 
Sub Neu()
Dim MeinDatenSatz as MeinDatenSatzTyp
Dim FF1 as Integer
FF1 = FreeFile
Open "C:\MeineDatei" For Random As FF1 Len = Len(MeinDatenSatz)
MeinDatenSatz.Nachname = "Mustermann"
MeinDatenSatz.Straße = "Musterstraße"
MeinDatenSatz.Einkommen = 1000
Put FF1, 1, MeinDatenSatz
Close FF1
End Sub
Um ein weiteres Feld hinzuzufügen, mußt Du in der neuen Version eine Daten-Migrations-Routine (Datenanpassung) schreiben. Dazu änderst Du den bisherigen UDT aber nicht, sondern fügst einen weiteren hinzu. Dann liest Du alle mit dem alten UDT ein, übergibst den an den neuen UDT und speicherst ihn in einer anderen Datei.

Also so:
'alter UDT bleibt erhalten
Private Type MeinDatenSatzTypAlt
Nachname as String * 20
Straße as String * 20
Einkommen as Double
End Type
 
'neuer (erweiterter) UDT
Private Type MeinDatenSatzTyp
Nachname as String * 20
Straße as String * 20
Einkommen as Double
Verheiratet as Boolean
End Type
 
Sub Umwandlung()
'Diese Routine wird nur ein einziges mal ausgeführt.
Dim MeinDatenSatzAlt as MeinDatenSatzTypAlt
Dim MeinDatenSatz as MeinDatenSatzTyp
Dim FF1 as Integer
Dim FF2 as Integer
Dim i as Long
 
FF1 = FreeFile
Open "C:\MeineDatei" For Random As FF1 Len = Len(MeinDatenSatzAlt)
FF2 = FreeFile
Open "C:\MeineDateiNeu" For Random As FF2 Len = Len(MeinDatenSatz)
For i = 1 To LOF(FF1) / Len(MeinDatenSatzAlt)
Get FF1, i, MeinDatenSatzAlt
MeinDatenSatz.Nachname = MeinDatenSatzAlt.Nachname
MeinDatenSatz.Straße = MeinDatenSatzAlt.Straße
MeinDatenSatz.Einkommen = MeinDatenSatzAlt.Einkommen
Put FF2, i, MeinDatenSatz
Next
Close FF1, FF2
Kill "C:\MeineDatei"
'hier muß "C:\MeineDateiNeu" in "C:\MeineDatei" umbenannt werden
'den Befehl habe ich nicht parat - muß es aber geben.
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Variablenanzahl von Datei ändern1.212nobi13.04.08 14:01
Re: Variablenanzahl von Datei ändern771mst54713.04.08 14:18
Re: Variablenanzahl von Datei ändern795IRCox13.04.08 17:51
Re: Variablenanzahl von Datei ändern782nobi13.04.08 19:04
Re: Variablenanzahl von Datei ändern918IRCox13.04.08 20:23
Re: Variablenanzahl von Datei ändern784nobi13.04.08 21:06
Re: Variablenanzahl von Datei ändern818IRCox13.04.08 22:07
Re: Variablenanzahl von Datei ändern819nobi14.04.08 20:14
Re: Variablenanzahl von Datei ändern743VBStein14.04.08 20:50
Re: Variablenanzahl von Datei ändern745Danzi17.04.08 13:36
Re: Variablenanzahl von Datei ändern714nobi18.04.08 19:12

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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