AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit SynEdit

Ein Thema von oki · begonnen am 19. Jun 2007 · letzter Beitrag vom 19. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

Probleme mit SynEdit

  Alt 19. Jun 2007, 14:57
Hi Leute,

nun teste ich das Synedit, und schon seh ich nicht durch.

folgender Text:
Zitat:

{*LogInfoStart*}
[Header]
Stamp=18.06.2007 10:10:10
Sender=TServerSocketForm
InfoType=Programm
Action=Programm
[Message]
{************************************************* **********************}
GPRSCommunicator gestartet
{*LogInfoEnd*}

{*LogInfoStart*}
[Header]
Stamp=18.06.2007 10:10:10
Sender=TServerSocketForm
InfoType=Programm
Action=User
[Message]
Programmeinstellungen: Autostart der Datenbank aktiviert
{*LogInfoEnd*}

{*LogInfoStart*}
[Header]
Stamp=18.06.2007 10:10:11
Sender=TServerSocketForm
InfoType=Programm
Action=Programm
[Message]
Datenbank geöffnet
{*LogInfoEnd*}

{*LogInfoStart*}
[Header]
Stamp=18.06.2007 10:10:11
Sender=TServerSocketForm
InfoType=Programm
Action=User
[Message]
Programmeinstellungen: GMT-Zeitkorrektur aktiviert
{*LogInfoEnd*}
Das ist natürlich nur ein Ausschnitt.
Nun der Teil der Formatierung die funzt:
Zitat:
TSynSampleSyn {first Identifier is considered to be the Class Name }
tk {second Identifier is considered to be the Identifier Prefix }
IdentStart '_', 'a'..'z', 'A'..'Z':: '_', '0'..'9', 'a'..'z', 'A'..'Z'::

TOKENTYPES
Identifier
Comment Style=[fsItalic]|Foreground=clgreen
Key Foreground=clNavy|Style=[fsBold]
HeaderInfo Style=[fsBold]
|><|

KEYS
Stamp
Sender
InfoType
ClientHandle
PhoneNumber
AddInfoType
Action
|><|

KEYS HeaderInfo
Header
Message
|><|

CHARS

'A'..'Z', 'a'..'z', '_':: Ident

BeginProc
fTokenID := IdentKind((fLine + Run));
inc(Run, fStringLen);
while Identifiers[fLine[Run]] do
Inc(Run);
EndProc

|><|

ENCLOSEDBY

Comment,BraceComment,{,},MultiLine

|><|
Jetzt möchte ich aber die Keys [Header] und [Message] sowie Stamp=, Sender= usw. highlighten. Aber das geht in die Hose.

Kann mir einer sagen warum?

Gruß oki
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 14:59
Hi oki,

willst Du, dass diese unterschiedlich gehighlightet werden? Willst du, dass das = bei Stamp mithervorgehoben wird? Die [] auch mit hervorheben?
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 15:08
= und [] mit hervorheben
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 15:09
So sollte das funktionieren:

Code:
TSynSampleSyn {first Identifier is considered to be the Class Name }
tk {second Identifier is considered to be the Identifier Prefix }
IdentStart '_', 'a'..'z', 'A'..'Z', '0'..'9', '=', '[', ']' { Man beachte hier die = [ ] }

TOKENTYPES
Identifier
Comment Style=[fsItalic]|Foreground=clgreen
Key Foreground=clNavy|Style=[fsBold]
HeaderInfo Style=[fsBold]
|><|

KEYS
Stamp=
Sender=
InfoType=
ClientHandle=
PhoneNumber=
AddInfoType=
Action=
|><|

KEYS HeaderInfo
[Header]
[Message]
|><|

CHARS

'A'..'Z', 'a'..'z', '_', '=', '[', ']':: Ident { Hier auch die = [ ] beachten }

BeginProc
fTokenID := IdentKind((fLine + Run));
inc(Run, fStringLen);
while Identifiers[fLine[Run]] do
Inc(Run);
EndProc

|><|

ENCLOSEDBY

Comment,BraceComment,{,},MultiLine

|><|
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 15:14
Hi Muhkuh,

Dank schon mal. Was soll aber der Doppeleintrag hinter IdentStart mit dem doppelten Doppelpunkt?
Zitat:
IdentStart '_', 'a'..'z', 'A'..'Z':: '_', '0'..'9', 'a'..'z', 'A'..'Z'::
Gruß oki
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 15:21
Wenn ich das so tue, dann highlightet er alle Bezeichner, hinter denen Ziffern stehen, die mit Text dahinter ignorierte er.

