Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: x93000

x93000 (Level 1) - Jetzt verbinden

28.11.2007, aktualisiert 01.12.2007, 6357 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 ..
Ähnliche Inhalte
Netzwerkmanagement
Netzwerkumstellung Class C Netz
gelöst Frage von ProjectoNetzwerkmanagement13 Kommentare

Hallo liebe Forenmitglieder, ich verzweifel an der Frage, die sich mir seit zwei Wochen stellt. Es geht um ein ...

Batch & Shell

Leere Array-Werte aus einem Array entfernen

gelöst Frage von ToniHoBatch & Shell3 Kommentare

Hallo zusammen, ich bin dabei ein Powershell-Script zu schreiben, welches diverse Reports generieren kann. Für die Eingabe von SamAccountNames ...

Visual Studio

Events von übergeordneter Class ausführen lassen

gelöst Frage von Aicher1998Visual Studio5 Kommentare

Hallo, Ich hab folgendes Problem: Ich habe eine Class A, innerhalb dieser Class A gibt es eine Auflistung von ...

Netzwerkgrundlagen

Frage zu Class B und C Netzwerk

Frage von deniska93Netzwerkgrundlagen4 Kommentare

Hallo liebes Forum. Kann ein Netz 10.1.9.0 mit 255.255.255.0 Bestandteil vom Netz 10.1.0.0 mit 255.255.0.0 sein? LG

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 2 TagenE-Mail10 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 2 TagenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 2 TagenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 2 TagenServer-Hardware4 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Tipps & Tricks
Nagstamon und PRTG Monitoring
Frage von Der.ITlerTipps & Tricks13 Kommentare

Hallo Ihr, heute am Sonntag bin ich mal früh aufgestanden um mich mit dem Problem von Gestern zu beschäftigen. ...

Batch & Shell
Bestimmte Textpassagen via bat löschen
gelöst Frage von Grisu84Batch & Shell10 Kommentare

Hallo, ich habe eine txt-Datei, in welcher ich durch eine bat bestimmte Zeilen löschen möchte. So soll die Datei ...

E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzkE-Mail10 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Windows 10
Windows 10 PC stürzt in letzter Zeit mit verschiedenen Fehlermeldungen ab (Bluescreen)
Frage von cyb012Windows 1010 Kommentare

Hallo zusammen, mein Rechner verabschiedet sich in letzter Zeit leider immer öfters. Meine Austattung, falls relevant: Arbeitsspeicher: 16GB G.Skill ...