CStringArray



  • Hallo,

    ich habe ein kleines Problem mit 'CStringArray':

    CStringArray strArray;
    // ..
    strArray.GetAt(8);
    

    Nun kann es aber sein, dass an der 8ten Stelle kein CString vorhanden ist und dann gibt's sofort einen Fehler.

    Meine Frage ist nun: wie kann ich denn überprüfen, ob das CStringArray z.B. an der Stelle 8 einen gültigen Eintrag enthällt?

    Merci



  • Hi,

    frag doch das Array mit

    strArray.GetSize()
    

    zuerst ab, ob überhaupt
    das Feld so groß ist.

    MfG



  • wenn er das abfragen soll und dann???

    die (8) ist ja keine varialbe und deswegen kann er net ueberpruefen 😉

    deswegen sollte er z.b. eine variable haben z.b. m_index_array

    das dann mit m_index_array = 8 machen, dann kann er ueberpruefen.



  • ...

    if (stringArray.GetSize() > 8)
    {
       myString=stringArray.GetAt(8);
    }
    else
    {
       myString="";
       //MessageBox("Fehler", "CStringArray");
    }
    


  • ⚠ .. es klappt 😃



  • fletscheru schrieb:

    wenn er das abfragen soll und dann???

    die (8) ist ja keine varialbe und deswegen kann er net ueberpruefen 😉

    deswegen sollte er z.b. eine variable haben z.b. m_index_array

    das dann mit m_index_array = 8 machen, dann kann er ueberpruefen.

    dieser argumentation kann ich leider nicht folgen. erklärs mal bitte.

    natürlich kann man die länge eines arrays abfragen um anschliessend den indizierten bereich des arrays zu verwenden. so sollte man theoretisch nie in den undefinierten bereich zu kommen.



  • ich meine er uebergibt der fkt als parameter keine variable sondern ein int wert

    wenn man es so macht wie dunkel18 dann geht das schon

    der programmierer gibt ja diesen "atomaren wert" 8 ein. und dieser muss selber drauf achten das zu diesem zeitpunkt halt auf ein array element x zugegriffen werden kann.

    normalerweise uebergibt man aber ein dynamisch einen parameter. z.b. Set(max); oder set(last); set(m_meinText) get(last)
    atomare werte wie z.b. 8 oder 23 verwendet man meistens selten.
    mein denkanstoss war ob ediritter wiklich den wert so eingibt oder je nach programm ablauf dynamisch eine variable braucht ( was imho hauefiger vorkommt )

    aber nichts fuer ungut. ich hoffe du bist jetzt aufgeklaert. das man nie vergleichen kann hab ich nicht gesagt. auf dunkel18 "loesung" hab ich anfangs gar net gedacht.

    zufrieden??


Anmelden zum Antworten