Autor Beitrag
ByStones
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 92
Erhaltene Danke: 1

Windows XP
Delphi 2005
BeitragVerfasst: So 27.03.05 13:07 
HI,
wie binde ich den inhalt aus einer *.txt oder *.log in delphi ein ??? Der eingebundene Text soll wie Quelltext behandelt.

Z.B.: Ich starte das Programm, der Text wird eingebunden ohne dass der User es merkt. Ich klicke auf Button1 und der eingebundene Quelltext wird ausgeführt.

Es wäre nett wenn jemand (falls dieses Problem lösbar ist) ein Beispiel-Programm erstellt.

MFG ByStones
SandTarnFarbe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Win XP, Win 2003 Server
D7 Pers
BeitragVerfasst: So 27.03.05 13:10 
Wenn ich dein Problem richtig verstehe, willst du nen eigenen Compiler basteln?
ByStones Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 92
Erhaltene Danke: 1

Windows XP
Delphi 2005
BeitragVerfasst: So 27.03.05 13:13 
user profile iconSandTarnFarbe hat folgendes geschrieben:
Wenn ich dein Problem richtig verstehe, willst du nen eigenen Compiler basteln?

Nein, eigentlich nicht.
Ich möchte für alles was der PC macht eine Datei anlegen, die er dann einbindet. Das erleichtert das Updaten... :lol: :lol: :lol: :mrgreen:
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: So 27.03.05 13:30 
:gruebel:
Also irgendwie versteh ich nicht so recht, was Du machen willst.
Updaten oder doch kompilieren/interpretieren?

_________________
JSXGraph
SandTarnFarbe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26

Win XP, Win 2003 Server
D7 Pers
BeitragVerfasst: So 27.03.05 13:38 
Also für mich hört es sich nach wie vor für nen Compiler / Interpreter an, denke die Updatefunktion die da drin besteht soll so aussehen: Neue txt-Datei an Kunden geben und jeweils den geändert Befehl ausführen, oder?

Bsp: Datei-Version für 2004 - MwSt = 16%
Bsp: Datei-Version für 2014 - MwSt = 56%


Nur da es sich ja um Quelltext handelt so da dann wohl sowas drin stehen:
ausblenden Quelltext
1:
2:
3:
4:
//2004
MwSt := Nettobetrag * 0.16;
//2014
MwSt := Nettobetrag * 0.56;


Kommen wir der Sache näher?
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: So 27.03.05 14:11 
Weißt du generell wie du Textdateien einließt in Delphi?
wenn ja kannst du das folgende überspringen und unten weiterlesen
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
function read_txt(path,name:string):tstringlist;
var list:tstringlist;
begin
  list := tstringlist.create;
  list.loadfromfile(path+name+'.txt');
  result := list;
end;

Damit öffnest du die datei
über
ausblenden Delphi-Quelltext
1:
s := list.strings[x];					

kannst du dann den inhalt der einzelnen zeilen abfragen.
(s ist der string in dem das ganze gespeichert wird, x die zeile !ACHTUNG die zeilenzählung fängt mit 0 an! )


So nun zu deiner frage:
Wenn du die text datei zb so aufgebaut hast:
ausblenden Quelltext
1:
2:
{Mehrwertsteuer 2004}
16


dann nimmst du folgenden Code im Programm
ausblenden Delphi-Quelltext
1:
mvst := nettobetrag / 100 * strtotint(list.strings[1]);					


dann musst du nur die text in der entsprechenden Zeile abändern


Ich weiß ist nicht ganz genau das was du wolltest, aber kommt dem nahe
ByStones Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 92
Erhaltene Danke: 1

Windows XP
Delphi 2005
BeitragVerfasst: So 27.03.05 14:17 
Das ist schon richtig, aber ich will, dass der inhalt wie Quelltext behandelt wird.

In der *.txt Datei:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
if Edit1.Text = 'Test' then
begin
showmessage ('Richtig');
end
else
showmessage ('Falsch');


Im Quelltext der Delphi-EXE soll es nach der einbindung so aussehen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
if Edit1.Text = 'Test' then
begin
showmessage ('Richtig');
end
else
showmessage ('Falsch');
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: So 27.03.05 14:42 
Hi
kurze und bündige Antwort: Geht nicht.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: So 27.03.05 14:44 
du müsstest as in dll auslagern die kannste dann einfach weitergeben als plugins bentuzen oder immer eine ersetzen mit der neuen version

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
ByStones Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 92
Erhaltene Danke: 1

Windows XP
Delphi 2005
BeitragVerfasst: So 27.03.05 14:46 
user profile iconLCS hat folgendes geschrieben:
Hi
kurze und bündige Antwort: Geht nicht.

Gruss Lothar

Aber andere Programme können das auch !!!!!!!!!!!!
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: So 27.03.05 14:47 
Aber nicht so wie du das willst. Und nicht ohne riesen Aufwand.

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: So 27.03.05 14:50 
andere programme haben nur eine script sprache d.h.
die lesen selbst den inhalt aus und bearbeiten den weiter

also musst dann selbst schauen wenn da nen IF steht musst du das und das machen wenn da nen while steht jenes etc.

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Di 29.03.05 12:48 
Wenn du den neuen quellcode in die txt datei schreiben willst, dann musst du dir einen Interpreter schreiben, ich weiß aber nicht wie das geht

Das Problem an der Sache ist nämlich das du strings nicht als Code bezeichnen kannst. (Zum glück, sonst könnte ich über bestimmte eingaben ganze Programmteile hinzufügen, ausnutzen... (siehe zb SQL-Injection)