Listbox Fehler



  • Ich habe eine Listbox die mit diesem Code laufen soll.

    TSearchRec sr;
     ListBox1->Clear();
      if (strcmp (sr.Name, ".") == 0)
       if (FindFirst("Mods\\*", faDirectory, sr) == 0)
      do ListBox1->Items->Add(sr.Name);
     while (FindNext(sr) == 0);
    FindClose(sr);
    

    Aber als Fehler kommt immer das:

    [C++ Fehler] Unit1.cpp(46): E2034 Konvertierung von 'AnsiString' nach 'const char *' nicht möglich

    [C++ Fehler] Unit1.cpp(46): E2342 Keine Übereinstimmung des Typs beim Parameter '__s1' ('const char *' erwartet, 'AnsiString' erhalten)



  • Hallo

    Du must AnsiString in char * konvertieren, was die Fehlermeldung auch klar besagt :
    [cpp] if (strcmp (sr.Name**.c_str()**, ".") == 0)[/cpp]

    /Edit : Außerdem
    1. warum nicht gleich

    if (sr.Name == ".")
    

    2. warum vergleichst du den Namen im Suchergebnis, bevor du die Suche begonnen hast?

    bis bald
    akari



  • Danke, funktioniert jetzt:

    TSearchRec sr;
     ListBox1->Clear();
      if (FindFirst("Mods\\*", faDirectory, sr) == 0)
       if (strcmp (sr.Name.c_str(), ".") == 0)
       ShowMessage("Gefunden");
      do ListBox1->Items->Add(sr.Name);
     while (FindNext(sr) == 0);
    FindClose(sr);
    

Anmelden zum Antworten