Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Texte in Quellcode einfügen (https://www.delphipraxis.net/170527-texte-quellcode-einfuegen.html)

franktron 21. Sep 2012 10:33

Texte in Quellcode einfügen
 
Kennt einer von euch eine Möglichkeit Textdateien in den Quellcode einzufügen und zwar so.

z.b.
Delphi-Quellcode:
StringList.Add('Zeile1');
StringList.Add('Zeile2');
StringList.Add('Zeile3');
.....

QuickAndDirty 21. Sep 2012 10:35

AW: Texte in Quellcode einfügen
 
Man kann sie z.b. als Resource in die Exe eincompilieren und über HInstance und Resourcenname darauf zugreifen.

p80286 21. Sep 2012 10:48

AW: Texte in Quellcode einfügen
 
Eine andere Möglichkeit wäre:
Delphi-Quellcode:
const
  text1='erste Zeile';
  text2='zweite zeile';
  text3='unbekannter Fehler';

  tea=array [0..2] of string[10]=('0123456789','noch mehr ');
Ist es das was Du wolltest?

Gruß
K-H

Bummi 21. Sep 2012 11:02

AW: Texte in Quellcode einfügen
 
wir bevorzugen ebenfalls die Resourcen

Anhand eines Beispiels

Delphi-Quellcode:
{$R 'MySQLS.res' 'resources\MySQLS.rc'}



function LoadSqlResource(resourceName: string): string;
var
  rs: TResourceStream;
  sl, sl2 : TStringList;
  s : string;
begin
  rs := nil;
  sl := nil;
  sl2 := nil;

  try
    sl := TStringList.Create;
    sl2 := TStringList.Create;
    rs := TResourceStream.Create(hinstance, resourceName, RT_RCDATA);

    rs.Position := 0;
    sl.LoadFromStream(rs);

    for s in sl do
    begin
      if not StartsText('--', s) then
        sl2.Add(s);
    end;
  finally
    if Assigned(sl) then sl.Free;
    if Assigned(rs) then rs.Free;
  end;

  Result := sl2.Text;
  if Assigned(sl2) then sl2.Free;
end;

im Unterordern resources eine Datei MySQLS.rc mit Inhalt
Code:
ModuleCodes_Selectieren        RCDATA "SelModuleCodes.sql"
OffenePosten_Belege_Selectieren RCDATA "SelOffenePostenBelege.sql"
OffenePosten_Kunden_Selectieren RCDATA "SelOffenePostenKunden.sql"
Kundeninfo_Selectieren         RCDATA "SelKundeninfo.sql"
Rechnungen_Selectieren         RCDATA "SelRechnungen.sql"
Kreditor_Selectieren           RCDATA "SelKreditor.sql"
, sowie die aufgeführten Dateien aus obiger Datei

Uwe Raabe 21. Sep 2012 11:06

AW: Texte in Quellcode einfügen
 
Zitat:

Zitat von franktron (Beitrag 1183833)
Kennt einer von euch eine Möglichkeit Textdateien in den Quellcode einzufügen und zwar so.

z.b.
Delphi-Quellcode:
StringList.Add('Zeile1');
StringList.Add('Zeile2');
StringList.Add('Zeile3');
.....

Der ModelMaker Code Explorer hat dazu einen multi line surround wizard, mit dem man das ganz hervorragend lösen kann.

franktron 21. Sep 2012 11:30

AW: Texte in Quellcode einfügen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1183850)
Zitat:

Zitat von franktron (Beitrag 1183833)
Kennt einer von euch eine Möglichkeit Textdateien in den Quellcode einzufügen und zwar so.

z.b.
Delphi-Quellcode:
StringList.Add('Zeile1');
StringList.Add('Zeile2');
StringList.Add('Zeile3');
.....

Der ModelMaker Code Explorer hat dazu einen multi line surround wizard, mit dem man das ganz hervorragend lösen kann.

Und wo finde ich das. Ich habe BDS XE2 Pro

himitsu 21. Sep 2012 11:37

AW: Texte in Quellcode einfügen
 
Oder pack den Text in eine TEXT-Resource ... dort kannst du das ohne Probleme direkt reinkopieren, oder es über eine .txt-Datei dort einbinden.

Es kommt drauf an wie groß deine Datei ist, aber direkt im Quellcode bekommst du eventuell Probleme ... zuviele lokale Konstanten
(da wird sich mit Sicherheit was über die Forensuche zu finden lassen)

franktron 21. Sep 2012 11:53

AW: Texte in Quellcode einfügen
 
Das mit den Res ist mir schon bekannt aber ich will wirklich Textzeilen die den Quelltext einbauen, die Zeile sind nicht so gross und der Umgang mit den Res würde wesentlich mehr Code produzieren.

Ausserdme hat man das öfftermal schnell einen Text kopieren und dann einfügen, und dann jedesmal immer wieder z.b. Stringlist.add('text') zu machen nervt einfach.

p80286 21. Sep 2012 12:13

AW: Texte in Quellcode einfügen
 
Dann nimm den Text als const auf:
Delphi-Quellcode:
const
  mytext='ModuleCodes_Selectieren       RCDATA "SelModuleCodes.sql" '+
         'OffenePosten_Belege_Selectieren RCDATA "SelOffenePostenBelege.sql"'+
         'OffenePosten_Kunden_Selectieren RCDATA "SelOffenePostenKunden.sql"'+
         'Kundeninfo_Selectieren        RCDATA "SelKundeninfo.sql"'+
         'Rechnungen_Selectieren        RCDATA "SelRechnungen.sql"'+
         'Kreditor_Selectieren          RCDATA "SelKreditor.sql"';
oder
Delphi-Quellcode:
const
  CRLF=$0D0A
  mytext='ModuleCodes_Selectieren       RCDATA "SelModuleCodes.sql" '+CRLF+
         'OffenePosten_Belege_Selectieren RCDATA "SelOffenePostenBelege.sql"'+CRLF+
         'OffenePosten_Kunden_Selectieren RCDATA "SelOffenePostenKunden.sql"'+CRLF+
         'Kundeninfo_Selectieren        RCDATA "SelKundeninfo.sql"'+CRLF+
         'Rechnungen_Selectieren        RCDATA "SelRechnungen.sql"'+CRLF+
         'Kreditor_Selectieren          RCDATA "SelKreditor.sql"';
Gruß
K-H

uligerhardt 21. Sep 2012 12:40

AW: Texte in Quellcode einfügen
 
Zitat:

Zitat von p80286 (Beitrag 1183869)
Delphi-Quellcode:
const
  CRLF=$0D0A

Delphi-Quellcode:
System.sLineBreak
:mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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