tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
1091
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    yulian yulian ist offline Rookie
    Registriert seit
    Jan 2004
    Beiträge
    7
    Also irgendwie scheine ich noch ein Verständnissproblem mit Objekten zu haben.

    Ich hab mir eine Klasse PC erstellt die auch div. Eigenschaften speichert.
    t auch super. Ich Instanziere ein Objekt PC1 und speichere in den Eigenschaften ein paar Sachen. Wunderbar. Aber was mache ich wenn ich mehrere Objekte brauche, allerdings erst zur Laufzeit weiß wie viele?

    Also ich mit meinem bescheidenen Wissen habe 2 Lösungsansätze:

    Ich habe immer zwischen 1 und 100 PCs für die ich Daten verarbeiten möchte.
    1. Entweder ich Instanziere 1 Objekt und benutzte das immer wieder für alle PCs ODER
    2. ich erstelle für jeden PC ein eigenes Objekt.

    2. würde mir besser gefallen aber ich weis nicht wie ich dynamisch Objekte erzeuge.

    Oder hab ich nen Denkfehler?


    MfG Yulian
     

  2. #2
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Hi,

    das kommt immer ganz auf den Zusammenhang an. Eine Möglichkeit wäre z.B. eine Kombination aus Schleife und Array oder Liste.

    Grüße, D.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  3. #3
    yulian yulian ist offline Rookie
    Registriert seit
    Jan 2004
    Beiträge
    7
    Mhm, Zusammenhang. Ich reiße es mal an.
    Ich lese von 1 - 100 Rechnern die Seriennummer und die MAC aus einer Textdatei ein.
    Das wird dann in eine Exceltabelle eingetragen.
    Desweiteren wird mit den Daten eine weitere Textdatei erstellt.

    Im Moment mache ich das mit VB6 und arbeite Zeile nach Zeile in einer Schleife ab.
    Einfach 2 Variablen und immer den gerade zu bearbeitenden PC eingetragen.
    Danach lese ich die Exceltabell wieder ein um meine neue Textdatei erstellen zu können.

    Nun dachte ich mir (um VB.Net mit was sinnvollen zu lernen ) mache ich das über Objekte. Also pro Rechner ein PC Objekt und rein die Daten. Dann die Exeltabelle gefüllt und aus dem Objekt raus auch gleich die Textdatei befüttert. Ich erstelle immer erst komplett die Exceltabelle und dann komplett die Textdatei. Sonst muss ich ja zig mal die Datei öffnen.

    Es muss doch irgendwie möglich sein zwischen 1 und 100 Objekten zu erstellen, je nachdem wieviel PCs in der Original TXT drinnen sind. Nur wie weiß ich nicht :-/
     

  4. #4
    words_of_silence words_of_silence ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    10
    Hallo Yulian,

    hier ein kleines Beispiel (Class1 hat die Public Eigenschaft sBla as String):

    Dim arrObjects() As Class1
    Dim i As Long
    Dim oObject As Class1
    Dim anzahl As Long

    anzahl = 10

    ' Setzen der Objekte
    For i = 0 To anzahl
    oObject = New Class1
    oObject.sBla = CStr(i)

    ReDim Preserve arrObjects(i)

    arrObjects(i) = oObject
    Next

    ' Ausgeben
    For i = 0 To anzahl
    MsgBox(arrObjects(i).sBla)
    Next

    So long,

    wos
     

  5. #5
    M4st3r M4st3r ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Ort
    Frankfurt am Main
    Beiträge
    297
    Du könntest so vorgehen:

    Textdatei mit den PC's öffnen vie FileStream. Dann erstellst du dir damit einen StreamReader (sr) und machst damit ein while(sr.Peek() > 0)
    In der Schleife weist du dann irgendeiner string variablen mir sr.ReadLine() die aktuelle Zeile zu und erstellst dir daraus dein PC-Objekt - oder alle die du dann später durchiterierst mit nem foreach was allerdings deinen Arbeitsspeicher volllaufen lassen könnte.
    Um die Textdatei zu erstellen und zu füllen machst du dir einen StreamWriter auf - damit hast du nur EINEN Zugriff auf die Textdatei da du ihn quasi mit dem StreamReader öffnest - und schreibst da rein. Du machst also im Prinzip das:

    - Textdatei auf (FileStream)
    - StreamReader erstellen anhand des FileStreams
    - StreamWriter erstellen
    - Jede Zeile aus dem StreamReader auslesen
    -> PC Objekt erstellen
    -> Mit dem StreamWriter in die neue Textdatei schreiben
    -> In die Excel-Datei schreiben
    - End While
    - StreamWriter schließen
    - StreamReader schließen

    Voila!
     
    http://dirkgoldecker.spaces.live.com

    . Microsoft Certified Technology Specialist
    . Microsoft Certified Professional Developer
    |-> Web Applications

  6. #6
    yulian yulian ist offline Rookie
    Registriert seit
    Jan 2004
    Beiträge
    7
    BINGO, sowas hab ich gesucht

    Vielen Dank und schönes Wochenende.

    LG Yulian

    Zitat Zitat von words_of_silence Beitrag anzeigen
    Hallo Yulian,

    hier ein kleines Beispiel (Class1 hat die Public Eigenschaft sBla as String):

    Dim arrObjects() As Class1
    Dim i As Long
    Dim oObject As Class1
    Dim anzahl As Long

    anzahl = 10

    ' Setzen der Objekte
    For i = 0 To anzahl
    oObject = New Class1
    oObject.sBla = CStr(i)

    ReDim Preserve arrObjects(i)

    arrObjects(i) = oObject
    Next

    ' Ausgeben
    For i = 0 To anzahl
    MsgBox(arrObjects(i).sBla)
    Next

    So long,

    wos
     

Ähnliche Themen

  1. n Objekte zur Laufzeit erstellen
    Von hury im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 11.06.08, 22:43
  2. Scrollbare Box und Objekte erstellen?
    Von trage im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 27.10.07, 09:42
  3. Objekte wie im beispiel erstellen
    Von tidus5 im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 18.05.07, 10:53
  4. C# Objekte erstellen via Serialisierung
    Von bascaro im Forum .NET Application und Service Design
    Antworten: 4
    Letzter Beitrag: 21.02.07, 07:25
  5. Anim. 3D Objekte erstellen
    Von Comander_Keen im Forum Flash Plattform
    Antworten: 6
    Letzter Beitrag: 26.09.01, 20:40