AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche Hilfe bei einem Parser

Ein Thema von dragi · begonnen am 23. Mär 2006 · letzter Beitrag vom 23. Mär 2006
 
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#1

Brauche Hilfe bei einem Parser

  Alt 23. Mär 2006, 13:13
Hallo,

ich habe folgendes Problem:

Ein Dokument ist in etwa so aufgebaut:
Code:
object objektname1: Typ1 //Irgendein Objektname und Typ
  Wert1 = 1  //irgendeine Bezeichnung und irgendein Wert
  Wert2 = 2  //irgendeine Bezeichnung und irgendein Wert
  ...
end

object objektname2: Typ2
  object objektname3: Typ3
    Wert1 = 1
    Wert2 = 2
    ...
  end
end
Wie oben zusehen ist, gibt es Objekte die nur Werte beinhalten und Objekte die aus Unterobjekten bestehen. Die möchte ich nun programmiertechnisch [c#] in Objekte speichern und die Objekte in einer Liste verwalten.

Mein Objekt besteht zur Zeit aus einem String Name und String Typ sowie einer Liste vom Typ ValueObject. ValueObject besteht wiederum aus string Valuename und string Value. So kann ich nun den Namen und den Typ des Objektes anlegen und eine nicht definierte Menge von Values in der Liste des Objektes anlegen.

Code:
using System;
using System.Collections.Generic;
using System.Text;

namespace ParsIni
{
    class StFctObject
    {
        private string ObjName;
        private string ObjType;
       
        //Liste mit Werteobjekten
        List<StFctValueObject> StFctValueObjList = new List<StFctValueObject>();

        public void SetObjName(string ObjNameToSet)
        {
            ObjName = ObjNameToSet;
        }

        public string GetObjName()
        {
            return ObjName;
        }

        public void SetObjType(string ObjTypeToSet)
        {
            ObjType = ObjTypeToSet;
        }

        public string GetObjType()
        {
            return ObjType;
        }

        public void SetStFctValueObject(string NameToSet, string ValueToSet)
        {
            StFctValueObject MyStFctValueObject = new StFctValueObject();
            MyStFctValueObject.SetName(NameToSet);
            MyStFctValueObject.SetValue(ValueToSet);
            StFctValueObjList.Add(MyStFctValueObject);
        }

        public int ValueCount()
        {
            int count = StFctValueObjList.Count;
            return count;
        }

        public string GetStFctValueObjName(int i)
        {
            return StFctValueObjList[i].GetName();
        }

        public string GetStFctValueObjValue(int i)
        {
            return StFctValueObjList[i].GetValue();  
        }
    }

    class StFctValueObject
    {
        private string Name;
        private string Value;

        public void SetName(string NameToSet)
        {
            Name = NameToSet;
        }

        public string GetName()
        {
            return Name;
        }

        public void SetValue(string ValueToSet)
        {
            Value = ValueToSet;
        }

        public string GetValue()
        {
            return Value;
        }

    }
}
Um nun auch die Unterobjekte zu speichern, habe ich gedacht, ich füge eine weitere Liste hinzu die von gleichen Typ wie das Objekt ist. Bis dahin ja kein Problem. Ich kann dann ein Objekt definieren, mit dessen Namen und Typ, und es der Liste hinzufügen. Wie füge ich diesem Unterobjekt nun aber die nicht definierte Menge an Werten hinzu? Es kann ja mehrere Unterobjekte geben und wie kann ich sicher sein das ich gerade dem richtigen Unterobjekt die Werte zuweise?

Ich hoffe das Problem ist verständlich...

Gruß

dragi
Delphi 3 Professional @home
Delphi 2005 PE @home
Delphi 2005 Enterprise @work
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz