RaEditGadget Userlib
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
RaEditGadget Userlib
Dies ist eine einfach zu nutzende Editorlib mit support für Highlightning, Folding usw.
Diese erste Beta-Version dient dazu, noch vorhandene Bugs zu finden und
hoffentlich auszumerzen. Die eigentlich Lib basiert auf einer ASM Library von
Ketilo (http://www.radasm.com/)
Vorschau:
Also bitte fleissig testen (Hilfe ist bei) und Bugs melden
Download
Das geladene Archiv über eure PB-Installation entpacken.
PB 4.xx erforderlich
Gruß
Thomas
// edit
Jetzt als Include, siehe hier: http://purebasic.fr/german/viewtopic.ph ... 117#196117
Diese erste Beta-Version dient dazu, noch vorhandene Bugs zu finden und
hoffentlich auszumerzen. Die eigentlich Lib basiert auf einer ASM Library von
Ketilo (http://www.radasm.com/)
Vorschau:
Also bitte fleissig testen (Hilfe ist bei) und Bugs melden
Download
Das geladene Archiv über eure PB-Installation entpacken.
PB 4.xx erforderlich
Gruß
Thomas
// edit
Jetzt als Include, siehe hier: http://purebasic.fr/german/viewtopic.ph ... 117#196117
Zuletzt geändert von ts-soft am 24.04.2008 23:56, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Das ist der default-wert für Kommentare. Es wird kein Lexer verwendet.X0r hat geschrieben:Warum erkennt der Editor ";" immer als Kommentar? Wird der Standard PureBasic-Lexer verwendet? Sollte man deaktivieren können.
Sowas gibts dafür nicht.
Aber wie gesagt, erste Beta, muß erst noch alles getestet werden, da die
documentation (wenn man davon überhaupt sprechen kann) zur RaEdit.lib
doch spärlich ist.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Du kannst mit REM_SETCHARTAB einem Zeichen eine andere Funktion zuweisen
Hier wird das Zeichen - zusaetzlich zum Einleiten des Kommantares benutzt.
Code: Alles auswählen
RaEditSendMessage(#RaEdit, #REM_SETCHARTAB, '-', #CT_CMNTCHAR)
Ein kleines Update. Die Userlib wurde entfernt, dafuer gibt es jetzt den ganzen Code als einzelne Include.
Link bleibt der gleiche :
http://www.realsource.de/downloads/doc_ ... editgadget
Link bleibt der gleiche :
http://www.realsource.de/downloads/doc_ ... editgadget
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Hier nochmal der Source der Vorschau im ersten Posting:
Code: Alles auswählen
XIncludeFile "raedit.pb"
EnableExplicit
Enumeration ; windows
#frmMain
; ...
EndEnumeration
Enumeration ; gadgets
#RaEdit
; ...
EndEnumeration
Enumeration ; menu / toolbar
#mnuMain
#mnuFileNew
; ...
EndEnumeration
Enumeration ; font
#fntCourier
EndEnumeration
Procedure.s GetExePath()
Protected ExePath.s = GetPathPart(ProgramFilename())
If LCase(ExePath) = LCase(GetTemporaryDirectory()) : ExePath = GetCurrentDirectory() : EndIf
ProcedureReturn ExePath
EndProcedure
#WINFLAGS = #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget
Define.s Text = "", tmpText
Define.l Format
If OpenWindow(#frmMain, #PB_Ignore, #PB_Ignore, 640, 480, "RAEdit Example", #WINFLAGS)
SmartWindowRefresh(#frmMain, #True)
AddKeyboardShortcut(#frmMain, #PB_Shortcut_Control | #PB_Shortcut_N, #mnuFileNew)
If CreateMenu(#mnuMain, WindowID(#frmMain))
MenuTitle("File")
MenuItem(#mnuFileNew, "New" + #TAB$ + "Ctrl+N")
; ...
EndIf
If CreateToolBar(#mnuMain, WindowID(#frmMain))
ToolBarStandardButton(#mnuFileNew, #PB_ToolBarIcon_New)
; ...
EndIf
If CreateGadgetList(WindowID(#frmMain))
RaEditGadget(#RaEdit, 0, ToolBarHeight(#mnuMain), 0, 0)
SetGadgetColor(#RaEdit, #RaEdit_BackColor, #White)
SetGadgetAttribute(#RaEdit, #RaEdit_HilightLine, #True)
SetGadgetAttribute(#RaEdit, #RaEdit_LineNumberBar, #True)
SetGadgetAttribute(#RaEdit, #RaEdit_NoLockButton, #True)
RaEditAddDefBlock(#RaEdit,"enumeration", "endenumeration", #BD_INCLUDELAST | #BD_DIVIDERLINE)
RaEditAddDefBlock(#RaEdit,"datasection", "enddatasection", #BD_INCLUDELAST | #BD_DIVIDERLINE)
SendMessage_(GadgetID(#RaEdit), #REM_SETCHARTAB, '.', #CT_OPER)
RaEditAddDefBlock(#RaEdit,"procedure", "endprocedure", #BD_INCLUDELAST | #BD_DIVIDERLINE)
RaEditAddDefBlock(#RaEdit,"if !endif", "endif", #BD_INCLUDELAST)
RaEditAddDefBlock(#RaEdit,"while !wend", "wend", #BD_INCLUDELAST)
RaEditAddDefBlock(#RaEdit,"repeat !until", "until", #BD_INCLUDELAST)
RaEditAddDefBlock(#RaEdit,"repeat", "forever", #BD_INCLUDELAST)
RaEditAddDefBlock(#RaEdit,"select", "endselect", #BD_INCLUDELAST)
SendMessage_(GadgetID(#RaEdit), #REM_SETCHARTAB, '#', #CT_NONE)
RaEditSetHiliteWords(#RaEdit, $006500, "sendmessage_")
Restore KeyWordRed
Text = ""
Repeat
Read tmpText
If tmpText
Text + tmpText + Space(1)
EndIf
Until tmpText = ""
RaEditSetHiliteWords(0, #Red, Text)
Restore KeyWordBlue
Text = ""
Repeat
Read tmpText
If tmpText
Text + tmpText + Space(1)
EndIf
Until tmpText = ""
RaEditSetHiliteWords(0, #Blue, Text)
SetGadgetFont(#RaEdit, LoadFont(#fntCourier, "Courier New", 10))
Text = "" : Format.l = #PB_Ascii
If ReadFile(0, GetExePath() + "example2.pb")
Format = ReadStringFormat(0)
While Not Eof(0)
Text + ReadString(0, Format) + #CRLF$
Wend
CloseFile(0)
SetGadgetText(#RaEdit, Text)
EndIf
; ...
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_SizeWindow
ResizeGadget(#RaEdit, #PB_Ignore, #PB_Ignore, WindowWidth(#frmMain), WindowHeight(#frmMain) - MenuHeight() - ToolBarHeight(#mnuMain))
SetActiveGadget(#RaEdit)
Case #PB_Event_Menu
Select EventMenu()
Case #mnuFileNew
SetGadgetText(#RaEdit, "")
EndSelect
EndSelect
ForEver
EndIf
DataSection
KeyWordRed:
Data.s "enableexplicit"
Data.s "enumeration"
Data.s "endenumeration"
Data.s "procedure"
Data.s "endprocedure"
Data.s "define"
Data.s "if"
Data.s "endif"
Data.s "read"
Data.s "restore"
Data.s "repeat"
Data.s "until"
Data.s "forever"
Data.s "case"
Data.s "default"
Data.s "while"
Data.s "wend"
Data.s "select"
Data.s "endselect"
Data.s "datasection"
Data.s "enddatasection"
Data.s "break"
Data.s "protected"
Data.s "global"
Data.s "not"
Data.s "procedurereturn"
Data.s ""
KeyWordBlue:
Data.s "openwindow"
Data.s "smartwindowrefresh"
Data.s "addkeyboardshortcut"
Data.s "createmenu"
Data.s "menutitle"
Data.s "menuitem"
Data.s "createtoolbar"
Data.s "toolbarstandardbutton"
Data.s "creategadgetlist"
Data.s "setgadgetfont"
Data.s "setgadgettext"
Data.s "readfile"
Data.s "readstring"
Data.s "closefile"
Data.s "setactivegadget"
Data.s "readstringformat"
Data.s "waitwindowevent"
Data.s "windowevent"
Data.s "eventmenu"
Data.s "eventgadget"
Data.s "resizegadget"
Data.s "lcase"
Data.s "ucase"
Data.s "raeditgadget"
Data.s "raeditadddefblock"
Data.s "raeditsendmessage"
Data.s "getcurrentdirectory"
Data.s "gettemporarydirectory"
Data.s "getpathpart"
Data.s "programfilename"
Data.s "toolbarheight"
Data.s "loadfont"
Data.s "space"
Data.s "windowwidth"
Data.s "windowheight"
Data.s "menuheight"
Data.s "windowid"
Data.s "xincludefile"
Data.s "raeditsethilitewords"
Data.s ""
EndDataSection
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Update:
kleine Fehler im Unicode-Modus behoben
RaEditGetCurrentWord repariert.
Hilfe aktualisiert.
kleine Fehler im Unicode-Modus behoben
RaEditGetCurrentWord repariert.
Hilfe aktualisiert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
-
- Beiträge: 87
- Registriert: 28.11.2010 13:07
- Computerausstattung: P4 2x3.2GKz.1GB WIXP 32Bit NVIDEA GT240 1GB DDR3, AMD XP 1.8GHz Linux 32Bit NVIDEA GT240 TIi3200
- Wohnort: Germany
- Kontaktdaten:
Re: RaEditGadget Userlib
Hallo Tom,
tolle Arbeit kannste mal bitte ein 4.6 kompatibles Beispiel posten. DANKE
Ich hatte den callback dem declare angepast (.l)
und da wo mit Read String gelesen wird (.s )
aber jetzt meckert er weiter.
Das Gadget an sich sieht echt nützlich aus, gibt es den Sourcecode?
Unter welcher Lizens kann man das Gadget benutzen
Grüße DJ
tolle Arbeit kannste mal bitte ein 4.6 kompatibles Beispiel posten. DANKE
Ich hatte den callback dem declare angepast (.l)
und da wo mit Read String gelesen wird (.s )
aber jetzt meckert er weiter.
Das Gadget an sich sieht echt nützlich aus, gibt es den Sourcecode?
Unter welcher Lizens kann man das Gadget benutzen
Grüße DJ
PS. meine vielen Fehler der Rechtschreibung auf dem Forum könnt Ihr gerne ignorieren.