Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Globales Class Array. Definieren und Verwenden

Frage Entwicklung VB for Applications

Mitglied: x93000

x93000 (Level 1) - Jetzt verbinden

28.11.2007, aktualisiert 01.12.2007, 6316 Aufrufe, 6 Kommentare

Zweck: Datensätze in verschiedenen Forms parat haben

Hallo,

es geht mir darum ein Array zu definieren in dem ich ein paar Datensätze aufnehmen kann und diese
FORMÜBERGREIFEND zu verwenden.

So solls werden:

Personen(0).Name = "Huber"
Personen(0).Nachname = "Müller"

Personen(1).Name = "Heinz"
Personen(1).Nachname = "Dietrich"

etc.

Bisheriger Lösungsversuch:

Module Module1
Public Class klasse1

Public Name As String
Public Nachname As String

End Class

Public Personen = New klasse1()

End Module

Die Definition wird angenommen. Allerding wenn ich Versuche in einem Form Window einen Wert zuzuweisen kommt ein Fehler, sobald
das Programm läuft.

Personen(0).Name = "Heinz"

Fehler: Wenn ein Member in der Klassenbibiothek gelöscht wurde, müssen Sie alle Asymbleys mit Verweisen auf diese Bibiothek
neu Kompilieren. Wenn Sie auf Member einer spät gebundenen Objektvariable zugreifen, müssen Sie sicherstellen, dass diese Public deklariert ist.

Wie und wo definiere ich es? Und wie greife ich in Form1 bzw. Form2 etc. darauf zu?

Ich hätte das ganze gern als Globale Variablen (nicht übergeben).
Wie heißen die Code Zeilen? Wo müssen diese hin?
Mitglied: misterdemeanor
29.11.2007 um 15:41 Uhr
Hallo "x93000",

ich nehme mal an Du "programmierst" in VB6...richtig? Nach Der Fehlermeldung zu gehen ist das aber VB.Net bzw. VB 2005. Wenn das der Fall ist kann ich Dir allerhöchstens ein, zwei Buchempfehlungen zu grunglegenden Programmierkonzepten der OOP geben...lass es uns wissen.

Naja, ansonsten schau mal in der "Hilfe" Deiner "Programmiersprache" nach Arrays, insbesondere wenn es um dynamische Arrays geht. Desweiteren noch wie man mit "Klassen" bzw. Objekten umgeht. Da sei Dir im Bereich VB die Anweisung Set ans Herz gelegt.

Nichts für ungut...wenn Du nicht weiterkommst stehe ich Dir gerne zur Seite.

BG, Felix
Bitte warten ..
Mitglied: x93000
29.11.2007 um 19:07 Uhr
Hallo Felix,

Ja, ich verwende VB 2005 Express Edition.

Ich fand bei meiner Internet Rechere irgendwo ein:

Public Objekte
Set Objekte = New objektdefinition()

Allerdings nimmt er die Syntax nicht (Set) in dem Modul.


Ich brauche nach wie vor die Syntax wie die Deklaration und Verwendung funktioniert. Mit meinem Beispiel vom vorherigen Post funktioniert zumindest die Deklaration.
Bitte warten ..
Mitglied: misterdemeanor
29.11.2007 um 22:03 Uhr
Hi,

also was Du da in bzw. mit vb 2005 anstellen willst ist absolut, verzeihe, lächerlich. Selbst in VB6 wäre Dein Vorhaben schlecht, angefangen vom Gedanken etwas /global/ zu verwenden, bishin das dies /global/ verwendete Daten sind.

Besser jemand sagt es Dir direkt als das Du Dir niemals ein Buch vornimmst!

Jetzt habe ich angefangen Dir zu antworten, aber im mom ehrlich keine Lust Ressourcen rauszusuchen. Morgen werde ich Dir gerne einige Buchempfehlungen aussprechen, ggfls. einige Links zu Ressourcen die kostenlos im Internet frei erreichbar sind. Wenn Du nur etwas googlest findest Du unter Umständen sogar bessere.

Niedermachen will ich Dich wirklich nicht! Es ist gut das Du Dich für das programmieren interessierst. Aber wenn Dir eine /relativ/ komplexe IDE wie z.B. VB 2005 Express zu Verfügung gestellt wird, dann solltest Du Dich auch damit auseinandersetz.en. Zumindest minimal bevor Du in einem angesehen Forum wie administrator.de postest.

Wirklich nichts für Ungut, ich hoffe Du und jeder Leser nimmt es sich zu Herzen.

BG, Felix
Bitte warten ..
Mitglied: x93000
30.11.2007 um 10:39 Uhr
Hallo,

du findest es sei kein guter Programmierstil, glaub ich, schließlich kennst du dich mit vb aus. Persönlich nehme ich es nicht.

Dennoch, für meine Zwecke (recht kleine Programme) ist für mich das praktischeste das Klassen Array einfach Global zu machen.

Ich durchsuchte google für 6 Stunden und fragte einen Lehrer, leider ohne Erfolg.

Wenn dies also jemand liest: Brauche, wie im ersten Post geschrieben die Syntax, ein Array mit mehrere Datensätzen Global zu erstellen. Damit ich in allen Form Windows darauf zugreifen kann.
Bitte warten ..
Mitglied: misterdemeanor
30.11.2007 um 15:20 Uhr
Hi x93000,

Arrays können in VB 2005 natürlich noch genutzt werden aber das Framework (und auch VB 2005 als Sprache selbst) stellt Dir berfügung. Stichwort Collections.

Damit Du weiterkommst hier mal solch eine Alternative:

Anstelle von

Public Personen = New klasse1()

schreibst Du

Public Personen As New List(Of Person)

und wenn Du eine neue Person erstellst machst Du es folgendermaßen:


Dim p As New Person
p.Name = "Alex"
p.Nachname = "Tester"
Personen.Add(p)


OOP technisch würde man da völlig anders Vorgehen, damit willst Du Dich aber wohl nicht auseinandersetzen.

Schönes WE

Felix
Bitte warten ..
Mitglied: x93000
01.12.2007 um 19:22 Uhr
Deinen Lösung funktioniert. Allerdings weis ich noch nicht wie ich mir dann einzelne Personen gezielt rausgreif, bzw. lösche.

Zwischenzeitlich warf ich ein Blick in ein Buch eines Kollegen und habe mich für folgende schlichte Lösung entschieden:

(Im Modul)
Public Datensatz (20,1) As String

Im FormWindow
Datensatz(0,0) = "Alex"
Datensatz(0,1) = "Müller"

Datensatz (1,0) = "Hans"
Datensatz(1,1) = "Meier"
etc.

Danke für die Antworten und ebenfalls schönes Wochenende
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
Powershell Import Computer aus csv in array und Befehl abarbeiten (4)

Frage von Robbi666 zum Thema Batch & Shell ...

SAN, NAS, DAS
CLI Cable HP 2012fc sc modular smart array oder serielles Kabel (8)

Frage von Dominik-EUNES zum Thema SAN, NAS, DAS ...

Windows Server
Citrix Laufwerk ohne Sitzung verwenden? (2)

Frage von dodo-r zum Thema Windows Server ...

Server-Hardware
Hp smart array e200i accu austausch (8)

Frage von hansleo zum Thema Server-Hardware ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (21)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...