Hier wird Stamp= blau:
Zitat:
Stamp=18.06.2007 10:10:10
und hier wird Sender= ignoriert:
Zitat:
Sender=TServerSocketForm
Füge ich hinter dem = ein Space ein, so klappt es wieder.
Wie nu?

Gruß oki
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 16:02
Hi,

ob man jetzt dem Ding sagen, wann er was highlighten soll, bezweifle ich (also über die Grammatikdatei).

Wenn man das von Hand nachbaut, funktioniert das ohne Probleme. Wenn Du hierzu ein kleines Beispiel wünscht, sag bescheid.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 16:11
Hi Manuel,

ich hab das jetzt so gemacht:
Zitat:
TSynSampleSyn {first Identifier is considered to be the Class Name }
tk {second Identifier is considered to be the Identifier Prefix }
IdentStart '_', 'a'..'z', 'A'..'Z', '[', ']', '$'

TOKENTYPES
Identifier
Comment Style=[fsItalic]|Foreground=clgreen
Key Foreground=clNavy|Style=[fsBold]
HeaderInfo Style=[fsBold]
|><|

KEYS
Stamp
Sender
InfoType
ClientHandle
PhoneNumber
AddInfoType
Action
|><|

KEYS HeaderInfo
[Header]
[Message]
|><|

CHARS

'A'..'Z', 'a'..'z', '_', '[', ']', '$':: Ident

BeginProc
fTokenID := IdentKind((fLine + Run));
inc(Run, fStringLen);
while Identifiers[fLine[Run]] do
Inc(Run);
EndProc

|><|

ENCLOSEDBY

Comment,BraceComment,{,},MultiLine

|><|
damit werden dann die = nicht mitgenommen, aber damit kann ich leben. Das $ hab ich eingefügt, weil bei mir in den Nutzdaten "$Phonenumber=" auf taucht. Das wird jetzt auch nicht markiert. so soll es sein.

ein Beispiel bräuchte ich jetzt aber für meinen Nutztext hinter [Message] bis {*LogInfoEnd*}. die beiden Bezeichner sollen daber nicht hervorgehoben werden (Mach ich ja schon seperat).

Gruß oki
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 16:25
Hallo oki,

meinst Du jetzt als Bezeichner "Programmeinstellungen"? Ansonsten sehe ich zwischen [Message] und {*LogInfoEnd*} keinen Bezeichner, der hervorgehoben wird (laut Deiner letzten Grammatik).
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Probleme mit SynEdit

  Alt 19. Jun 2007, 16:39
Tschuldige, falsch erläutert. Nach [Message] können mehrere Zeilen folgen. Das sind meine "Nutzdaten". Die will ich in einem anderen Style haben. Schluß mit dem Nutztext ist bei {*LogInfoEnd*} für diesen Block.

Bsp.:
Zitat:
{*LogInfoStart*}
[Header]
Stamp=11.06.2007 08:11:42
Sender=TGPRSReceiveServerClientWinSocket
InfoType=GPRSClient
ClientHandle=2425200
PhoneNumber=+49151
AddInfoType=received
Action=Programm
[Message]
$Stepp_3011*1E
$GPRMC,060905.204,A,5116.3166,N,00423.5506,E,0.00, 78.20,110607,,*31
$<end>

{*LogInfoEnd*}

{*LogInfoStart*}
[Header]
Stamp=11.06.2007 08:11:42
Sender=TGPRSReceiveServerClientWinSocket
InfoType=GPRSClient
ClientHandle=2425200
PhoneNumber=+49151
AddInfoType=decode
Action=Programm
[Message]
************************************************** *************
Ortas Positionsmeldung decodiert:
Rufnummer : +49151
Status : 3011 [Zuendung EIN]
TimeStamp : 11.06.07 08:09:05
Latitude : 51,27
Longitude : 4,39
SAT : 3D
Geschwindigkeit : 0,00
Richtung : 78,20
************************************************** *************
{*LogInfoEnd*}
Hervorheben möchte ich zusätzlich:
Zitat:
$Stepp_3011*1E
$GPRMC,060905.204,A,5116.3166,N,00423.5506,E,0.00, 78.20,110607,,*31
$<end>
und
Zitat:
************************************************** *************
Ortas Positionsmeldung decodiert:
Rufnummer : +49151
Status : 3011 [Zuendung EIN]
TimeStamp : 11.06.07 08:09:05
Latitude : 51,27
Longitude : 4,39
SAT : 3D
Geschwindigkeit : 0,00
Richtung : 78,20
************************************************** *************
Wenns nicht so ohne weiters geht, ändere ich eben mein Log. (Schreibt ja ein anderes Programm von mir)

Gruß oki
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.
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