Textdatei auslesen und in WinAPI ausgeben



  • Hier ein grobes beispiel : http://www.imgnow.de/uploads/image1ea2png.png

    \n klappt nicht, genauso wenig \r\n ... google seit 30min und immernoch nichts.



  • Du musst dich erstmal entscheiden, in welcher Art und Weise du den Text ausgeben willst. Vorschläge waren EditBox, ListBox und du hattest noch einen Ansatz, direktes Zeichnen über den Device Context (HDC).
    Editbox und Listbox sind vorgefertigte Steuerelemente, du sagt "Hier nimm den Text und stell ihn dar" zur Editbox und sie machts. Die Listbox besitzt eine Liste, dort kannst du Strings hinzufügen wie du lustig bist, die werden dann einer nach dem anderen angezeigt.
    Mit DrawText o.ä. einfach so in das Fenster zu malen ist eher eine suboptimale Methode, da du da z.B. das Scrollen schonmal vergessen kannst (bzw ist viel Aufwand)... Da du ja verschiedene Spalten willst (IP, Name, ..) wäre evtl auch das ListView-Control für dich interessant - sieht aus wie der Inhalt eines ordinäres Windows-Explorer-Fensters mit Ansicht auf "Details". D.h. du hast oben Spaltennamen und die Einträge sind schön korrekt eingerückt untereinander, du kannst bequem nach einem Kriterium sortieren, Icons hinzufügen usw.
    Schau einfach mal in der MSDN nach, ob du ein paar Sachen zu der ListView findest 😉 Wie hast du denn dein bisheriges Fenster erstellt? Mit der Funktion CreateWindow?

    edit: Und lass tenchou in Ruhe, auf deine Frage "Kann man eig. eine CRC Checksumme von einem Programm mit einer Checksumme von einer Seite vergleichen -und dann , wenn die nicht übereinstimmt , soll das Programm eine Datei aus dem I-Net laden?" hat er legitim "ja" geantwortet!

    edit2: Und das ganze sieht dann in etwa so aus, nur Text statt den Haken



  • probiere es doch mal mit \n\r (vorausgesetzt es ist eine edit box...)

    Mfg Ominion



  • Ominion schrieb:

    probiere es doch mal mit \n\r (vorausgesetzt es ist eine edit box...)

    Mfg Ominion

    Es ist keine Edit box , guck doch mal auf das Bild das ich geuploaded habe 🙄

    Selbst wenn ich ListView bei MSDN finden würde, ich versteh einfach nicht was die da hinschreiben. Und da hilft auch kein Tutorial oder änliches!
    Einfach halt eine Liste in WinAPI genügt mir, mehr will ich doch garnicht! 😕

    Und warum soll ich überhaupt 1000 Texte kapieren wenn ich das eh nur 1mal gebrauchen werde....



  • Statt TextOut DrawText verwenden



  • Wie hast du denn dein bisheriges Fenster erstellt? Bestimmt mit CreateWindow, oder nicht? Wenn ja, dann hast du auch ein Handle (HWND) von deinem Fenster (wird von CreateWindow zurückgegeben), dann kannst du mit GetClientRect die Größe des Inhalts deines Fensters bekommen. Mit CreateWindow und als lpClassName-Parameter WC_LISTVIEW erstellst du deine ListView, setzt den Stil auf "Details", fügst Spalten hinzu und dann deine Items.



  • Wenn du programmieren lernen willst, musst du wohl Tutorials lesen und Eigeninitiative zeigen, sonst wird das nix. Dann kannste auch das Programm, das du grade schreibst, in die Tonne klopfen. Streng dich einfach ein wenig an, das haben schon Millionen vor dir geschafft und werden auch Millionen nach dir schaffen - aber garantiert wird dir hier keiner dein Programm schreiben.
    Beispieltext würde dir hier übrigens auch nicht helfen, weil du weder bereit bist, irgendetwas nachzuschlagen, noch irgendwas selbstständig zu suchen, noch auf irgendwelche Vorschläge eingehst!



  • golden schrieb:

    Und warum soll ich überhaupt 1000 Texte kapieren wenn ich das eh nur 1mal gebrauchen werde....

    tolle einstellung. sollen doch gefälligst die leute hier ihre zeit für dich opfern, warum solltest du das auch selbst tun?

    verstehe echt nicht, dass ihr dem typen auch noch helft.



  • Badestrand schrieb:

    noch irgendwas selbstständig zu suchen, noch auf irgendwelche Vorschläge eingehst!

    lol , ne ist klar. Suche hier seit paar minuten ( 50!!!) aber egal. Ihr ratet immer was ich angeblich machen würded , das ihr eh nicht wissen könnt ( außer natürlich das ich es schon geschrieben habe , aber hey , wer liest den meine post's schon)



  • golden schrieb:

    Badestrand schrieb:

    noch irgendwas selbstständig zu suchen, noch auf irgendwelche Vorschläge eingehst!

    lol , ne ist klar. Suche hier seit paar minuten ( 50!!!) aber egal. Ihr ratet immer was ich angeblich machen würded , das ihr eh nicht wissen könnt ( außer natürlich das ich es schon geschrieben habe , aber hey , wer liest den meine post's schon)

    Ich les deine Posts z.B. und ich hätte nie gedacht das sich der Thread so entwickelt als ich den das erste mal gesehen hab.
    Wie wär 's z.B. wenn du bei google mal "list View" eingibst? Gleich das erste Ergebnis stellt dir Beispielcode + Erklärung bereit. Wenn du damit nichts anfangen kannst dann such dir nen ordentliches Buch oder troll nen anderes Forum zu (, denn hier gibts keinen dummen der dir dein Programm schreibt)

    //Edit das ganze erinnert mich irgendwie an Ratz 🙄



  • gosha16 schrieb:

    (, denn hier gibts keinen dummen der dir dein Programm schreibt)

    LMAO , noch einer der meint jemand sollte mein Programm schreiben. 🙄



  • Na zeig uns doch mal das was du bis jetzt hast.



  • Ich bin fertig 🙂

    Fehlt nur noch der Updater :

    Wie kann ich eine Zahl (die in einer Textdatei steht) und im I-Net ist mit einer anderen Zahl vergleichen? Wie man vergleich weiss ich ja ( if (x!=x) ... ) aber wie macht man das wenn die Datei im internet ist?
    Und wie kann man per code eine textdatei runterladen ?



  • InternetOpen()
    InternetOpenUrl()
    InternetReadFile()



  • Irgendwie hab ich das Gefühl, dass du doch so einer bist...

    @Gosha:
    Ja wie? Kein Beispielcode? Nur 3 Wörter hingeknallt? Das geht doch nicht 😉



  • Die begriffe kann ich aber besser interpretieren da sie auch was vom Englischen haben und realtiv kurz sind 😉 Updater schreib ich in Win32 console appl.



  • mad_martin schrieb:

    @Gosha:
    Ja wie? Kein Beispielcode? Nur 3 Wörter hingeknallt? Das geht doch nicht 😉

    Ich glaube fest daran das ein Mensch aus den Funktionsnamen (und google) ableiten kann was die Funktionen machen und genug kreativität besitzt diese Funktionen zu nutzen um das Problem zu lösen 🙂



  • Kleine Frage wegen if ...

    case IDM_CHECKLIST:   // CHECKLIST
                    FILE *datei;
                    if (datei != NULL)	
                     {
                      MessageBox(NULL, "Checklist.txt wurde nicht gefunden!",
                      "Checklisttext fehlt!\n",
                      MB_OK);
                     }	
                    else
                    { 
                     system("start /max checklist.txt");
    		};
    		break;
    

    Selbst wenn die Checklist.txt Datei da ist, zeigt er ein Fehler an das sie nicht gefunden wurde :p



  • Don't feed the troll



  • Du musst dem Pointer *datei auch sagen, worauf er zielt. Machst du da nirgendwo.

    Generell sieht der If-Block ziemlich unsinnig aus, was genau willst du damit anstellen?


Anmelden zum Antworten