Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi aus Datei Laden. (https://www.delphipraxis.net/5011-aus-datei-laden.html)

bixi400 20. Mai 2003 15:28


aus Datei Laden.
 
Ich habe hier eine Frage:

Wenn man mit Delphi ein Dokument speichert,
dann gibt es .pas Dateien.
In diesen .pas-Dateien ist der Quelltext
des Programmes gespeichert.


Frage: kann ich Wenn das Programm gestartet ist,
ein Befehl (z.B. Button1Click) aus so einer Datei Laden???

Wenn ja, wie?

Jens Schumann 20. Mai 2003 15:42

Hallo,
suche mal in der Delphi-Hilfe nach LoadFromFile

bixi400 20. Mai 2003 15:48

Ich meine nicht eine TextDatei oder so...

Ich meine Befehle wie z.B.
Delphi-Quellcode:
Form1.Cation:='Hallo!';
...

Sebastian Nintemann 20. Mai 2003 16:48

Hallo bixi400!
Pauschal kann man erstmal sagen:
Nein, du kannst keine Pascal- (Delphi-Language-) Befehle aus einer pas-Datei (die letztendlich auch nur eine Textdatei ist) laden und direkt ausführen. Denn die Arbeit, die Befehle, die als Text in der pas-Datei stehen, in ausführbaren Code (nämlich in deine Exe) umzuwandeln, übernimmt der Compiler.
Für dein Programm ist das was in einer pas-Datei steht nur Text.

Was du allerdings machen kannst: du kannst deinem Programm beibringen, was es mit solchen strings anfangen soll. Mal als kleines Beispiel:

Delphi-Quellcode:
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  sl.LoadFromFile('C:\befehle.pas');
 
  if sl[0] = 'beep;' then beep;
 
  {du sagst deinem Programm also, dass es bei dem string 'beep;'
  ein beep ausführen soll. Auf diese Weise kannst du also auch
  Befehle aus pas-Dateien ausführen. Es ist natürlich eine verdammte
  Arbeit auf diese Weise eine vernünftige Anzahl von Befehlen
  (womöglich noch mit Parametern, verschachtelten Funktionen etc)
  hinzubekommen.} 
 
  sl.Free;
end;
Gruß, Sebastian

nailor 20. Mai 2003 20:55

Grotesquery hat recht! Aber such mal (mit Google) nach "Parser"!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz