Forum

> > Off Topic > C++ Frage (Zeile zu kurz ^^")
Forums overviewOff Topic overviewLog in to reply

German C++ Frage (Zeile zu kurz ^^")

8 replies
To the start Previous 1 Next To the start

old C++ Frage (Zeile zu kurz ^^")

born2die
User Off Offline

Quote
Hallo,
also ich hätte damal eine Frage und zwar ich weiß wie man eine Datei öffnet. Nun soll in der Textdatei Quellcode stehen wie z.B.
1
cout::std << "Bla";
das möchte ich aus geben lassen aber man soll zum beispiel das cout durch ne schleife usw. ersetzen können also mehrere Zeilen. Nun meine Frage wie kann ich das ausführen?

Hoffe irgend wer versteht meinen hin und wieder Kauderwelsch bei unklarheiten posten!

mfg und thx
born2die

old Re: C++ Frage (Zeile zu kurz ^^")

jeepohahyo
User Off Offline

Quote
Wenn ich dich richtig verstanden habe, willst du Quelltext in einer externen Datei ausführen lassen?

Du weißt, dass das alles andere als trivial ist, immerhin ist das nicht mit einkompiliert...

HW ist immer für ne Überraschung gut und DC hat ja schon den Parser für S² geschrieben, die könnten dir evtl helfen.

old Re: C++ Frage (Zeile zu kurz ^^")

born2die
User Off Offline

Quote
Du sagtets ob ich den Quellcode in einer anderen DAtei ausführen will hab das so verstanden als ob ich den Quellcode des Programms irgendwo ausführen will sry

old Re: C++ Frage (Zeile zu kurz ^^")

bizzl
User Off Offline

Quote
viel spaß, parserbau ist schon fast königsklasse.
Du könntest höchstens versuchen eine vereinfachte zwischensprache zu entwickeln die du zeilenweise aus dem dateistream ausliest, dann anhand der freizeichen sprengst und dann interpretierst. Aber C++Code wirste wohl nicht so schnell ohne compiler auf dem zielsystem hinbekommen.

Ich kann mal etwas wühlen wenn ich zeit hab, ich hatte mal nen interpreter für was assemblerartiges geschrieben, inklusive GOTOs und einem (etwas kruden) IF. Allerdings vollständig in Object Pascal.

old Re: C++ Frage (Zeile zu kurz ^^")

born2die
User Off Offline

Quote
Ähm jetzt hätte ich noch ne Frage und zwar schreib ich jetzt ein kleines Game und man soll ein Neues Spiel starten können usw. nun will ich das so schreiben das wenn man auf den Button neues Spiel klickt von der Form1 zu From2 kommt. Nun meine Frage wie mache ich das ohne das ein neues Fenster aufgeht usw.. Ich benutze dafür Visual C++ Express Edition 2005. Hoffe mir kann einer helfen.

old Re: C++ Frage (Zeile zu kurz ^^")

bizzl
User Off Offline

Quote
ich hab zwar kein VC++ aber ich kann dir sagen wie es in Delphi ging:
Du musst die Unit (bzw den Header) von Form2 im Quellcode von Form1 importieren und dann im onClick-Code des Buttons musst du die Show()-Methode von Form2 aufrufen.

in Delphi sah es etwa so aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
unit Unit1;

interface

uses SysUtils, Windows, [...], Unit2;

type
 TForm1 = class(TForm)
  [...]
 end;

var Form1: TForm1;

implementation

[...]

procedure TForm1.Button1Click(sender: TObject);
begin
 Unit2.Form2.Show();
end;

end.

old Re: C++ Frage (Zeile zu kurz ^^")

HW
User Off Offline

Quote
C/C++ Quellcode in Textform kannst du nicht einfach so zur Laufzeit ausführen.
Eine mögliche Lösung wäre ein Parser, dann wäre das allerdings kein C++ mehr sondern eine eigene Scriptsprache. Jedenfalls wäre das schon etwas sehr komplexes was viel Erfahrung braucht.

Es ginge auch, eine Shared Library (unter Windows sind das DLLs) zu erstellen und die Funktionen in dieser zu benutzen. Die muss dann zwar kompiliert sein und kann nicht nur im Quellcode dastehen, aber letzten Endes ist das, denke ich, genau das was du willst und es ist nicht so schwer wie einen Parser zu schreiben. Versuch mal, dich zu informieren, wie das mit Shared Libraries funktioniert, ich hab davon unter Windows keine Ahnung.

Dritte und nicht C++-basierte Möglichkeit: Eine interpretierte Sprache suchen, z.B. Python, Perl oder Ruby. Die können sowas von Haus aus ohne komplexes Zeug oder bereits kompilierten Code zu verlangen.

Edit: Auf die zweite Frage mit dem neuen Fenster kann ich nicht antworten, da ich mich nicht mit der WinAPI beschäftige.
Wenn man sich ein bisschen über die WinAPI informiert, sollte das aber kein Problem sein.
To the start Previous 1 Next To the start
Log in to replyOff Topic overviewForums overview