[C/C++] Shellexecute... ist es damit möglich?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Valvepro, 2. August 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 2. August 2009
    Shellexecute... ist es damit möglich?

    Moin - ich wollte mal fragen, wie bzw. ob es möglich ist mit shellexecute eine Funktion aufzurufen... z.B.

    int test(int a, int b){
    return a+b
    }

    int main()
    {
    char = var[]="test(10,10)";
    shellexecute(var);
    return 0;
    }

    Ist soetwas möglich?
     
  2. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Wenn ich das richtig sehe willst du doch den Rückgabewert von test ausgeben oder nicht?
    Was willst du da mit Shellexecute?

    Code:
    int test(int a, int b){
    return a+b
    }
    
    int main()
    {
    
    cout << "Ergebnis :" << test(5,6) << "Nüsse..." << endl;
    return 0;
    }
    
     
  3. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Hi, nein.. so ist das nicht gemeint... du musst dir das so vorstellen... ich habe z.B. eine Textdatei (die in der main ausgelesen wird) dort steht dann drinne "test(19,2)" dann soll er diese funktion aufrufen
     
  4. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Nein mit Shellexecute kannst du keine Funktionen aufrufen. Damit kannst du nur externe Programme aufrufen.

    Schau dir mal Funktionspointer an (ungetestet und schnell hingeschrieben ^^):
    Code:
    int funktion1 (int a, int b)
    {
     return a+b;
    }
    int funktion2(int a, int b)
    {
     return a*b;
    }
    
    int main()
    {
     int (*fp)(int, int); // fp ist jetzt ein zeiger auf eine int(int, int) funktion
    
     fp = funktion1;
     std::cout << fp(1,2) << std::endl; // gibt 3 (1+2) aus
    
     fp=funktion2;
     std::cout << fp(3,4) << std::endl; // gibt 12 (3*4) aus
    
    }
     
  5. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Fast so wie ichs gerne hätte Nur das ich alles in einem String habe...
    char Funktion[]={"funktion1(1,2)"}

    Und dann eben soetwas wie call Funktion....
     
  6. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Dann nimmst du eine Struct:
    Code:
    struct Function
    {
     char *name;
     int (*fp)(int, int);
    }
    Dann trägst du alle deine Funktionen in ein "struct Function"-Array ein (natürlich müssen die alle die gleiche signatur haben). Dann musst du den string parsen und das ganze auswerten, so dass er die passende Funktion auswählt. Dann nur noch die Parameter parsen und übergeben.
     
  7. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Versteh jetzt nicht ganz wies gehen soll.... meinste die ganzen parameter auf dem string schneiden etc?....nen bsp. wäre suuuper nett
     
  8. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Naja, du musst ja irgendwie wissen, was der name von der Funktion ist und was die einzelnen Parameter sind. Natürlich musst du das parsen. Es gibt mit Sicherheit keine Funktion, bei der du "funktion1(10,20)" übergibst und die wird dann aufgerufen. Das musst du dir schon selber basteln.

    Du kannst dir auch mal Lua anschauen, das ist ne Scriptsprache, die man leicht in C einbetten kann.
     
  9. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Wie soll das denn mit Lua funktionieren genauso wie du eben gesagt hattest mir parsen?
     
  10. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Ich hab mit Lua noch nie gearbeitet, aber die haben ein gute Dokumentation mit Beispielen, die man sich anschauen kann. Das Parsen übernimmt aber Lua, soweit ich weiß.
     
  11. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Wo ist die Dokumentation ?
     
  12. 2. August 2009
    AW: Shellexecute... ist es damit möglich?

    Ne, jetz reichts mir. Es ist doch nicht zuviel verlangt "lua documentation" bei Google reinzuhauen und das erste Ergebnis anzuklicken. Also ohne Eigeninitiative kannst das Programmieren gleich lassen.

    closed!
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.