XProfEd - Opensource IDE | | | | - page 1 - |
| GDL | @ allô Roland,
j'ai mir avec Aider deiner super une Einfachsteditor pour mon Atmelprogramm gezimmert. Es klappt aussi alles wunderbar, jusqu'à sur Eines:je voudrais toujours den aktuelle Zeileninhalt dans la ligne$ avons.
je prends la fois à, dass cela avec dem partie trop 1faire hat. KompilierenMarqueSéparation
Proc XSciProf.GetLine
Return Int(.SciMessage(~SCI_LINEFROMPOSITION, .SciMessage(~SCI_GETCURRENTPOS, 0, 0), 0) + 1)
EndProc
Proc XSciProf.GetLine$
Parameters Nr%, Z$
Declare Len%, Zeile#
Dim Zeile#,32767
Len% = .SciMessage(~SCI_GETLINE, Nr%, Zeile#)
Z$ = Translate$(Char$(Zeile#,0,Len%-1), ,Space$(XSciProf.Tab%))
Dispose Zeile#
Return Z$
| 21.10.2007 ▲ | |
| |
| | | | | - page 2 - |
| Jörg Sellmeyer | Alles bien sûr, je suis eh ne nachteule |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.10.2007 ▲ |
| |
| | GDL | eh bien allez par Zufall alles, si je avant waitinput nen setfocus(edit&) einsetze. KompilierenMarqueSéparation
whilenot ende%
setfocus(edit&)
waitinput
if (%umessage=16) or (menuitem(450))
aufraeumen
ende%=1
elseIf %wmNotify and (%NotifyCode = ~SCN_MARGINCLICK)
I% = sendmessage(edit&,~SCI_POSITIONFROMPOINT,0,%MouseY - 80)
Der Wert 80 in obiger Zeile wurde durch Testen ermittelt.Sonst geht
Aufklappen nicht richtig !
I% = sendmessage(edit&,~SCI_LINEFROMPOSITION,I%,0) + 1
sendmessage(edit&,~SCI_TOGGLEFOLD,I%,0)
ElseIf MenuItem(13) Enter-Taste
if not(sendmessage(edit&,~SCI_GETLINEVISIBLE,aktuellezeile_(), 0)) gefaltet
sendmessage(edit&,~SCI_TOGGLEFOLD,aktuellezeile_(), 0)
endif
sendmessage(edit&,~SCI_ADDTEXT, 2, Addr(CRLF$))
CRLine% = aktuellezeile_() - 1
i% = sendmessage(edit&,~SCI_GETLINEINDENTATION, CRLine% - 1, 0)
sendmessage(edit&,~SCI_SETLINEINDENTATION, CRLine%, I%)
i% =sendmessage(edit&,~SCI_GETLINEINDENTPOSITION, CRLine%, 0)
sendmessage(edit&,~SCI_GOTOPOS, i%, 0)
zeile_ermitteln
cela es eh bien allez ist bestimmt nen Doppelfehler, qui sich ensuite aufhebt.important iss, dass mon Zusammengesuche ausm Xprofed überhaupt allez. suis toujours am chercher pourquoi cela waitinput durchbrochen wird.Wird cela dans qui XProfed super déjà festgelegt?
salut Georg |
| | | | |
| | GDL | Habe encore plus rumprobiert.
setfocus(edit&) ou bien setfocus(editor_&) peux pour waitinput ,dans den individuel Abfragen,so souvent stehen comme mag, und dir pas.Steht es mais avant waitinput allez alles.
salut Georg |
| | | | |
| | GDL | @ Jörg,
habe la fois alles soweit zusammengefasst,soweit je jusqu'à maintenant suis.qui Exe ist courir.Alle code liegen chez.Im Dossier 01test courir laisser.
salut Georg |
| | | | |
| | Jörg Sellmeyer | GDL
Habe encore plus rumprobiert.
setfocus(edit&) ou bien setfocus(editor_&) peux pour waitinput ,dans den individuel Abfragen,so souvent stehen comme mag, und dir pas.Steht es mais avant waitinput allez alles.
salut Georg
Du hättest es gar pas pour individuel Abfragen mettons doit, mais pour qui Si-Struktur dans qui Hauptschleife. KompilierenMarqueSéparation Ist mais letzendlich égal. je serait seulement qui Variable editor_& pas global définir, mais dedans qui Procédure. ensuite doit zwar alle weiteren, Prozeduren, qui cela Contrôle beeinflussen encore dans qui ersten la ligne un Paramètres editor_&,...,... avons, mais tu as ensuite qui Prozeduren joli gekapselt et peux chez besoin weitere Editcontrols dans Deinem Programme erzeugen. Votre Includedatei wird simple flexibler. Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.10.2007 ▲ |
| |
| | | | - page 3 - |
| | GDL | Habe cela avec den Paramètres eh bien gemacht.
viens mais maintenant ici wieder pas plus.
une Dossier magasin allez einwandfrei.voudrais eh bien cet Proc pour nutzen um aussi makros trop magasin.cet sommes simple Textdateien.
seulement devoir cet Textdateien untereinander eingefügt volonté et pas toujours comme neue Dossier. alors lese je le nombre qui vorhandenen Zeilen aus et übergebe cet avec zei&. KompilierenMarqueSéparation
proc makroladen
Parameters File$,editor_&,zei&
print str$(zei&)
Declare Len&, Erg&, BDatei#
Len& = FileSize(File$)
Dim BDatei#, Len& + 1 +1 für abschließendes Null-Byte
BlockRead(File$, BDatei#,zei&, Len&)
Byte BDatei#, Len& = 0
statt: sendmessage(editor_&,~SCI_SETTEXT,0,BDatei#)
sendmessage(editor_&,~SCI_SETTEXT,zei&,BDatei#) geht nicht
sendmessage(editor_&,~SCI_SETTEXT,zei&-1,BDatei#) geht nicht
sendmessage(editor_&,~SCI_SETSAVEPOINT, 0, 0)
sendmessage(editor_&,~SCI_EMPTYUNDOBUFFER, 0, 0)
Dispose BDatei#
Erg& = 1
| 26.10.2007 ▲ | |
| |
| | | Du könntest wm_paste nutzen ou bien besser settext editor_&,gettext$(editor_&)+
+neuerInhalt$ |
| | | | |
| | GDL | j'ai es maintenant so gelöst: je kopiere qui fichier dans qui Zwischenablage et setzte es ensuite mittels insérer dans cela Dokument. |
| | | | |
| | GDL | Posting hat sich überschnitten. |
| | | | |
| | GDL | ca alles seulement, weil je mon Modellbahnsteuerung DCC kompatibel gemacht habe. Mir seul hätte mon rtf Gewurstel aussi gelangt. |
| | | | |
| | Jörg Sellmeyer | allô Georg, Sieh Dir la fois que voici de Andreas Miethe à: [web]https://www.rgh-soft.de/forum01/read.php?f=7&i=12314&t=12260#reply_12314[/web] |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 26.10.2007 ▲ |
| |
| | GDL | @Jörg,
habe deinen Vorschlag avec den Paramètres übernommen.RVKcompiler erstrahlt bientôt Anwenderfreundlich comme Untermodul dans mon Modellbahnsteuerungsprogramm.Es wird zum Programmieren qui Atmel Mikrokontroller nécessaire.
qui inc KompilierenMarqueSéparation {$CQ}
$H XPrfEdit.ph Ausremmen wenn nicht XPSE
Declare KeyWord1$, KeyWord2$, KeyWord3$, KeyWord4$, KeyWord5$, KeyWord6$, Keyword7$, Keyword8$
Declare Par1$, Par2$,size%,editordll&,e_cBefehl&,e_cbBefehlChk%,tab%
declare e_cAktuell&,e_cNormal&,e_cPapier&,e_cKommentar&,e_cbKommentarChk%
declare e_cZahl&,e_cbZahlChk%,e_cStrings&,Font$, KeyWord$, Key$, Wert$
declare e_cbStringsChk%,e_cOperator&,e_cbOperatorChk%,e_cBezeichner&,e_cbBezeichnerChk%
declare e_cDirekt&,e_cbDirektChk%,e_cFunktion&,e_cbFunktionChk%
declare e_cSysvar&,e_cbSysvarChk%,e_cStruktur&,e_cbStrukturChk%
Struct TextRange = cpMin&,
cpMax&,
lpstrText&
editordll& = UseDLL(SciLexer.dll)
IfNot editordll&
MessageBox(SciLexer.dll nicht gefunden!,FEHLER,16)
EndIf
standardwerte
==============================================================
proc standardwerte
size%=10
font$=Courier New
Tab% = 8
e_cNormal& = RGB($00,$00,$00)
e_cAktuell& = RGB($FF,$FF,$00)
e_cKommentar& = RGB($FF,$00,$00)
e_cZahl& = RGB(0,0,255)
e_cFunktion& = RGB($00,$00,$80)
e_cStrings& = RGB(0,206,0)
e_cOperator& = RGB(214,18,239)
e_cStruktur& = RGB($00,$00,$00)
e_cBefehl& = RGB($00,$00,$DD)
e_cPapier& = RGB($FF,$FF,$FF)
e_cBezeichner&= RGB($00,$00,$00)
e_cSysvar& = RGB(214,18,111)
e_cDirekt& = RGB($FF,$00,$00)
e_cbKommentarChk% = 0
e_cbZahlChk% = 0
e_cbFunktionChk% = 1
e_cbStringsChk% = 0
e_cbOperatorChk% = 0
e_cbStrukturChk% = 1
e_cbBefehlChk% = 1
e_cbBezeichnerChk%= 0
e_cbSysvarChk% = 1
e_cbDirektChk% = 1
endproc
========================================================================
proc neues_edit
declare editor_&
parameters _x%,_y%,_b%,_h%,_eltern&
editor_& = Control(Scintilla, , ~WS_CHILD | ~WS_VISIBLE,_x%,_y%,_b%,_h%,_eltern&,4000,%hInstance,0)
sendMessage(editor_&,~SCI_USEPOPUP, 0, 0)
sendMessage(editor_&,~SCI_SETTABWIDTH,tab%, 0)
sendMessage(editor_&,~SCI_SETUSETABS, 0, 0)
sendMessage(editor_&,~SCI_SETINDENT,tab%, 0)
sendMessage(editor_&,~SCI_SETTABINDENTS, 1, 0)
sendMessage(editor_&,~SCI_SETBACKSPACEUNINDENTS, 1, 0)
sendMessage(editor_&,~SCI_STYLESETFONT, 32, Addr(Font$))
sendMessage(editor_&,~SCI_STYLESETSIZE, 32,Size%)
sendMessage(editor_&,~SCI_STYLECLEARALL, 0, 0)
Font$ = Arial + Chr$(0)
sendMessage(editor_&,~SCI_STYLESETFONT,~STYLE_LINENUMBER, Addr(Font$))
sendMessage(editor_&,~SCI_STYLESETSIZE,~STYLE_LINENUMBER,Size% - 4)
sendMessage(editor_&,~SCI_SETMARGINTYPEN,1,~SC_MARGIN_NUMBER)
sendMessage(editor_&,~SCI_SETMARGINWIDTHN,1,50)
Interne Tastaturfunktionen abklemmen (Tastenfunktionen werden anderweitig genutzt)
sendMessage(editor_&,~SCI_CLEARCMDKEY, 13, 0) Enter
sendMessage(editor_&,~SCI_CLEARCMDKEY, 70 + ~SCMOD_CTRL << 16, 0) f + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 70 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) F + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 71 + ~SCMOD_CTRL << 16, 0) g + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 71 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) G + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 72 + ~SCMOD_CTRL << 16, 0) h + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 72 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) H + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 73 + ~SCMOD_CTRL << 16, 0) i + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 73 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) I + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 76 + ~SCMOD_CTRL << 16, 0) l + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 76 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) L + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 77 + ~SCMOD_CTRL << 16, 0) l + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 77 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) M + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 79 + ~SCMOD_CTRL << 16, 0) o + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 79 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) O + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 82 + ~SCMOD_CTRL << 16, 0) r + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 82 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) R + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 83 + ~SCMOD_CTRL << 16, 0) s + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 83 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) S + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 84 + ~SCMOD_CTRL << 16, 0) t + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 84 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) T + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 87 + ~SCMOD_CTRL << 16, 0) w + Strg
sendMessage(editor_&,~SCI_CLEARCMDKEY, 87 + (~SCMOD_CTRL + ~SCMOD_SHIFT) << 16, 0) W + Strg
Lexer auswählen und mit Keywords bestücken
sendMessage(editor_&,~SCI_SETLEXER, 79, 0)
KeyWord1$ = add addfiles addfonts addhotkey addstring addwindows append appendmenu
+ appendmenubar arc assign beep blockwrite byte
+ char checkmenu chdir chord clear
+ clearclip clearlist cliploadbmp close cls color
+ copy copybmp copybmptomem copypic copysizedbmp copysizedpic createmenu
+ ddelink ddeexecute ddeterminate debugout dec declare
+ deleteobject dim dim! dim$ dim% dim& dispose
+ drawicon drawextbmp drawexticon drawlibicon drawpic drawsizedextbmp
+ drawsizedpic drawsysicon drawtext ellipse enablemenu enablewindow endpaint endprint
+ endsub erase execute exitwindows float fill font freedll
+ inc input input# insertmenu killtimer let line lineto listboxitem$
+ list! list$ list% list& loadbmp loadsizedbmp locate logout long
+ mcls mcopybmp mcopysizedbmp mloadbmp mkdir moveto music nextpage
+ orientation openrw outp outpb parameters password pie play playsound
+ popup print print# putbyte putchar putclip putlong putword randomize readtext
+ rectangle removemenu rename repaint reset return rewrite
+ rmdir roundrect run savebmp savebmptoclip screen screencopy
+ seek separator setcheck setclosemsg setdialogfont setfattr setfont
+ setmenuitem setpixel setscrollrange setscrollpos setstyle settext settimer
+ setwindowpos shell showcursor showmax showmin shownormal sleep
+ sound sqldone sqlexec startpaint startprint string sub
+ subpopup tbox textcolor traceon traceoff trackmenu usebrush
+ usecursor useextcursor useextmenu usefont useicon usepen usermessages
+ var wincopy window windowstyle windowtitle winhelp word writeini + Chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 1, Addr(KeyWord1$))
KeyWord2$ = .super abs addr addstring ansitooem$ arctan assign bin$ blockread byte call char$
+ choosedir$ chr$ classof clicked closecom comerror control cos cot create
+ ctod$ date$ db del$
+ deletestring destroywindow direxists diskfree disksize double dtoc$
+ editbox eof exp external extstring$ float fileexists filename$ filesearch$
+ filestatus$ filepos filesize findfirst$ findnext$ findwindow format$
+ ftp get getactivetab getactivewindow getbvalue getbyte getchar$ getcheck
+ getclip$ getcount getcursel getdir$ getenv$ getfattr getfdate$
+ getfilesize getfocus getftime$ getgvalue gethandle getkey$ getline$
+ getlinecount getlong getpixel getrvalue getselcount getscrollpos getstate getstring$ getstyle gettext$ getword height
+ hex$ hiword iconcount if inkey$ inp inpb input$ ins$ insertstring
+ inserttab instr int iskey itemid joy keyin left$ len lg list!
+ list$ list% list& listbox$ listboxitem$ ln loadfile$ loadpic loadsizedpic long longname$
+ lower$ loword makelong match$ mcisend$ mempos menuitem messagebox mid$ mkstr$ mouse
+ movearrtolist movehandletolist
+ movelisttoarr movelisttohandle movelisttomem movelisttostr$ movestrtolist new not oct$
+ oemtoansi$ opencom ord ogl par$ pi postmessage procaddr ptype$ pwd$ readcom$ readini$
+ rgb right$ rnd round rtf savefile$ scankey scrn selectstring sendkey
+ sendmessage sendstring set setactivewindow setbit setcom setcomext
+ setcomtimeouts setfocus shellexec shortname$ showwindow smtp
+ sin single sizeof space$ sqlinit sqr sqrt str$ string$ substr$
+ tab tabchanged tan testbit time$ tmouse toolbar translate$ trim$
+ typeof upper$ usedll val width winerror$ winexec winexecwait word writecom xor + Chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 2, Addr(KeyWord2$))
KeyWord3$ = asmstart asmend asminclude break case casenot caseof continue class def else elseif
+ endif end endselect endproc endwhile endwith errorproc getmessage if ifnot otherwise
+ proc progend rem repeat select struct subproc until waitinput waitkey waitmouse waitscan
+ while whilenot whileloop with + Chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 0, Addr(KeyWord3$))
KeyWord4$ = !input %bitspixel %bmpx %bmpy %button %childmessage %csrlin %cycaption %cymenu %dbdeleted %dbeof %dbfcount
+ %dbfdecs %dbflen %dbfnumber %dbheader %dbmemo %dbrecsize %dbversion %ddewin %desktop
+ %dlgproc %dlgwproc %dos16 %dos32 %errnumber %error %errorlevel %font %ftpconnected %ftpstatus %getcount
+ %getcursel %getfocus %getinputstate %hdc %hdc2 %input %hinstance &hmenu %hwnd %input %ioresult
+ %itemid %key %lastmessage %lfn %linux %matchlen %matchpos %maxx %maxy %mcierror %menuitem
+ %message %mousekey %mousepressed %mousex %mousey %mwnd %notifycode %os2
+ %parcount %pcount %peekmessage %pos %printing %progend %scankey %umessage %win16
+ %win32 %winbottom %winerror %windowstyle %winleft %winright %wintop %winver %wmnotify %wmpaint
+ %wmtimer &bmpcol &dbreccount &dbrecno &gettickcount &input &lastfocus &loop &lparam &memdc ¬ifywnd
+ &pdc &sqlcount &sqldbc &ulparam &uwparam &winproc &windproc &wparam + chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 3, Addr(KeyWord4$))
KeyWord5$ = $dbfname $dbftype $dblupdate $dblupdate4 $dosver $drive $ftpstatus $errfile $errstr
+ $getinput $gettext $input $match $profver $progdir $sqlenv $sqlerror $syspath $tempdir
+ $winpath $winver+chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 4, Addr(KeyWord5$))
Keyword6$=aaa aad aam aas adc add and arpl bound bsf bsr bswap bt btc btr bts call cbw cdq clc cld cli clts
+ cmc cmova cmovb cmovc cmove cmovg cmovl cmovo cmovp cmovs cmovz cmovna cmovnb cmovnc cmovne cmovng cmovnl cmovno
+ cmovnp cmovns cmovnz cmovae cmovbe cmovge cmovle cmovpe cmovpo cmovnae cmovnbe cmovnge cmovnle cmp cmpsb cmpsd cmpsw
+ cmpxchg cmpxchg8B cpuid cwd cwde daa das dec div enter hlt idiv imul in inc insb insd insw int int03 int3 into invd
+ invlpg iret iretd iretw ja jb jc je jg jl jo jp js jz jna jnb jnc jne jng jnl jno jnp jns jnz jae jbe jge jle jpe
+ jpo jnae jnbe jnge jnle jcxz jecxz jmp lahf lar lds lea leave les lfs lgdt lgs lidt lldt lmsw lock lodsb lodsd lodsw
+ loop loope loopne loopnz loopz lsl lss ltr mov movsb movsd movsw movsx movzx mul neg nop not or out outsb outsd outsw
+ pop popa popad popaw popf popfd popfw push pusha pushad pushaw pushf pushfd pushfw rcl rcr rdmsr rdpmc rdtsc rep repe
+ repne repnz repz ret retf retn rol ror sahf sal sar sbb scasb scasd scasw seta setb setc sete setg setl seto setp
+ sets setz setna setnb setnc setne setng setnl setno setnp setns setnz setae setbe setge setle setpe setpo setnae
+ setnbe setnge setnle sgdt shl shld shr shrd sidt sldt smint smintold smsw stc std sti stosb stosd stosw str sub syscall
+ sysenter sysexit sysret test verr verw wait wbinvd wrmsr xadd xchg xlatb xor .186 .286 .386 .486 .586 .686 .8086 .8087
+ .alpha .break .code .const .continue .cref .data .data? .dosseg .else .endif .endw .err .err2 .errb .errdef .errdif
+ .errdifi .erre .erridn .erridni .errnb .errndef .errnz .exit .if .k3d .lall .lfcond .list .listall .listif .listmacro
+ .listmacroall .mmx .model .no87 .nocref .nolist .nolistmacro .radix .repeat .sall .seq .sfcond .stack .startup .tfcond
+ .type .until .untilcxz .while .xall .xcref .xlist .xmm __FILE__ __LINE__ abs alias align assume bits byte byte catstr
+ class code comm comment common data db dd df dosseg dq dt dw dword echo else elseif elseif2 end endif endm endp ends equ
+ even exitm extern externdef extrn for forc fword goto group if if2 ifb ifdef ifdif ifdifi ife ifidn ifidni ifndef include
+ includelib instr invoke irp irpc label macro name option org %out oword page popcontext proc proto public purge
+ pushcontext qword real4 real8 real10 record repeat rept sbyte sdword segment sizestr struc struct substr subtitle
+ subttl sword tbyte textequ title typedef union while word+Chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 5, Addr(KeyWord6$))
Keyword7$=!( %( &( $( add$ add( addchoice and( charset closerw
+ createwindow createtext createedit createmultiedit createdialog createextdialog createvscroll
+ createhscroll createchoicebox createsortedlistbox createlistbox createicon creategroupbox
+ createbutton createdefbutton createcheckbox createradiobutton createfont
+ dbappendblank dbbrowse dbclose dbcreate dbcreateindex dbdelete dbedit dbfind
+ dbget$ dbgetfield dbgetmemo dbgo dbindex dbopen dbpack dbput
+ dbputfield dbputmemo dbputrec dbseek dbsetmemowidth dbundelete dbuse
+ decimals deletechoice div div& equ equ$ filemode goto gosub gt gt$ %lfn lt lt$
+ mod( movelisttochoice movelisttoedit movelisttolist mul neq neq$
+ numwidth or( pow setautopaint seterrorlevel setlfn settruecolor
+ sqlsetnull sqlsetdel strwidth sub( wend+Chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 6, Addr(KeyWord7$))
Keyword8$=setlfn getusage+Chr$(0)
sendMessage(editor_&,~SCI_SETKEYWORDS, 7, Addr(KeyWord8$))
Farben einstellen
editor_farben (editor_&)
Folding einstellem
sendMessage(editor_&,~SCI_SETSTYLEBITS,5)
Par1$ = foldz : Par2$ = 1z
sendMessage(editor_&,~SCI_SETPROPERTY, Addr(Par1$), Addr(Par2$))
Par1$ = fold.compactz : Par2$ = 0z
sendMessage(editor_&,~SCI_SETPROPERTY, Addr(Par1$), Addr(Par2$))
Par1$ = fold.commentz : Par2$ = 0z
sendMessage(editor_&,~SCI_SETPROPERTY, Addr(Par1$), Addr(Par2$))
Par1$ = fold.preproccessorz : Par2$ = 0z
sendMessage(editor_&,~SCI_SETPROPERTY, Addr(Par1$), Addr(Par2$))
sendMessage(editor_&,~SCI_SETMARGINWIDTHN, 2, 0)
sendMessage(editor_&,~SCI_SETMARGINTYPEN,2,~SC_MARGIN_SYMBOL)
sendMessage(editor_&,~SCI_SETMARGINMASKN, 2,~SC_MASK_FOLDERS)
sendMessage(editor_&,~SCI_SETMARGINWIDTHN, 2,20)
Choose folding icon colours
sendMessage(editor_&,~SCI_MARKERSETFORE, ~SC_MARKNUM_FOLDER, $FFFFFF)
sendMessage(editor_&,~SCI_MARKERSETBACK, ~SC_MARKNUM_FOLDER, $FF0000)
sendMessage(editor_&,~SCI_MARKERSETFORE, ~SC_MARKNUM_FOLDEROPEN, $FFFFFF)
sendMessage(editor_&,~SCI_MARKERSETBACK, ~SC_MARKNUM_FOLDEROPEN, $FF0000)
sendMessage(editor_&,~SCI_MARKERSETFORE, ~SC_MARKNUM_FOLDEROPENMID, $FFFFFF)
sendMessage(editor_&,~SCI_MARKERSETBACK, ~SC_MARKNUM_FOLDEROPENMID, $FF0000)
sendMessage(editor_&,~SCI_MARKERSETFORE, ~SC_MARKNUM_FOLDEREND, $FFFFFF)
sendMessage(editor_&,~SCI_MARKERSETBACK, ~SC_MARKNUM_FOLDEREND, $FF0000)
sendMessage(editor_&,~SCI_MARKERSETBACK, ~SC_MARKNUM_FOLDERSUB, $FF0000)
sendMessage(editor_&,~SCI_MARKERSETBACK, ~SC_MARKNUM_FOLDERTAIL, $FF0000)
sendMessage(editor_&,~SCI_MARKERSETBACK, ~SC_MARKNUM_FOLDERMIDTAIL, $FF0000)
sendMessage(editor_&,~SCI_MARKERDEFINE, ~SC_MARKNUM_FOLDER, ~SC_MARK_BOXPLUS) PROC geschlossen
sendMessage(editor_&,~SCI_MARKERDEFINE, ~SC_MARKNUM_FOLDEROPEN, ~SC_MARK_BOXMINUS) PROC geöffnet
sendMessage(editor_&,~SCI_MARKERDEFINE, ~SC_MARKNUM_FOLDEREND, ~SC_MARK_BOXPLUSCONNECTED)
PROC geschlossen innerhalb PROC
sendMessage(editor_&,~SCI_MARKERDEFINE, ~SC_MARKNUM_FOLDERMIDTAIL, ~SC_MARK_TCORNER) ENDPROC innerhalb PROC
sendMessage(editor_&,~SCI_MARKERDEFINE, ~SC_MARKNUM_FOLDEROPENMID, ~SC_MARK_BOXMINUSCONNECTED)
PROC geöffnet innerhalb PROC
sendMessage(editor_&,~SCI_MARKERDEFINE, ~SC_MARKNUM_FOLDERSUB, ~SC_MARK_VLINE) zw. PROC und ENDPROC
sendMessage(editor_&,~SCI_MARKERDEFINE, ~SC_MARKNUM_FOLDERTAIL, ~SC_MARK_LCORNER) ENDPROC
sendMessage(editor_&,~SCI_SETFOLDFLAGS, 16, 0) Draw line below if not expanded
sendMessage(editor_&,~SCI_SETMARGINSENSITIVEN, 2, 1)
Fertig!
ShowWindow(editor_&, 1)
return editor_&
endproc
===================================================================
proc editor_farben
parameters editor_&
Case e_cAktuell& = e_cNormal& : e_cAktuell& = $FFFFFF - e_cNormal&
ALle Farben auf die Standardfarbe setzen
sendmessage(editor_&,~SCI_STYLESETFORE, 32, e_cNormal&)
sendmessage(editor_&,~SCI_STYLESETBACK, 32, e_cPapier&)
sendmessage(editor_&,~SCI_STYLECLEARALL, 0, 0)
If e_cAktuell& <> e_cPapier&
sendmessage(editor_&,~SCI_SETCARETLINEVISIBLE, 1, 0)
sendmessage(editor_&,~SCI_SETCARETLINEBACK, e_cAktuell&,0) Hintergreund aktuelle Zeile
Else
sendmessage(editor_&,~SCI_SETCARETLINEVISIBLE,0,0)
EndIf
Spezielle Farben setzen
sendmessage(editor_&,~SCI_STYLESETFORE, 1, e_cKommentar&) Comment
sendmessage(editor_&,~SCI_STYLESETBOLD, 1, e_cbKommentarChk%)
sendmessage(editor_&,~SCI_STYLESETITALIC, 1, 1)
sendmessage(editor_&,~SCI_STYLESETFORE, 2, e_cZahl&) Number
sendmessage(editor_&,~SCI_STYLESETBOLD, 2, e_cbZahlChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 4, e_cStrings&) Strings
sendmessage(editor_&,~SCI_STYLESETBOLD, 4, e_cbStringsChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 19, e_cStrings&) UnderlineStrings
sendmessage(editor_&,~SCI_STYLESETUNDERLINE, 19, 1) UnderlineStrings
sendmessage(editor_&,~SCI_STYLESETBOLD, 19, 1 - e_cbStringsChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 6, e_cOperator&) Operator
sendmessage(editor_&,~SCI_STYLESETBOLD, 6, e_cbOperatorChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 8, e_cBezeichner&) Variablen
sendmessage(editor_&,~SCI_STYLESETBOLD, 8, e_cbBezeichnerChk%)
XProfan-Sprachumfang in fett
sendmessage(editor_&,~SCI_STYLESETFORE, 5, e_cDirekt&) Direktiven
sendmessage(editor_&,~SCI_STYLESETBOLD, 5, e_cbDirektChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 3, e_cFunktion&) Funktion
sendmessage(editor_&,~SCI_STYLESETBOLD, 3, e_cbFunktionChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 15, e_cSysvar&) Systemvariablen
sendmessage(editor_&,~SCI_STYLESETBOLD, 15, e_cbSysvarChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 10, e_cStruktur&) Struktur
sendmessage(editor_&,~SCI_STYLESETBOLD, 10, e_cbStrukturChk%)
sendmessage(editor_&,~SCI_STYLESETFORE, 11, e_cBefehl&) Befehle
sendmessage(editor_&,~SCI_STYLESETBOLD, 11, e_cbBefehlChk%)
Asseembler
sendmessage(editor_&,~SCI_STYLESETFORE, 14, e_cSysvar&) Systemvariablen
Veraltete Keywords
sendmessage(editor_&,~SCI_STYLESETBACK, 9, $00FFFF) überholt = gelb
sendmessage(editor_&,~SCI_STYLESETBACK, 17, $0000FF) veraltet = rot
sendmessage(editor_&,~SCI_STYLESETFORE, ~STYLE_LINENUMBER, 0)
endproc
================================================================
proc einfuegen_
parameters editor_&
Return sendmessage(editor_&,~SCI_PASTE, 0, 0)
endproc
==========================================================
Proc editloeschen_
parameters editor_&
Return sendmessage(editor_&,~SCI_CLEARALL, 0, 0)
EndProc
========================================================
Proc ausschneiden_
parameters editor_&
Return sendmessage(editor_&,~SCI_CUT, 0, 0)
EndProc
===================================================
Proc kopieren_
parameters editor_&
Return sendmessage(editor_&,~SCI_COPY, 0, 0)
EndProc
===================================================
Proc laden_
Parameters File$,editor_&
Declare Len&, Erg&, BDatei#
Len& = FileSize(File$)
Dim BDatei#, Len& + 1 +1 für abschließendes Null-Byte
BlockRead(File$, BDatei#, 0, Len&)
Byte BDatei#, Len& = 0
sendmessage(editor_&,~SCI_SETTEXT, 0, BDatei#)
sendmessage(editor_&,~SCI_SETSAVEPOINT, 0, 0)
sendmessage(editor_&,~SCI_EMPTYUNDOBUFFER, 0, 0)
Dispose BDatei#
Erg& = 1
Return Erg&
EndProc
===========================================================
Proc speichern_
Parameters File$,editor_&
Declare Len&, BDatei#
len&=sendmessage(editor_&,~SCI_GETLENGTH,0,0)+1
case len&=0:beep
case len&=0:len&=100000
Dim BDatei#,Len&
sendmessage(editor_&,~SCI_GETTEXT, Len&, BDatei#)
BlockWrite File$, BDatei#, 0, Len&
Dispose BDatei#
EndProc
===================================================================
Proc aktuellezeile_
parameters editor_&
Return Int(sendmessage(editor_&,~SCI_LINEFROMPOSITION,sendmessage(editor_&,~SCI_GETCURRENTPOS, 0, 0), 0) + 1)
EndProc
=======================================================
Proc retur_
parameters editor_&
Return sendmessage(editor_&,~SCI_UNDO, 0, 0)
EndProc
======================================================================
Proc GetLine$_
Parameters Nr%,Z$,editor_&
Declare Len%, Zeile#
Dim Zeile#,32767
Len% = .SciMessage(~SCI_GETLINE, Nr%, Zeile#)
Len% = sendmessage(editor_&,~SCI_GETLINE,Nr%,Zeile#)
Z$ = Char$(Zeile#,0,Len%-1)
dispose zeile#
return z$
endproc
========================================================
proc freieditordll_
FreeDLL editordll&
endproc
==============================================================
Proc anzahl_zeilen
parameters editor_&
Return sendmessage(editor_&,~SCI_GETLINECOUNT,0,0)
EndProc
=============================================================
Proc suchmarke
Cursor ganz nach oben
Parameters editor_&,Text$,bWord%,bCase%,Direction%
sendmessage(editor_&,~SCI_GOTOLINE,0,0)
Declare Flag%, ZText$, Erg&, P&
If Direction% = 0
P& = sendmessage(editor_&,~SCI_GETSELECTIONEND, 0, 0)
Else
P& = sendmessage(editor_&,~SCI_GETSELECTIONSTART, 0, 0) - 1
EndIf
sendmessage(editor_&,~SCI_SETSEL, P&, P&)
Case bWord% : Flag% = Flag% + ~SCFIND_WHOLEWORD
Case bCase% : Flag% = Flag% + ~SCFIND_MATCHCASE
sendmessage(editor_&,~SCI_SEARCHANCHOR, 0, 0)
ZText$ = Text$ + chr$(0)
If Direction% = 0
Erg& = sendmessage(editor_&,~SCI_SEARCHNEXT, Flag%, Addr(ZText$))
Else
Erg& = sendmessage(editor_&,~SCI_SEARCHPREV, Flag%, Addr(ZText$))
EndIf
If Erg& <> - 1
if not(sendmessage(editor_&,~SCI_GETLINEVISIBLE, aktuellezeile_(editor_&), 0)) gefaltet
sendmessage(editor_&,~SCI_TOGGLEFOLD, aktuellezeile_(editor_&), 0)
endif
sendmessage(editor_&,~SCI_SETYCARETPOLICY, ~CARET_SLOP, 10)
sendmessage(editor_&,~SCI_SCROLLCARET,0,0)
sendmessage(editor_&,~SCI_SETYCARETPOLICY, ~CARET_EVEN, 0)
EndIf
Return Erg&
EndProc
======================================< =====================
|
| | | | |
|
répondreOptions du sujet | 14.839 Views |
Themeninformationencet Thema hat 4 participant: |
|