edit und datei einlesen



  • hi

    ich nochmal.folgender quelltext in VC++/MFC 6.0, win2000
    (text aus datei einlesen und in editfenster schreiben)

    char ch;
    CString dummy1, dummy2;

    ifstream File(m_strTitle);

    while(!File.eof())
    {
    File.get(ch);
    dummy1 = ch;
    dummy2 = dummy2 + dummy1;

    SetDlgItemText (IDC_EDIT1, dummy2);
    }

    wenn ich alsempfänger ein statisches textfeld angebe gibts keine probleme
    der text is so wie er sein sollte.
    so bald ich ein edit feld angebe gibts ärger.das prob, ich brauch bildlaufleisten und sobald die aktiviert sind gibts kein zeilenumbruch mehr.
    nehm ich bildlaufleisten raus, gibts zeilenumbruch,aber sehr wüsst, und es steht dann immer ein | wo eigentlich "\n" wäre.any help ? danke !
    (siehe auch mein anderes posting nick=pain, thema: mfc richedit)



  • Hallo,

    so viel ich weiß, ist der Zeilenumbruch bei einem Edit-Feld : \r\n

    void CT1Dlg::OnButton1() 
    {
    
    char ch;
    CString dummy1, dummy2;
    
    UpdateData(TRUE);
    
    ifstream File(m_strTitle); 
    
    while(!File.eof())
     {
     File.get(ch); 
     dummy1 = ch;
     if(dummy1=="\n")
     {
       dummy2 = dummy2 + "\r\n";
     }
     else
     {
       dummy2 = dummy2 + dummy1;
     }
    
    SetDlgItemText (IDC_EDIT1, dummy2);
    }
    

    Bei mir hat das zumindestens funktioniert.

    Multiline: true
    Scroll H + V true

    [ Dieser Beitrag wurde am 01.10.2002 um 16:48 Uhr von Walter editiert. ]



  • hi Walter

    du bist der grösste.tausend dank, jetz funztz.an dem prob sitz ich heute schon
    den ganzen tag (auf arbeit !! -> praktikum).jetz kann ich endlich nach hause ;-). falls du noch zeit und lust hast könntest du mir ja mal erklären warum das mit deinen änderungen auf einmal funzt, ich verstehs (noch) nich, ganz besonders warum das im static text mit meinem code ging aber nich im edit.
    also denn danke nochma.

    pain



  • Hi
    Die Änderungen haben deshalb was gebracht, weil es in Editfeldern "\r\n" und nciht nur "\n" heißen muss. In Static geht dagegen (wahrscheinlich, kann es jetzt nicht ausprobieren) auch einfach nur "\n".

    Mfg Ghost


Anmelden zum Antworten