Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi #13#10 funzt in synedit nicht! (https://www.delphipraxis.net/44099-13-10-funzt-synedit-nicht.html)

nitroex 13. Apr 2005 15:58


#13#10 funzt in synedit nicht!
 
Hi @all

Ich habe ein Problem: in Synedit (diese Highlight-Komponente; Edit UND Memo) kann man einen Zeilenumbruch NICHT mit #13#10 einfügen, muss ich aber, da ich ein Template auslese und alle '|' mit einem Zeilenumbruch mithilfe von Stringreplace (a := stringreplace(a,'|', #13#10,[rfReplaceAll, rfIgnoreCase]);) ersetzen will. da kommt dann nur soetwas raus: blablablablabla

WIE geht das?

mfg :: ich

toms 13. Apr 2005 16:00

Re: #13#10 funzt in synedit nicht!
 
Hallo!

Sollte so funktionieren:

Delphi-Quellcode:
a := stringreplace(a,'|', #$D#$A ,[rfReplaceAll, rfIgnoreCase])

malo 13. Apr 2005 16:01

Re: #13#10 funzt in synedit nicht!
 
Versuch mal "#13#10" durch "#13+#10" zu ersetzen. Also so:

Delphi-Quellcode:
a := stringreplace(a,'|', #13 + #10,[rfReplaceAll, rfIgnoreCase]);
Ungetestet ;)

//edit: @Toms: So, wie ich das sehe, ist das doch nur die hexadezimale Schreibweise, ansonsten gibt es jedoch keine Unterschiede. "#13#10" ist imho 100% gleichbedeutend mit "#$D#$A" ;)

bigg 13. Apr 2005 16:02

Re: #13#10 funzt in synedit nicht!
 
Nein das geht so nicht.
SynEdit unterstützt mehrere Zeilenumbruchformate: Windows, UNIX und MAC.

Machs doch wie folgt:
Such dir mit Hilfe von Pos() dein Zeichen aus dem Template und dann fügst du mit
SynEdit.Lines.Add() eine neue Zeile hinzu.

Dann suchst du den nächsten "Umbruch" aus deinem Template
und immer so weiter.

Dax 13. Apr 2005 16:04

Re: #13#10 funzt in synedit nicht!
 
@toms: #$D#$A ist #13#10 in Hex.. also nichts anderes
@malo: Chars mit angegebenem Code werden automatisch zu Strings zusammengefügt

Versuchs mal mit entweder nur #10 oder #13. Sollte eigentlich klappen.
PS: #13#10 geht bei mir als EOL-Identifier.. :gruebel:

jim_raynor 13. Apr 2005 16:06

Re: #13#10 funzt in synedit nicht!
 
So wie bigg schreibt. Add fügt wirklich eine neue Zeile hinzu und schert sich nicht um Zeilenumbrüche. Am einfachsten, dafür am langsamsten ist, wenn du SynEdit.Lines.Text := SynEdit.Lines.Text + NeuerText machst.
Ansonsten. Auch #13 + #10 ist das gleiche wie #13#10 ;)

toms 13. Apr 2005 16:07

Re: #13#10 funzt in synedit nicht!
 
Zitat:

Zitat von Dax
@toms: #$D#$A ist #13#10 in Hex.. also nichts anderes

Hab's mal mit #13#10 probiert. geht nicht.
Hab's mal mit #$D#$A probiert. geht.

bigg 13. Apr 2005 16:11

Re: #13#10 funzt in synedit nicht!
 
Zitat:

Zitat von toms
Zitat:

Zitat von Dax
@toms: #$D#$A ist #13#10 in Hex.. also nichts anderes

Hab's mal mit #13#10 probiert. geht nicht.
Hab's mal mit #$D#$A probiert. geht.

Geht es auch, wenn du das UNIX-Format verwendest?

nitroex 13. Apr 2005 16:12

Re: #13#10 funzt in synedit nicht!
 
erstmal danke an alle, ging ja schnell!

#$D#$A ist #13#10 und auch #13#10 funzen nicht, immer wieder die lustigen rechtecke ...

mit synedit.lines.add('') könnte ich es zwar machen, iss aber ein bisschen aufwendig ... :roll:

'SynEdit.Lines.Text := SynEdit.Lines.Text + NeuerText' iss nicht so gut, da ich auch mittendrin etwas ersetzen will/muss ...

sonst noch einfachere vorschläge?

Speedmaster 13. Apr 2005 16:12

Re: #13#10 funzt in synedit nicht!
 
Wie isn das eigentlich zum Thema Syn-Edit, woher bekomme ich so einen Syntaxhighlighter mit Codefolding??


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