Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi $I und Strings (https://www.delphipraxis.net/140550-%24i-und-strings.html)

Gargamel 20. Sep 2009 19:01


$I und Strings
 
Hallo

Mit z.B. {$I Irgendwas.txt} kann man ja externe Dateien als Teil des Quellcodes einbinden (danke an "Die MuhKuh")

Nehmen wir mal an, in der irgendwas.txt steht das hier drin´:

Delphi-Quellcode:
Gargamel
Wie kann ich jetzt den Compiler dazu bewegen, aus dieser Methode...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var text:string;
begin
  //   
end;
... sowas zu generieren:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var text:string;
begin
  text:='Gargamel';  
end;
Solche Sachen wie

text:={$I Irgendwas.txt}

funktionieren ja leider nicht.
Auch das hier ist eher sinnfrei:

text:='{$I Irgendwas.txt}';

Eine Lösung wäre, die txt etwas zu verändern.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var text:string;
begin
  {$I Irgendwas.txt}
end;
Textdatei:

Delphi-Quellcode:
text:='Gargamel';
Besser würde mir allerdings gefallen, wenn ich die Textdatei überhaupt nicht ändern müßte.

DeddyH 20. Sep 2009 19:05

Re: $I und Strings
 
Kannst Du evtl. erst einmal erklären, was Du erreichen möchtest? So ganz wird mir das aus Deinen Beispielen nicht klar.

haentschman 20. Sep 2009 19:08

Re: $I und Strings
 
hmmm.... :gruebel:

wenn ich das richtig verstanden habe mit dem {I ...} dann kann man damit Quelltext einlesen so als hättest du ihn im Editor geschrieben.
Wenn ich Deine Beispiele interpretiere möchtest du die Texte als Werte einlesen. Da ist wahrscheinlich eine INI besser geeignet.

:hi:

Gargamel 20. Sep 2009 19:09

Re: $I und Strings
 
In der Textdatei steht

Gargamel

drin.

Und der Delphi-Compiler soll aus der Methode...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var text:string;
begin
     
end;
... diese Methode generieren:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var text:string;
begin
  text:='Gargamel';  
end;
Aber ohne das ich die Textdatei ändern muß.

Gargamel 20. Sep 2009 19:10

Re: $I und Strings
 
Zitat:

hmmm....

wenn ich das richtig verstanden habe mit dem {I ...} dann kann man damit Quelltext einlesen so als hättest du ihn im Editor geschrieben.
Wenn ich Deine Beispiele interpretiere möchtest du die Texte als Werte einlesen. Da ist wahrscheinlich eine INI besser geeignet.
Und genau das will ich nicht. Ich will, das das Bestandteil des Quellcodes ist.

DeddyH 20. Sep 2009 19:11

Re: $I und Strings
 
Dann wirst Du schon die Textdatei ändern müssen.

haentschman 20. Sep 2009 19:13

Re: $I und Strings
 
ehrlich ?

Dein Vorhaben ist Vergewaltigung eines Compilerschalters. :roll:

Stichworte:
- Textdatei einlesen
- INI einlesen

dürften dafür besser geeignet sein.

zu deinem letzten Post:
Dann schreib doch in die Text auch den kompletten Quelltext und nicht nur die Werte. :zwinker:

Gargamel 20. Sep 2009 19:20

Re: $I und Strings
 
Na, so schlimm ist das auch wieder nicht.
Es ist halt nur so, daß der Aufbau der Textdatei fest vorgegeben ist. Eine Lösung habe ich aber dafür bereits.

Trotzdem danke.

haentschman 20. Sep 2009 19:27

Re: $I und Strings
 
wie hast du es jetzt gelöst ?
:hi:

Gargamel 20. Sep 2009 19:30

Re: $I und Strings
 
In ein TStringList einlesen, modifizieren und in eine neue Datei abspeichern. Und diese wird mit $I kompiliert.
Die originale Datei soll unangetastet bleiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:07 Uhr.
Seite 1 von 2  1 2      

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