![]() |
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'); ..... |
AW: Texte in Quellcode einfügen
Man kann sie z.b. als Resource in die Exe eincompilieren und über HInstance und Resourcenname darauf zugreifen.
|
AW: Texte in Quellcode einfügen
Eine andere Möglichkeit wäre:
Delphi-Quellcode:
Ist es das was Du wolltest?
const
text1='erste Zeile'; text2='zweite zeile'; text3='unbekannter Fehler'; tea=array [0..2] of string[10]=('0123456789','noch mehr '); Gruß K-H |
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:
, sowie die aufgeführten Dateien aus obiger Datei
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" |
AW: Texte in Quellcode einfügen
Zitat:
|
AW: Texte in Quellcode einfügen
Zitat:
|
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) |
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. |
AW: Texte in Quellcode einfügen
Dann nimm den Text als const auf:
Delphi-Quellcode:
oder
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"';
Delphi-Quellcode:
Gruß
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"'; K-H |
AW: Texte in Quellcode einfügen
Zitat:
Delphi-Quellcode:
:mrgreen:
System.sLineBreak
|
AW: Texte in Quellcode einfügen
Liste der Anhänge anzeigen (Anzahl: 1)
Oh, vertan, es muß
Delphi-Quellcode:
heißen.
CRLF=#$0D0A
was das sLineBreak angeht, schön das es das als Konstante gibt, nur Delphi weiß es immer noch nicht oder falsch gesucht?? Gruß K-H |
AW: Texte in Quellcode einfügen
Zitat:
|
AW: Texte in Quellcode einfügen
Man muß nur lang genug suchen:
Delphi-Quellcode:
aus der SYSTEM.PAS von XE, bis 2006 gab es sLineBreak noch nicht.
const
sLineBreak = {$IFDEF LINUX} AnsiChar(#10) {$ENDIF} {$IFDEF MSWINDOWS} AnsiString(#13#10) {$ENDIF} {$IFDEF MACOS} AnsiChar(#10) {$ENDIF}; (die Indys kanntes es wohl schon früher...) Gruß K-H |
AW: Texte in Quellcode einfügen
Zitat:
Delphi-Quellcode:
oder
CRLF=#$0D#$0A
Delphi-Quellcode:
CRLF=#13#10
Das sind ja zwei Chars mit $0D und $0A, bzw. $000D und $000A bei Unicode und nicht ein Unicode-Char mir $0D0A. :zwinker: |
AW: Texte in Quellcode einfügen
:oops::oops:
Zuviel Kalk im Hirn Pardon K-H |
AW: Texte in Quellcode einfügen
Man kann das auch ganz "billig" haben, ohne Resourcen usw. Einfach eine Memo-Komponente auf eine Form, den Lines-Editor aufrufen und den Text hereinkopieren. Memo auf invisible und fertig. Analog geht das mit Script-Komponenten wie z.B. TIBCScript von Devart, die man dann auch noch Ausführen kann um z.B. Stored Procedures in der Datenbank zu ändern oder zu erstellen.
|
AW: Texte in Quellcode einfügen
Das stimmt nicht so ganz. :tongue:
DFM werden auch als Resourcen in die EXE eingebunden und insgesammt werden dadurch sogar mehr Resourcen verwendet. - die DFM-Resource ist natürlich größer, als die reine TEXT-Resource - mehr Systemresourcen werden benötigt, da diese Form dann auch noch geladen/erstellt werden muß. (seit D2009 sind dann über 2 Mal soviel RAM zusätzlich belegt) - und ein bissl zusätzliche Rechenzeit und usw. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz