Zeile aus RichEdit lesen



  • "# Click each PSDK-FULL .cab file to save it. Save all .cab files to a temporary directory with at least 266 MB free space (for example, c:\psdktemp)."
    Nur weil ich 'n' kleines Problem mit nem RichEdit Control hab, soll ich 270 MB runterladen?!?!?!
    # Run Psdk-full.bat to extract the full image from the .cab files. Specify an install directory with at least 1.4 GB free space."

    Das währen
    ca 1 Stunde Download
    ca 1,5 Stunden Installation
    ---------------
    ca 2,5 Stunden, um nachzusehen, wie ich ne scheiß zeile aus dem Ding rausbekomme!?!

    Außerdem ist es in Englisch. d.h. ich könnte zwar an meine Infos kommen, aber so richtig verstehen würde ich's nicht
    Und dann den Ganzen mist wieder Löschen??

    Gibts da nicht andere Möglichkeiten??



  • Ohne aktuelles PlatformSDK wirst Du noch bei weiteren Funktionen an Deine Grenzen stoßen.



  • Muss ich alle *.cab Datein runterladen, oder reicht "PSDK-FULL.1"??



  • Englischnachhilfe: 😉
    2.Click each PSDK-FULL .cab file to save it.
    each - jede

    Du mußt wohl alle runterladen. Die 1,4 GB kann ich nicht bestätigen bei mir 550 MB.
    Ich muß immer wieder reinschauen, und auch ich stehe mit der englichen Sprache auf Kriegsfuß.
    Mir hilft nur eins: Nochmal und Nochmal lesen zudem habe ich als Wörterbuch QuickDic installiert (frei erhältlich).
    Ich versuche mich halt mit der Sprache vertraut zu machen da es ohne halt nicht geht.

    Gruß Alex



  • Ok, und wonach muss ich suchen??





  • Genau oder in der SDK nach Rich Edit, da stößt Du dann auch auf die "Rich Edit Conrols".

    Gruß
    Alex



  • Das was in der MSDN steht, wusste ich ja schon.
    Und das aus der SDK ist auch nicht viel mehr...

    So wie das da beschrieben ist, müsste es ja Funktionieren, mein Problem ist aber, das es SO NICHT funktioniert, und ich auch nicht genau weis, wo das Problem bei (meinem) code ist, da halt alles so ist, wie es sein müsste. Ich weiß nur, das es an der Stelle irgendwo nen Problem gibt, was dazu führt, das nicht die Zeichen eingelesen werden, die in dem Control stehen...
    -> Gibts nicht nen irgendwo nen Beispielcode, mit dem ich (meinen) code vergleichen könnt??



  • so, hab inzwischen nen paar Fehler beseitigt:

    //Komplette erste Zeile einlesen:
     char* LineBuffer = new char[LineLength+2];
     ZeroMemory(LineBuffer,LineLength+2);
      char LineBufferSize[10];
      itoa(LineLength+2, LineBufferSize, 10);
      strcpy(LineBuffer,LineBufferSize);
     SendMessage(this->RichEdithWnd,EM_GETLINE,Line,(LPARAM)LineBuffer);
    

    Den code hab ich zZ immer noch bei WM_CHAR...

    Wenn ich jetzt "123" eingebe, steht in dem Buffer folgendes:

    LineLength: 0
    LineBegin:  0
    Line:       0
    LineBuffer: 
    
    LineLength: 1
    LineBegin:  0
    Line:       0
    LineBuffer: 1
    ?w???
    
    LineLength: 2
    LineBegin:  0
    Line:       0
    LineBuffer: 12
    w???
    

    Die Zahlen in LineBuffer sind genau so, wie sie sein sollten, aber was ist mit den "w"s und den "?"-Zeichen?? Wo kommen die wech??



  • Hi RedEagle,
    ich würde darauf tippen, daß dies einfach der Wert ist der im Speicher steht nachdem du diesen allociert hast. Du solltest deinen String am Schluß einfach mit NULL terminieren.

    Gruß Alex



  • So, nach langem suchen weiß ich jetzt endlich woran es lag.
    Nach dem ende der zeile kam noch ein '\r' und dann dieser müll.

    Das hab ich jetzt so behoben:

    char* TempLine = new char[arraylength];
       strcpy(TempLine,LineBuffer);
       ZeroMemory(LineBuffer,arraylength);
       for(int i=0; TempLine[i]!='\r'; i++) LineBuffer[i]=TempLine[i];
     delete[] TempLine;
    

    gibts da auch ne "schönere" lösung für??
    Also um bis zum '\r' beizubehalten, und den rest löschen??



  • RedEagle schrieb:

    gibts da auch ne "schönere" lösung für??
    Also um bis zum '\r' beizubehalten, und den rest löschen??

    So sollte das eigentlich auch funktionieren:

    *(strchr(LineBuffer,'\r')) = 0;
    


  • danke, aber irgendwie brauchte ich das nur, solange ich in der Funktion ofstream verwendet habe, als ich die sachen rausgenommen habe, war aufmal kein \r mehr da...
    jedenfals läuft jetzt alles,

    DANKE


Anmelden zum Antworten