tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
269
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Krikus Krikus ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Hi,

    ich hänge da z.Z an einer Sache dran.

    Ich habe 2 Edit-Felder.
    Im ersten Edit-Feld ist reiner Text -> CString
    Das zweite Edit-Feld kann nur Zaheln beinhalten -> long.

    Nun weiß ich nicht wie ich das zweite Edit Feld einlesen bzw. abfragen soll.
    Oder muss ich den CString nach long casten?

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    
    //erste Edit-Feld
     (void) ::SetWindowText(GetDlgItem(IDC_LOGFILENAME),m_GlobalPolicy.GetLogFileName());
    char    szNewFileName[MAX_PATH+1];
    ::GetWindowText(GetDlgItem(IDC_LOGFILENAME),szNewFileName,MAX_PATH+1);
    //zweite Edit-Feld
    long    NewLogFileSize;
    ?
     

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo Krikus,

    casten geht nicht, du musst zwischen den Datentypen konvertieren. Eine Möglichkeit wäre es, die stringstream-Klasse der STL zu benutzen:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    #include <sstream>
     
    long NewLogFileSize;
     
    // schreiben
    std::stringstream sstr;
    sstr << NewLogFileSize;
    ::SetWindowText(GetDlgItem(IDC_...), sstr.str().c_str());
     
    // lesen
    char szNewFileName[MAX_PATH+1];
    ::GetWindowText(GetDlgItem(IDC_...), szNewFileName, MAX_PATH);
     
    std::stringstream sstr(szNewFileName);
    sstr >> NewLogFileSize;
    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Krikus Krikus ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Besten Dank.

    Hat super funktioniert.