Tests - Grundlagen - einfache Übungen OOP: Speichern von Werten im Code

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von MemoAnMichSelbst.

    Tests - Grundlagen - einfache Übungen OOP: Speichern von Werten im Code

    Hallo zusammen, :)

    ich habe die letzten Wochen schon ein paar Sachen mit VB.NET Express gemacht, auch aufwändigere Dinge wie Grafische Benutzeroberflächen mit vielen Steuerelementen und auch Datenbankkonnektivität. Bin soweit auch ganz zufrieden, kann also damit inzwischen alles umsetzen, was ich schon mit VB 6.0 konnte. :thumbsup:

    Nun möchte ich aber OOP erlernen.
    Die totalen Grundlagen, anhand von eigenen Beispielen (denn die von den Buchautoren kapiere ich in der Regel nicht).

    Ich bin also am rumprobieren, testen mit OOP. ?(
    Klassen, Objekte, Eigenschaften, Methoden usw. die ganz banalen Grundlagen.

    Ich möchte das gern duchkauen mit einer Firma als Beispiel.
    Eine Firma hat bestimmte Größen, Eigenschaften, etc.

    Manche Sachen sind mir schon ganz klar, so vom Verständnis her, v.a. Eigenschaften und Methoden. :D

    Ich möchte bei meinem Beispiel die Firmendaten aber im Code speichern.
    Würde gerne irgendwelche externen Speichermedien wie Datenbanken außen vor lassen, um es nicht zu kompliziert zu machen.

    Wie fange ich das an?
    Wie speichere ich die Firmendaten am besten im VB-Code? ?(

    Also, bspw. Kundennummer, Filialkennung, Firmenname, Geschäftsführer, Firmengröße, Umsatz, Abteilungen usw.

    Ich habe also meine Klasse, die heißt "genossenschaftsmitglied".
    Wie speichere ich nun die Firmendaten im Code?
    In Variablen bzw. Konstanten, aber wie mache ich das am geschicktesten? (so, dass es Sinn macht)

    Gruß aus dem sonnigen Sachsenheim

    Thomas
    Hallo,

    Ich würde davon abraten, solche Daten im Programmcode zu speichern, denn wenn das Programm kompielert ist kannst du die Daten nicht mehr Editieren, zwar die variablen verädern, wird das Programm erneut gestartet haben die Variablen den Ursprünglichen Wert. Mann könnte auch My.Settings nutzen aber bei massen an daten ist der aufwand doch erheblich, der weitere Nachteil von My.Settings, kopiert man die exe und führt sie auf einem PC aus hat mann wieder die Defaults (Standartwerte). Eine Datenbank bzw. etwas derartiges würde ich schon empfehlen.

    Vieleicht kannst du damit was anfangen:[VB 2010] DatasetOnly: DB-Programmierung ohne Datenbank

    mfG

    Derfuhr
    OOP Programmierung hat nichts mit den Daten ansich zu tun.
    Zu OOP gehört unter anderem das Klassendesign. Diese Klasse ist aber nur eine Schablone (sozusagen Bauplan).

    Aus einer solch erstellten Klasse kann man dann Objekte damit erzeugen (dim ... as New MeineKlasse).
    Dann erst kann ich dieses Objekt mit Daten befüllen.

    Ich denke du hast das falsche Beispiel um dir dieses Wissen anzueignen.
    Und das Entwicklerbuch von Microsoft Press welches gratis zum Download angeboten wird beschreibt dieses Gebiet perfekt für Einsteiger. (microsoft.com/germany/msdn/akt…008dasentwicklerbuch.mspx Unten sind die Links zu dem pdf)

    Hier wird es wirklich Schritt für Schritt durchgemacht. Hast du Probleme das zu verstehen kannst dich ja wieder an das Forum wenden.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Du kannst ganze Klassen binär speichern...

    Hierfür erstellst du einfach eine <Serializable()> Klasse... ZB:

    VB.NET-Quellcode

    1. <Serializable()> Public Class Rabatt
    2. Public Kunde As Long
    3. Public Rabattgruppe As String
    4. Public Rabatt1 As Double
    5. Public Rabatt2 As Double
    6. Public Rabatt3 As Double
    7. End Class

    VB.NET-Quellcode

    1. Dim Rabatte As List(Of Rabatt)
    2. Rabatte = New List(Of Rabatt)


    Diese Klassen kannst du zB. in Objektlisten speichern.... und auch verwalten...

    Speichern und Laden solcher Objektlisten kannst du mit:
    Laden:

    VB.NET-Quellcode

    1. Dim f As Runtime.Serialization.Formatters.Binary.BinaryFormatter
    2. Dim s As IO.Stream
    3. f = New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
    4. s = New IO.FileStream(My.Application.Info.DirectoryPath & "\Dokumente\Rabatte.bin", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
    5. Rabatte.Clear()
    6. Rabatte = DirectCast(f.Deserialize(s), List(Of Rabatt))
    7. s.Close()


    Speichern:

    VB.NET-Quellcode

    1. Dim F As Runtime.Serialization.Formatters.Binary.BinaryFormatter
    2. Dim s As IO.Stream
    3. F = New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
    4. s = New IO.FileStream(My.Application.Info.DirectoryPath & "\Dokumente\Rabatte.bin", IO.FileMode.Create, IO.FileAccess.Write, IO.FileShare.None)
    5. F.Serialize(s, Rabatte)
    6. s.Close()


    Meinst du sowas?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D