Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 Editor farbige Klammern
Autor: Wilfried Heyse2 (---.dynamic.gprs.plus.pl)
Datum:   24.08.16 18:10

Hallo,
vor langer, langer Zeit hatte ich mal für Autolisp (Autocad) noch zu DOS Zeiten einen Editor, der automatisch für die Klammersetzung Farben vergeben hat.
Gibt es so etwas noch? Natürlich nicht mehr für DOS :lol:

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Michael Wodrich (---.customer.vsm.sh)
Datum:   24.08.16 20:43

Heutige Editoren markieren ein Klammernpaar wenn man auf einer der Klammern steht. So kann erkannt werden ob es eine zugehörige öffnende/schließende Klammer gibt.

Wie lief das mit dem Editor denn genau ab. Wird eine Farbe für die Klammern gewählt oder automatisch zugeteilt. Oder wurde der geklammerte Teil eingefärbt?

Keine Ahnung was Du da genau meinst...

--
Programmieren, das spannendste Detektivspiel der Welt.
Programmierumgebung: | XProfan (neueste) | Win (neueste)


Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Wilfried Heyse2 (---.dynamic.gprs.plus.pl)
Datum:   24.08.16 22:54

Ja, das es Editoren gibt, welche die jeweils gewählten Klammern ausleuchten, habe ich auch schon gesehen. Aber der mir im Moment nicht erinnerbare Editor hat automatisch z.B. f. die erste Klammer die Farbe rot angelegt, für die zweite gelb, die dritte blau usw. So konnte man auf Anhieb erkennen, ob eine Klammer nicht, oder schon geschlossen war. Ähnliches habe ich leider in den mir unter Windows bekannten Editoren bisher nicht gefunden.

Da werde ich mal ein wenig baggern müssen. Vielleicht, aber auch nur vielleichr, kann ich diesen noch irgendwo ausgraben.
Es scheint, als wäre ich irgendwie Lisp-geschädigt. Die Programmierung darin war (oder ist) ein einziges "Klammergebirge". Vermutlich auch daher der für mich bisher einmalige Editor. Leider ist das alles schon über 15 Jahre her, und der Mensch ist vergesslich. Da nehme ich mich insbesondere nicht aus.

Aber (nicht nur) meine Augen werden mit den Jahren immer schlechter. Da käme mir heute so etwas wieder ganz gelegen. Um nicht erst beim kompilieren die Meldung "Fehlende Klammer Zeile xxx" zu erhalten. Wobei dann noch nicht eimal klar ist, ob es sich um eine Klammer am Anfang oder Ende handelt.
Ich bleibe dran und melde mich. Vielleicht hilft es neben mir auch dem Einen oder Anderen.

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Jörg Sellmeyer (---.dip0.t-ipconnect.de)
Datum:   25.08.16 17:11

