spätere Übergabe der Parameter



  • Hallo an alle,
    ich hab da mal ne Frage, und zwar möchte ich ein Programm schreiben das eine Fehlermeldung ausgibt.

    #include <cstdlib>
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        char* Title;
        char* Text;
        MessageBox (NULL, Text, Title, MB_OK);
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    dieses Programm würde ja eine Meldung ausgeben, wenn den chars ein Text zugeordnet wäre, aber diese Texte möchte ich mit einem anderen Programm editieren, ist das möglich?
    Ich habe mal gelesen dass man die den code oben compilieren kann, ihn dann als resource in ein projekt einbinden kann, und dann irgendwie die chars editieren kann 😕

    würde mich über antworten freuen

    mfg

    zapp91



  • Hallo,

    Übergib doch deine Strings als Parameter an dein Programm. Dann kannst du sie über argv[] holen und verwenden.
    Wozu willst du sowas verwenden? Vielleicht fällt uns dann ja eine wirklich gute Lösung ein.



  • Erstmal danke für deine Antwort, ich bin Anfänger, abundzu denke ich mir was aus und will es dann auch verwirklichen, eben um zu lernen. Mir kam das mal so in den Sinn, ich wollte halt ein Programm schreiben welches ein anderes schon compiliertes editieren kann. Das sieht halt so aus, ich habe den Code für die Meldung, der Text für die Meldung ist in chars gespeichert und diese soll man halt mit einem anderen Programm verändern können. Dazu wollte ich das eine Programm in eine resource packen und dann dem anderen hinzufügen. So dass man alles einstellen kann, dann wird die resource geladen, extrahiert und dann editiert. Ich habe mal gelesen man könnte die Informationen irgendwie ans ende der datei schreiben, aber ich habe keine ahnung... ich hab mir ziemlich viel vorgenommen, ich weiß nämlich auch noch nicht so ganz wie ich das mit der Resource machen soll.

    Ich bin für jede Hilfe dankbar

    mfg

    zapp91



  • Danke
    Es tut mir leid ich habe ihn nicht mehr gefunden.

    Kennt jemand eine Möglichkeit mit Borlandmitteln binär in eine Datei zu schreiben?
    o.
    Kennt jemand eine Möglichkeit Strings zu laden die ich binär an das Programm angehangen habe?



  • Hallo,

    Zum binären Lesen und Schreiben gibt es z.Bsp. TFileStream (Borland) oder fstream mit ios::binary (Standard C++).



  • Danke Braunstein,
    ich hab mal ein wenig gegoogelt aber wenig gefunden, könntest du mir mal ein kleines Codebespiel geben um mit Borland C++ Builder einen String an eine Datei zu schreiben, und wenns dir nichts ausmacht, wie ich dann diesen String mit mit dem Programm auslesen kann, in das er geschrieben wurde, das wenns geht mit Standard C++ Mitteln.
    Ich weiß sehr anspruchsvoll, aber ich weiß nicht wo ich mir sonst Hilfe holen kann.

    Danke

    Mfg

    Zapp91





  • Vielen dank für die Links, ich werds mir gleich durchlesen.

    mfg

    zapp91



  • Ich mal wieder....

    ich hab das jetzt mit dem Schreiben soweit verstanden, nur eins kapier ich nicht, wenn ich schreibe:

    fstream f;
        f.open("C:\\test.exe", ios::out|ios::ate|ios::binary);
        f << "Dieser Text geht in die Datei" << endl;
        f.close();
    

    Dann wird komplett alles ersetz und es steht nur noch "Dieser Text geht in die Datei" in der Datei. Mit ios::ate gehe ich ja ans Ende der Datei... kann mir da vlt noch jemand helfen?

    Danke

    zapp91



  • Hallo

    Erstmal danke für deine Antwort, ich bin Anfänger

    Ein ernstgemeiner Hinweis : Las das lieber mit dem Herumpfuschen in einer Exe. Bei deinem Kenntnisstand wirst du das nur hinkriegen wenn dir hier jemand den Quellcode zum kopieren hinschreibt. Ganz abgesehen davon das ich das eh für ein Konzeptfehler halte, es sei denn du willst einen Patch-Programm oder ein Virus schreiben.

    Lern lieber C++, und benutzt für dein Kommunikationsproblem die schon erwähnten Programmaufruf-Parameter.

    bis bald
    akari



  • Verwende 'ios::app' statt 'ios::ate':

    fstream f;
    f.open("C:\\test.exe", ios::out|ios::app);
    f << "Dieser Text geht in die Datei" << endl;
    f.close();
    

    Und "ios::binary" würde ich auch nicht verwenden (da du ja Text hineinschreibst). Die Zeilenumbrüche würden sonst nicht Windows-konform umgesetzt werden.


Anmelden zum Antworten