ungluecklicher Array

TobiTo

Mitglied
Hi,

ich habe ein kleines Prg geschrieben, was aus mehreren Dateien Daten einliesst. Diese werden ueberprueft,
ob sie zusammenhaengende Zahlen sind und sollen dann in das Double-Array

zahl(DateiNr,ZeilenNr,ZahlNr,FilterNr)

gelesen werden.
Um kein riesen Feld zu erzeugen waere eine Dimensionierung passend zu
den gefundenen Zahlen optimal, mit Redim kann aber nur die letzte "Ebene" des Arrays -> hier FilterNr <- veraendert werden.

Hat jemand eine Idee, auf eine elegantere Art die Daten in Variablen abzulegen?
Der Bezug der Zahl und ihrer Herkunft darf aber dabei nicht verloren gehen...

:rolleyes:
 
Verwende doch einfach eine Struktur:
Code:
Public Type MyObject
  DateiNr as Integer
  ZeilenNr as Integer
  ZahlNr as Integer
  FilterNr as Integer
End Type
Dies geht aber in VB (soweit ich weiß) nur in einem eigenen Modul, also eigene Datei.
Dann instanzierst du dir eine Variable von deinem Object:
Code:
Dim MyZahl as MyObject
MyZahl.DateiNr=1
MyZahl.ZeilenNr=1
MyZahl.ZahlNr=1
MyZahl.FilterNr=1
usw...
Du kannst dir dann auch ein Array erstellen vom Type MayObject.

Gruss Homer
 
Hi Homer,

vielen Dank für den Tip. Habe dann doch noch eine ganze Zeit gebraucht, um mich in die Objektstrukturen und deren Füllung über Funktionen einzuarbeiten. Das erstellte Objekt sieht jetzt so aus:

code:
------------------------------------
Private Type ZeilenObject
ZahlenWert() As Double
ZahlNr As Integer
FilterNr As Integer
End Type

Private Type ZahlObject
DateiNr As Integer
Zeile() As ZeilenObject
End Type

Private Zahl() As ZahlObject
------------------------------------

Damit kann nun aus mehreren Dateien Zeilenweise Zahlen eingelesen und in das Objekt gespeichert werden

Gruss TobiTo
 
... und das tolle Objekt jetzt public???

Noch eine Frage dazu...

...habe das Problem auf dieses Objekt von einem anderen Formular aus zuzugreifen.

Klar, ist ja auch ein Array (Zahl()) und damit nur private deklarierbar. Aber ich muss trotzdem den Inhalt haben...

Das Problem muss so simpel zu lösen sein, es steht weder in der Hilfe noch in 2 VB-Büchern. Vielleicht bekomme ich hier eine Antwort.

Gruss TobiTo
 

Neue Beiträge

Zurück