Es sollte zumindest ein Leichtes sein, in den ProfEd einen Check einzubauen, der beim Zeilenwechel eine Meldung ausgibt, ob die Klammernanzahl zusammenpassen.
 Proc KlammerCheck
   Parameters Zeile$
   If Len(Zeile$,"(") <> Len(Zeile$,")")
     MessageBox(Ungleiche Anzahl geöffneter/ungeöffneter Klammern","Achtung",0)
   EndIf
 EndProc
 
 

Dann merkt man das zumindest nicht erst beim Compilieren.

_____________________________________
Man sollte seiner Zeit nicht zu weit voraus sein

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Wilfried Heyse2 (---.dynamic.gprs.plus.pl)
Datum:   26.08.16 16:39

Ist doch schon mal etwas. Danke.

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Jörg Sellmeyer (---.dip0.t-ipconnect.de)
Datum:   27.08.16 15:06

So könnte dann eine etwas ausgefeiltere und weniger nevige Version aussehen:

 $H messages.ph
 Def LINEFROMCHAR(2) SendMessage(&(1),~EM_LINEFROMCHAR,%(2),0)
 Proc CheckBrackets
   Parameters Int Zeile, String Text, Handle hTarget
   Declare String sOut
   sOut = Translate$("Zeile " + Str$(Zeile + 1) + ": offene/geschlossene Klammern " + Str$(Len(Text,"(") - 1) + "/" + Str$(Len(Text,")") - 1),"-1","0")
   SetText hTarget, sOut
 EndProc
 
 Cls
 Var Handle hEdit = Create("MultiEdit",%hwnd,"",10,10,400,380)
 Var Handle hStatus = Create("StatusWindow",%hwnd,"Test")
 
 While 1
   WaitInput
   CheckBrackets(SendMessage(hEdit,~EM_LINEFROMCHAR,-1,0),GetString$(hEdit,SendMessage(hEdit,~EM_LINEFROMCHAR,-1,0)),hStatus)
 Wend
 


_____________________________________
Man sollte seiner Zeit nicht zu weit voraus sein

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Wilfried Heyse2 (---.echostar.pl)
Datum:   07.09.16 07:59

Danke, aber das muss ich mir erst einmal auf der Zunge zergehen lassen, sprich verinnerlichen. Im Moment fehlt mir leider der Nerv dazu, weil ich mit anderen Dingen leicht überfordert bin. Aber ich komme bestimmt darauf zurück. Kann aber etwas dauern.

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Jörg Sellmeyer (---.dip0.t-ipconnect.de)
Datum:   11.09.16 17:39

Es ist ganz leich. einzubauen. Einfach die Prozedur und Funktionsdeklaration in den Quelltext übernehmen und nach dem WaitInput in der Hauptschleife die Zeile aus der Whileschleife (CheckBrackets(...)) einfügen.
In dieser Zeile müssen natürlich die Handles für das RichEdit-Control und für die Statusbar angepasst werden und der Statusbar noch ein Feld hinzugefügt werden.
@Roland: Vielleicht magst du das ja bei dir einbauen.

Hier ist nochmal eine etwas mehr an den Editor angepasste Version:
 $H messages.ph
 Def LINEFROMCHAR(2) SendMessage(&(1),~EM_LINEFROMCHAR,%(2),0)
 Proc CheckBrackets
   Parameters Int Zeile, String Text, Handle hTarget, Int iFeld
   Declare String sOut
   sOut = Translate$("Zeile " + Str$(Zeile + 1) + ": offene/geschlossene Klammern " + Str$(Len(Text,"(") - 1) + "/" + Str$(Len(Text,")") - 1),"-1","0")
   SetText hTarget, iFeld, sOut
 EndProc
 
 Cls
 Var Handle hEdit = Create("RichEdit",%hwnd,2,10,10,400,380)
 Var Handle hStatus = Create("StatusWindow",%hwnd,"Test")
 
 While 1
   WaitInput
   CheckBrackets(SendMessage(hEdit,~EM_LINEFROMCHAR,-1,0),GetString$(hEdit,SendMessage(hEdit,~EM_LINEFROMCHAR,-1,0)),hStatus,0)
 Wend
 

Als letzter Parameter wird noch der Feldindex der Statusbar übergeben.

_____________________________________
Man sollte seiner Zeit nicht zu weit voraus sein

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Michael Wodrich (---.customer.vsm.sh)
Datum:   11.09.16 18:45

Für das iFeld muss dann ja auch StatusWindow um 2 Parameter ergänzt werden. Habs mal gemacht. Das läuft einwandfrei.

Aber in dieser Form werden ja nur die Klammer in einer Zeile gezählt, nimmt man dann eine weitere Zählung auf, die über den gesamten Text zählt (in eigenem iFeld), dann wird's etwas langsam.

--
Programmieren, das spannendste Detektivspiel der Welt.
Programmierumgebung: | XProfan (neueste) | Win (neueste)


Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Jörg Sellmeyer (---.dip0.t-ipconnect.de)
Datum:   11.09.16 22:21

Was hast du davon, wenn es über den gesamten Text zählt?
Da könnte man sich im Bedarfsfall besser ne eigene Funktion schreiben, die auf Kommando die Anzahl der offenen/geschlossenen Klammern im ganzen Code ausgibt.
Hier gehts mir drum, in der aktuellen zeile den Überblick zu behalten, wenn man eine verschachtelte Funktion schreibt.
Wenn man das immer beachtet, fallen wahrscheinlich Suchen über den gesamten Code ohnehin sehr selten aus.

_____________________________________
Man sollte seiner Zeit nicht zu weit voraus sein

Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Wilfried Heyse2 (---.echostar.pl)
Datum:   08.08.17 10:24

Ist ja schon eine Weile her, aber ich habe es gefunden. Das Prog heisst ALLY und läuft auch noch heute im DOS-Fenster.
Allerdings sehe ich keine farbigen Klammern, Die Anzahl der offenen Klammern wird jedoch in der aktuellen Zeile angezeigt.



Beitrag beantworten
 
 Re: Editor farbige Klammern
Autor: Jörg Sellmeyer (---.dip0.t-ipconnect.de)
Datum:   12.08.17 01:07

Da verweise ich mal auf meinen obigen Post:
http://www.rgh-soft.de/forum01/read.php?f=7&i=16871&t=16861

_____________________________________
Man sollte seiner Zeit nicht zu weit voraus sein

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org