Mehrdimensionales Array



  • Ich würd gern Servers mit dazugehörigen Channels in einen mehrdimensionalen Array laden. Mein Code sieht dazu folgendermaßen aus:

    AnsiString Servers[x][x];
    TIniFile *Servers = new TIniFile("Servers.srv");
    int ServerCount = Servers->ReadInteger("Count","Servers",0);
    int ChannelCount = Servers->ReadInteger("Count","Channels",10);
    for (int i = 0;i<=ServerCount;i++)
     {
      for (int j = 0;j<=ChannelCount;j++)
      {
         Servers[i][j] = Servers->ReadString("Server"+i,"Channel"+j,"N/A");
      }
    }
    

    So jetzt weis ich zum einen net ob´s da vielleicht ne elegantere Lösung gibt als n mehrdimensionalen Array und zum anderen bekomm ich wenn ich das compile ne fehlermeldung die ich net ganz versteh:

    E2094 'operator+' ist im Typ 'TIniFile' für Argumente des Typs 'int' nicht implementiert

    Könnt mir da vielleicht nochmal wer helfen?



  • Aspirin schrieb:

    Servers[i][j] = Servers->ReadString("Server"+AnsiString(i),"Channel"+AnsiString(j),"N/A");
    

    Das sollte es gewesen sein 🙂



  • Hm ne immer noch die selbe Fehlermeldung 😞



  • du versuchst einen integer an einen string anzuhängen das geht wohl schlecht

    Servers[i][j] = Servers->ReadString("Server"+i,"Channel"+j,"N/A");
    

    so sollte es funktionieren

    Servers[i][j] = Servers->ReadString("Server"+ IntToStr(i),"Channel"+ IntToStr(j),"N/A");
    


  • Hm ich bekomm aber auch wenn ich

    Servers[i][j] = Servers->ReadString("Server","Channel","N/A");
    

    mach die fehlermeldung ?!?



  • Aspirin schrieb:

    Hm ich bekomm aber auch wenn ich

    Servers[i][j] = Servers->ReadString("Server","Channel","N/A");
    

    mach die fehlermeldung ?!?

    Servers[i][j]
    

    Ist ja auch ein Zeiger der auf ein Obj. vom Typ IniFile zeigt und kein 2D-Array! :p

    Warum schreibst Du die Servernamen nicht alle in ein TreeView?

    Server1
     |------Channel1
     |------Channel2
    Server2
     |------Channel1
     .
     .
    

    Ansonsten müßtest Du mußt Dir ein Array vom Typ Char anlegen das die Größe [i][j] hat und daraus dann wieder alles auslesen. 🙄



  • Wenn du deiner Instanz von TIniFile und dem AnsiStringArray die gleichen Namen gibst kann es ja nicht funktionieren.

    Ciao



  • Dein Code compiliert doch soundso nicht, du kannst nicht dem String-Array und dem Ini-Objekt denselben Namen geben.

    F98:
    Wozu der TreeView, wenn er die Daten offensichtlich nur speichern will? 😉

    Edit:
    Etwas zu langsam. 🙂



  • nee wie dämlich naja trotzdem danke an alle 🙂


Anmelden zum Antworten