strings zusammensetzen



  • Kommt drauf an, wieviel man damit arbeiten will.



  • aber die klasse sollte man wenn dann gleich ipv6 konform machen.



  • PeterTheMaster schrieb:

    aber die klasse sollte man wenn dann gleich ipv6 konform machen.

    Ich sag ja, 32Bit-Binaerwert und/oder Praesentations-Schreibweise speichern.

    mfg
    v R

    [nachtrag]
    sehe grad, dass du den 32bit-binaerwert speicherst, warum dann noch sowas
    wie 'Cell1', 'Cell2'?

    Viel zu umstaendlich und einzelne 'Cells' nuetzen dir eh nichts
    [/nachtrag]



  • Ob umstaendlich oder nich, kommt drauf an, wie oft man es braucht.
    Ne klasse fuer nen 32 bit Int ist natuerlich ned sinvoll ... aber schau Dir das Umfeld an, was hast wenn mit der IP adresse arbeitest ... so ganz ohne isses auch ned.
    Um die auf mehrere Plattformen laufen lassen zu koennen, musst noch auf bitwertigkeiten achten.

    Cell1 usw. macht sinn, wenn man den user editierbar die Adresse in Zellenform anbieten will. Wirst ja nich verlangen, das der Nutzer ne IP adresse in 32 bit binaerschreibweise eingibt 🙂

    Dachte eigentlich das irgendwo in ner Lib sone Klasse schon gibt ... und so lange dauerts auch ned, das zu implementieren. Dann hat man bis IPv6 erst mal ruhe. Und die meisten funktionen musst in deiner App soweiso implementieren, wenn nicht ne Klasse dafuer schon findest.

    IPv4 und IPv6 in einer Klasse .. naja, da ist der Aufwand bisser groesser ... und man muss wahrscheinlich mit ner Compiler-Directive arbeiten ? Gibts sowas, wo die Net API's dann statt IPv4 , ne IPv6 Adresse akzeptieren ?

    Ciao



  • Cell1 usw. macht sinn, wenn man den user editierbar die Adresse in Zellenform
    anbieten will. Wirst ja nich verlangen, das der Nutzer ne IP adresse in 32 bit
    binaerschreibweise eingibt 🙂

    Es macht imho keinen Sinn. Wenn der User eine IP eingeben soll, gibt er sie als
    Zeichenkette ein und du nutzt die entsprechenden Funktionen um daraus den
    32Bit-Binaerwert zu erzeugen (den du letztlich in der Klasse speicherst).

    Hast du den 32Bit-Binaerwert aber schon, kannst du auch ohne Probleme daraus
    die Praesentationsschreibweise erzeugen.(Siehe dazu inet_ntop bzw. inet_pton,
    die IPv4 als auch IPv6 korrekt handhaben)

    Also ich sehe den Sinn nicht wirklich in der Geschichte mit den Cells. Aber ich
    lasse mich eines besseren belehren

    mfg
    v R



  • Eine Klasse für vier Integerwerte ?
    Macht absolut keinen Sinn weil viel zuviel Aufwand ...

    Hä? Die klasse repräsentiert eine IP-Adresse und beitet Methoden an um mit deise umzugehen. Dabei ist es egal, ob da nur ein einzelner int-Wert oder gigantische sammlung verschiedenster Typen drin sind.

    Also ich sehe den Sinn nicht wirklich in der Geschichte mit den Cells. Aber ich lasse mich eines besseren belehren

    Ich habe keine Ahnung von inet_ntop, usw., aber vielleicht hilft es, wenn man einzelne Zellen editiren will.



  • Naja, ich wuerde zur eingabe schon Vorgefertigte Cedit Wrapper verwenden, die Dir eingaben nur von 0 .. 255 zulassen. Da ists imho einfacher den Wert ueber die Zells zu modifizieren lassen ... AUsserdem ists dann auch einfacher, weiter Funktionen die die Subnetze betreffen, zu implemntieren ... , naja, je nachdem wie man es macht.

    Mit dem IP eingabefeld hab ich noch ned so die erfahrungen, ich benutz auch die MFC seltener ... wenn da die Funktionalitaet drinn steckt, brauchst es in der klasse ned ...

    Oder wenn schon nen anderen Edit Feld Wrapper gebaut hat, Der dir genau die IP eingabe baut ... ists der selbe Fall, dann brauchst den auch ned ...

    CIao ...



  • Wie schon gesagt, es geht nur um die Umwandlung in einen string.
    Dafür eine Klasse hier zu bauen ist absoluter Blödsinn, oder wisst ihr was er weiter damit anstellen will.
    Ne Klasse muß man da wohl individuell erstellen.



  • Du magst Klassen nicht ? 🙂

    Neee im ernst ...
    Die umwandlungsfunktion von string zu long und andersrum wo wuerdest die hin bauen ?
    Angenommen, es waer nen win32 Programm in C++ ...




    Punkt 3 koennt ich mit leben ... bist aber an ne GUI gebunden, wenn ne IP auch als Programparameter bekommst musst was anderes einfallen lassen ... Den Wrapper kannst dafuer immer gut weiterverwenden ....

    Naja, und ich wuerds halt an die IP (long) selber haengen, weils vom Kontext da halt ned soo falsch ist ... und der mehraufwand eigentlich trivial ...
    Und einmal erledigt, hast nie wieder Sorgen mit ...
    Und irgendwie versteh ich OOP in der art, das man Funktionlalitaeten da dranhaengt, wo sie auch hingehoeren ...
    Fuer viele ists halt nur zusaetzlicher aufwand ....

    Ich mach es eigentlich recht oft, das ich zum besipiel einzelne Strings in nen Wrapperklasse packe, um dazugehoerige Funktionen dann da dran zu haengen. Findet man dann auch recht schnell.
    Zum Beispiel BaumString , der nen String ind der Form "Knoten1\\Knoten2\\Knoten3" in nen vector parst und die Hirachiestufe ausgibt ... etc ...

    Ciao ...



  • natürlich sind Klassen Klasse. 😃
    Nur man kann hier nicht irgendeine Klasse bauen, wenn man gar nicht weiss, was
    das Programm letztendlich machen soll.
    Vielleicht will er die string IP ja nur in irgendeiner Datei speichern.
    Für sowas würde ich niemals anfangen eine Klasse zu generieren.
    Wenn man ihm hier irgendwelche Fantasieklassen hinlegt, dann ist das wohl nicht mehr realistisch.
    Ich denke seine eigentliche Frage wurde schon längst beantwortet und es bringt
    nicht hier herumzuphilosophieren.


Anmelden zum Antworten