Parsen



  • ich kann nicht besser erklären was ich machen soll

    ich kann vllcht noch dazu sagen das doch ein DIV so ein block in html ist

    Mit <div> leiten Sie ein allgemeines Block-Element ein, in das Sie mehrere
     andere Block-Elemente einschließen können (div = division = Bereich). Alles, was 
    zwischen diesem Tag und dem abschließenden </div> steht, wird als Teil des 
    Bereichs interpretiert.
    


  • Kellerautomat schrieb:

    Könntest du bitte versuchen, auf Deutsch zu schreiben?

    Ich übersetze:

    *Ok, nun habe ich das Verstanden und Eingebaut.
    Nun sagt er, ich soll das ganze in meinem HTML-Dokument als DIV speichern?

    MT = wert von memtotal
    MF = wert von memfree

    Dabei soll ich 150% / MT = PW und MF / PW ausrechnen.

    Das soll dann einen DIV ergeben, welches 150 Pixel lang ist.

    Meine Frage ist nun:
    Muss ich das mit der richtigen HTML Syntax einfach in die Datei schreiben?

    Danke schon mal für das geduldige Helfen!*

    Antwort:

    DIV ist ein HTML-Tag, genauer genommen ist es ein DHTML-Layer. Lern am besten (X)HTML und CSS 😉

    Die Breite wird im CSS-Stylesheet selbstverständlich durch ein Attribut mit numerischem Wert bestimmt (den numerischen Wert mit px-Suffix schreiben).

    Edit: Am besten einfach ins <style> Tag im head einbauen.


  • Mod

    Ich gehe mal auf die Meta-Ebene der Hilfestellung: Es wäre vielleicht eine gute Idee, wenn du deinem Chef sagst, dass du mit der Aufgabe überfordert bist und er es vielleicht mal etwas langsamer angehen sollte. Du sprichst seit wenigen Tagen C++, gelernt aus einem bekannt schlechten Buch. Das ist kein Wunder, wenn diese Aufgabe zu schwer ist.



  • vom prinzip müsste das doch irgentwie so gehen:

    std::string   HTML_File::to_string(){ 
        std::string out = 
          "<!DOCTYPE html>\n<html><body>" 
          + data 
          + "</body></html>\n"; 
        return out;
    

    so müsste ich doch auch ein div in die html als string rein schreiben können oder?



  • seppj ich hab das buch nicht mehr angefast seit dem ihr das sagtet


  • Mod

    Enno schrieb:

    so müsste ich doch auch ein div in die html als string rein schreiben können oder?

    Ja.



  • problem is nur wenn ich das hier schreibe

    <div align="center">
    

    dann kommt c++ da ein wenig durcheinander kann man das irgentwie lösen?



  • Enno schrieb:

    problem is nur wenn ich das hier schreibe

    <div align="center">
    

    dann kommt c++ da ein wenig durcheinander kann man das irgentwie lösen?

    Ja du kannst das Anführungszeichen "escapen"

    "<div align=\"center\">"
    

    Greets
    Tobi



  • Schöner geht es mit Raw-String literals (C++11):

    R"( <div align="center"> ..... )"
    

    Evt. mit Delimitter, falls da noch (schließende) Klammern hinzukommen.

    Edit: Das einzig doofe dabei ist das völlig verwirrte Syntax-Hilighting 😃



  • Meinst du, dass du "-Zeichen nicht in ein String-Literal reibringst. Bzw. ist das

    std::string foo = "<div align="center">";
    

    dein "durcheinander geratenes C++"?

    Falls ja: Lies mal Escape-Sequenzen.

    Dein String sollte also so aussehen:

    std::string foo = "<div align=\"center\">";
    


  • [url=http://de.wikipedia.org/wiki/Escape-Sequenz]Escape-Sequenzen[/cpp]

    😃



  • habs nun so gemacht und das klappt:

    "<!DOCTYPE html>\n<html><body><div align=""center""><h1>Ergebnis: 1745324 = (total)3947984 - (free)2202660</h1></div>"                                 + data 
          + "</body></html>\n";
    

    bleibt für mich die frage kann ich das div auch an die original stelle setzen ?
    ich hoffe ihr versteht was ich meine :((( ich bin ja son kleines dummerchen



  • align=""center""
    

    Das klappt?! Das ist im Endeffekt nichts anderes als

    align=center
    

    (Edit: CPP-Tags addiert)

    da kannste die Anführungszeichen gleich weglassen...

    Ist doch tausend mal schöner mit meiner Lösung!

    R"(
    <!DOCTYPE html>
    <html>
            <body>
                    <div align="center">
                            <h1>Ergebnis: 1745324 = (total)3947984 - (free)2202660</h1>
                    </div>)"
                    + data +
                    R"(
            </body>
    </html>
    )";
    

    (Edit) Da kannste gleich die HTML-File direkt reinkopieren, aus deinem Editor oder was auch immer!



  • Sone schrieb:

    [cpp]R"(
    <!DOCTYPE html>
    <html>
    <body>
    <div align="center">
    <h1>Ergebnis: 1745324 = (total)3947984 - (free)2202660</h1>
    </div>)"
    + data +
    R"(
    </body>
    </html>
    )";[/cpp]

    (Edit) Da kannste gleich die HTML-File direkt reinkopieren, aus deinem Editor oder was auch immer!

    da hast du recht ist wirklich schöner!!! 🙂

    nur warum 2 mal R"(??

    und ich muss das ja im prinzip in meinem data mitten drin einbauen das geht wohl nicht oder?



  • Ennounreg schrieb:

    nur warum 2 mal R"(??

    Ich verknüpfe doch zwei Strings....

    Sone schrieb:

    R"(
    <!DOCTYPE html>
    <html>
            <body>
                    <div align="center">
                            <h1>Ergebnis: 1745324 = (total)3947984 - (free)2202660</h1>
                    </div>)" //Ende des ersten Strings, ist etwas kryptisch :D
                    + data + //"Einfügen" des data-strings (IST DOCH EIN STRING, ODER?)
                    R"(//Anfang des zweiten Strings
            </body>
    </html>
    )";
    

    Edit: Falls data kein String ist, einfach in einen std::string umwandeln.



  • selbstverständlich ist data ein string 🙂

    frage ist nun ob ich den string aufteilen kann und div string dazwischen packen kann?



  • also dir R"( schreibweise klappt bwei mir nicht dafür dann aber "" ""



  • Ennounreg schrieb:

    also dir R"( schreibweise klappt bwei mir nicht dafür dann aber "" ""

    Dann update deinen Compiler. Wird doch irgendwann Zeit...



  • ach das past schon 😃


Anmelden zum Antworten