Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Quelltext in Quelltext setzten (https://www.delphipraxis.net/147245-quelltext-quelltext-setzten.html)

BrightAngel 4. Feb 2010 13:23

Re: Quelltext in Quelltext setzten
 
Hallo und willkommen in der DP!
Ich vermute mal du kommst aus der HTML oder script ecke? :-D
Die Sache ist die: Jede Unit besteht aus mehreren Teilen.
Grob gesehen aus dem Interface-Teil in der die Funktionen "vorgestellt" werden und dem Implementation-Teil der dann die Tatsächliche Funktion beschreibt.

Wenn du zwei Units hast und in beiden dinge drin sind die du brauchst, so kannst du sie zusammenführen indem du die beiden Teile jeweils zusammenführst.

Bei Scripts ist es noch so, dass du während des Ausführens auf den Code zugreifen kannst.
Bei Delphi, wird der Quelltext in Maschinencode umgewandelt, welcher nicht mehr direkt auslesbar ist.

Wenn du uns allerdings verrätst was du denn damit vorhast, können wir dir vlt. besser weiterhelfen???
:thumb:

Brighty

IntErES 4. Feb 2010 13:24

Re: Quelltext in Quelltext setzten
 
Kann ich es nicht irgendwie als globale Variable deklarieren?Ich versteh nicht wie ich den ganzen Code eintragen soll
zum Beispiel:

Quelltext(B)

mystring:='Quelltext(B)....
...
...
end.'

Aber so geht es doch nicht oder,weil:
1)Delphi nimmt doch nur eine Zeile wahr,oder?
2)Die ganzen Symbole(;,. usw.)entkraften doch das " ' ",oder?

Naja ich bin auf jedenfall total verwirrt^^,könntet ihr mir vielleicht ungefähr zeigen wie ich das realisieren soll?

DeddyH 4. Feb 2010 13:26

Re: Quelltext in Quelltext setzten
 
Zitat:

Zitat von BrightAngel
Wenn du uns allerdings verrätst was du denn damit vorhast, können wir dir vlt. besser weiterhelfen???


IntErES 4. Feb 2010 13:31

Re: Quelltext in Quelltext setzten
 
Da waren wohl einige schneller als mein letzter Post^^.

@p80286 Ich glaube du hast meine Lösung gebracht,wieso bin ich selbst nicht auf so was gekommen :glaskugel:
Aber wieso machst du es als Konstante?Kann ich es nicht eifach als globale Variable deklarieren?Ich meine bei dieser Art der globalen Variable könnte man es doch ruhig machen,es würde keine Probleme geben,oder?

Mein Vorhaben:Ich will Quelltext(B) nur nach Zeilen auslesen,bei meinem eigentlichen Programm.Also Buttonklick=Quelltext(B)+pos usw.

BrightAngel 4. Feb 2010 13:33

Re: Quelltext in Quelltext setzten
 
Delphi bricht das Interpretieren am Zeilenende nicht ab.
Der Strichpunkt dient als Seperator.

Es funktioniert so:

Delphi-Quellcode:
var
  global:string;

function MeineFunktion:Boolean;
var
  privat:string;
begin
  privat:='Ich bin von Außen nicht zugänglich!'+#13+
          'Im Quellcode kann man mich auch zweizeilig schreiben!';
 
  global:='Es sind auch Sonderzeichen möglich! Beweis:
function test:integer;
begin

end;';

Result:=True;
end;

p80286 4. Feb 2010 13:42

Re: Quelltext in Quelltext setzten
 
ich hab die Konstante gewählt, weil ich damit konstante Werte einem Programm übergebe.
Eine Variable dagegen ist für veränderbare Werte vorgesehen.
Da würde sich ein TMemo wohl eher anbieten (vgl #10 von FatalError) oder ein Tstringlist oder ....

Aber so richtig verstanden was Du willst hab ich immer noch nicht.

Gruß
K-H

IntErES 4. Feb 2010 13:43

Re: Quelltext in Quelltext setzten
 
@BrightAngel Danke dir ich glaube ich hab es verstanden.Dann wäre das hier jetzt doch richtig oder?

var
meinstring: 'unit Unit1;'+

'interface'+

'uses'+
'Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,'+
'Dialogs;'+

'type'+
'TForm1 = class(TForm)'
'private'+
'{ Private-Deklarationen }'+
'public'+
.....

Oder?Und wenn ich fertig bin dann einfach das " ; ",stimmts?

@p80286 Achso,ok ich danke dir auch du hast mir sehr geholfen,DP ist wirklich sehr gutes Forum,schnelle Antworten,gut verständliche Hilfe,ich danke euch allen.

DeddyH 4. Feb 2010 13:45

Re: Quelltext in Quelltext setzten
 
Du solltest aber auch noch die Zeilenumbrüche einfügen (dafür gibt es die Konstante sLineBreak), sonst steht in Deiner Konstanten/Variablen alles direkt hintereinander.

fatalerror 4. Feb 2010 13:45

Re: Quelltext in Quelltext setzten
 
Sorry, aber das ist widerspricht doch jeglichem effizientem Denken, was ihr da vorschlägt!

Wenn ich das in max 2 Minuten mit einem Memo gelöst habe (mit CTRL + C -> Ctrl + V) weshalb soll ich den den Ursprungsquelltext irgendwie als String oder Konstante innerhalb des Quellcodes zusammenpfriemeln mit komplizierten Stringverkettungen.

im objektinsoektor:

memo1.visible:= false;
memo1.wordwrap:= false;
memo1.lines öffnen + ctlr + v (Text wird eingefügt)

dann um den Colde anzuzeigen sowas wie:
Delphi-Quellcode:
var
  i: Integer;
begin
  for i:= 0 to memo1.lines.count - 1 do
    showmessage(memo1.lines[i]);
end;

IntErES 4. Feb 2010 13:53

Re: Quelltext in Quelltext setzten
 
@DeddyH Das würde dann so aussehen:

'unit Unit1'sLinebreak+
....


oder:

'unit Unit1 sLinebreak'+
....

???

@fatalerror
Ich möchte als einziger in der Lage sein den Quelltext(B) auszulesen,sprich um zu sehen wo genau die "benötigten" Zeilen sind.
Mit einem Memo wird mir doch alles angezeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.
Seite 2 von 6     12 34     Letzte »    

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