vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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

Suche Visual-Basic Code
Re: Wahlfreier Zugriff 
Autor: ModeratorDieter (Moderator)
Datum: 02.10.01 00:37

Hi DA,

klar geht das - aber:
JEDER DATENSATZ MUSS DIE GLEICHE LÄNGE HABEN

Wie willst Du sonst die Position eines bestimmten Datensatzes ermitteln?
Bzw. müsstest Du dann IMMER die gesamte Datei einlesen - Änderungen durchführen - und die gesamte Datei wieder speichern.

Weil: Stell Dir mal vor, Du willst Datensatz 5 von 10 ändern - und zwar soll anstelle von Test nun Muster gespeichert werden. Das Wort "Muster" ist 2 Zeichen länger. Also müssten sich alle darauffolgende Datensätze automatisch um 2 Zeichen nach hinten verschieben - das geht eben nicht.

Ich würde das mit einer festen Type-Struktur machen.
Der einzige Nachteil ist, dass Du von vornherein eine fixe Größe für den Datensatz festlegen musst - aber es ergeben sich daraus ja auch Vorteile:

  1. Sehr schneller Zugriff auf einen bestimmten Datensatz
  2. Leicht zu aktualisieren
  3. keine unnötigen Datenbank-Treiber oder aufwendige Prozeduren notwendig

Du kannst die Type-Struktur ja z.B. auch folgendermassen festlegen:
<code>Type myDatensatz
  myDaten As String * 1024
End Type</code>
Nun kann jeder Datensatz Daten bis zu 1024 Bytes enthalten. Einzelne Texte innerhalb des Datensatzes lassen sich ja dann leicht durch ein Semikolon oder Komma voneinander trennen:
<code>Dim Daten As myDatensatz
Dim sWords() As String
 
Daten.myDaten = "Ich;Du;Er;Sie;Es;Wir;Ihr;Sie;"
sWords = Split(Rtrim(Daten.myDaten, ";"))
 
<font color=green>' sWords(0) = "Ich"
' sWords(1) = "Du"
' sWords(2) = "Er"
' ...
' sWords(7) = "Sie"
' sWords(8) = ""</font></code>
Wichtig ist hierbei das Verwenden von RTrim(...), da ja der Datensatz IMMER eine feste Länge von 1024 Bytes hat. Würde man im obigen Beispiel das RTrim weglassen würde das Array-Element "sWords(8)" 995 Leerzeichen enthalten.

Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wahlfreier Zugriff162DA30.09.01 15:23
Re: Wahlfreier Zugriff601ModeratorDieter30.09.01 15:42
Re: Wahlfreier Zugriff64DA02.10.01 00:22
Re: Wahlfreier Zugriff693ModeratorDieter02.10.01 00:37

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