remove string aus dropdown feld



  • hallo,
    ich hatte schonmal diese frage hier gestellt und auch eine super antwort bekommen.kann die aber nicht mehr wiederfinden. ich habe versucht nach mike303 als autor zu suchen,aber es wurden keine entsprechenden einträge dazu gefunden.obwohl selbst noch einer auf der ersten seite zu sehen ist !?!?

    meine frage. ich brauche fuer ein dropdownfed einen befehl mit dem ich die im d-feld ausgewählten einträge löschen kann. also ich wähle einen string im feld aus. klick auf remove und er soll verschwinden.

    geht das irgednwie über remove.string oder so ?? ich hatte das schonmal kann mich aber nur wage drann errinern. ausserdem brauch ich irgednwie noch so ein "actual" damit er nur den ausgewählten und nicht gleich alles löscht.

    danke euch !!!



  • geht die suche denn gar nicht mehr ?? wenn ich jetzt nacht diesem eintrag nach : remove string. also genauso wie oben geschrieben suche,findet er gar nichts ?!?



  • Hi,
    meinst so was:

    // entfernt die aktuelle Auswahl aus der Liste
    m_cCombo.DeleteString(m_cCombo.GetCurSel());
    

    pixel



  • danke dir !



  • ich schreibe es jetzt einfach mal hier rein 🙂 muss ja nicht extra wieder was neues aufmachen. also ich möchte alle daten aus dem dropdown auslesen.
    ich habe es beim listenfeld so gemacht

    for( int i=0; i< 10; i++ )
            {
                CString tmp = _T("");
                m_show_unit.GetText( arrayListSel[i], tmp );
                CString speed = tmp;
    
                scanspeed_arr[i] = atoi(speed); 
            }
    

    leider funktioniert das fuer das dropdown nicht. wie muss ich da vorgehen ?? also ich möchte alle stringdaten auslesen. ich weiss selber noch nicht genau wie ich sie am besten abspeicher soll. am besten in einem array denke ich.

    vielen dank.



  • Versuch's mal so:

    for(int i=0;i<m_cCombo.GetCount();++i)
    {
      CString str;
      m_cCombo.GetLBText(i,str);
      //str weiterverarbeiten
    }
    


  • Zum Speichern gibt es dann CStringArray. 🙂



  • danke , das hat mir erstmal weitergeholfen. ich bin jetzt beim string array dabei.kann damit jedoch nichts anstellen weil ich immer konvertierungsprobleme abe.

    CStringArray myStringArray;
    
    for(int i=0;i<m_show_unit.GetCount();++i)
    {
      CString str;
      m_show_unit.GetLBText(i,str);
      myStringArray.Add(str); 
    }
    

    habe es so versucht:

    FILE *datei
    
    if (datei != NULL)
        {
          fprintf (datei, myStringArray);
          fclose (datei);
        }
    

    was wegen konvertierungsprobleme nicht geklappt hat.

    wie könnte ich die daten so abspeichern ???

    in einem 2ten schritt müsste ich sie irgednwie wieder zeilenweise auslesen können um die daten zu verarbeiten. also die reihenfolge ist dabei egal. es müssen nur alle gespeicherten strings wieder verwendet werden können.

    danke euch !!



  • Du musst natürlich eine Schleife über die einzelnen Elemente Deines CStringArrays machen. Statt FILE benutze besser CFile, ggfs. in Verbindung mit CArchive, siehe in der MSDN Library insbesondere unter CArchive::ReadString() und CArchive::WriteString()



  • Hi,

    was vorhin gesagt wurde mit der Schlefe kann man so machen:

    CStringArray csAr;
    csAr.Add(L"Hallo");
    csAr.Add(L"Welt");
    int s = 0;
    while(s < csAr.GetSize())
    {
        CString cs = csAr.GetAt(s);
        s++;
    }
    

    in deinem Fall:

    FILE *datei
    CStringArray csAr;
    csAr.Add(L"Hallo");
    csAr.Add(L"Welt");
    int s = 0;
    
    if (datei != NULL)
    {
        while(s < csAr.GetSize())
        {
    	    CString cs = csAr.GetAt(s);
            fprintf (datei, cs);
            s++;
        }
    
          fclose (datei);
    }
    

    ich wollte nur die Schleife für das CStringArray machen...

    lg
    pixel



  • hallo,
    ich habe einen string der einen dateinamen beinhaltet..z.B.

    bla.exe

    wie kann ich den string so ändern, dass ich die dateiendung abgeschnitten habe,somit nur noch bla ürbig bleibt? müsste doch irgendwie gehen oder ???

    danke euch



  • oh.. sorry.. letzter post hat wohl nicht so ganz gepasst 😕


Anmelden zum Antworten