Deutsch
Forum

Scintilla Spielereien

 

GDL
Hi,

habe mal mit mit dem xprofed source gespielt und wollte einfach nur mal das editfenster allein zum Laufen bringen.

Bis zur Return Taste kam ich schonmal.Kann mir hier jemand bitte weiterhelfen, da ich mit dem Xprofed Quellcoder nicht mehr weiterkomme.
Danke.
KompilierenMarkierenSeparieren
 {$C}
 {$L}
 {$E}
 {$Q}
Declarationen
declare ende%,lexer&,edit#[1]
Includes
 $I C:PRFellowentwicklungeneditor_002XPrfEditClass.prf
usermessages 16
Definitionen
Def GetSysColor(1) !USER32,GetSysColor
window 0,0 - %maxx,%maxy
cls getsyscolor(15)
================================================

proc lexer_optionen

    XSciProf.Tab%        = 8
    XSciProf.cNormal&    = RGB($00,$00,$00)
    XSciProf.cAktuell&   = RGB($FF,$FF,$00)
    XSciProf.cKommentar& = RGB($FF,$00,$00)
    XSciProf.cZahl&      = RGB($FF,$00,$80)
    XSciProf.cFunktion&  = RGB($00,$00,$80)
    XSciProf.cStrings&   = RGB($FF,$00,$80)
    XSciProf.cOperator&  = RGB($FF,$00,$80)
    XSciProf.cStruktur&  = RGB($00,$00,$00)
    XSciProf.cBefehl&    = RGB($00,$00,$DD)
    XSciProf.cPapier&    = RGB($FF,$FF,$FF)
    XSciProf.cBezeichner&= RGB($00,$00,$00)
    XSciProf.cSysvar&    = RGB($00,$00,$00)
    XSciProf.cDirekt&    = RGB($FF,$00,$00)
    XSciProf.cbKommentarChk% = 0
    XSciProf.cbZahlChk%      = 0
    XSciProf.cbFunktionChk%  = 1
    XSciProf.cbStringsChk%   = 0
    XSciProf.cbOperatorChk%  = 0
    XSciProf.cbStrukturChk%  = 1
    XSciProf.cbBefehlChk%    = 1
    XSciProf.cbBezeichnerChk%= 0
    XSciProf.cbSysvarChk%    = 1
    XSciProf.cbDirektChk%    = 1

endproc

================================================

proc aufraeumen

    Dispose Edit#[]

endproc

========================================================
lexer_optionen
declare i%,crline%,crlf$
Edit#[1] = New(XSciProf,%hwnd,150,80,700,600,4000 )+ MaxTab%)

whilenot ende%

    waitinput

    if %umessage = 16

        ende%=1
        aufraeumen

    elseIf %wmNotify and (%NotifyCode = ~SCN_MARGINCLICK)

        I% = Edit#[1].SciMessage(~SCI_POSITIONFROMPOINT, 0, %MouseY - 50)
        I% = Edit#[1].SciMessage(~SCI_LINEFROMPOSITION, I%, 0)  + 1
        Edit#[1].SciMessage(~SCI_TOGGLEFOLD, I%, 0)

    elseIf %wmNotify and (%NotifyCode = ~SCN_MARGINCLICK)

        I% = Edit#[1].SciMessage(~SCI_POSITIONFROMPOINT, 0, %MouseY - 50)
        I% = Edit#[1].SciMessage(~SCI_LINEFROMPOSITION, I%, 0)  + 1
        Edit#[1].SciMessage(~SCI_TOGGLEFOLD, I%, 0)

    ElseIf MenuItem(13)  Enter-Taste

        With Edit#[1]

            if not(.SciMessage(~SCI_GETLINEVISIBLE, .GetLine(), 0))   gefaltet

                .SciMessage(~SCI_TOGGLEFOLD, .GetLine(), 0)

            endif

            .SciMessage(~SCI_ADDTEXT, 2, Addr(CRLF$))
            CRLine% = .getLine() - 1
            i% = .SciMessage(~SCI_GETLINEINDENTATION, CRLine% - 1, 0)
            .SciMessage(~SCI_SETLINEINDENTATION, CRLine%, I%)
            i% = .SciMessage(~SCI_GETLINEINDENTPOSITION, CRLine%, 0)
            .SciMessage(~SCI_GOTOPOS, i%, 0)

        EndWith

    endif


Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.07.2007  
 



Was fehlt Dir denn?

PS: {$cleq} kann man zusammenschreiben.
 
23.07.2007  
 




GDL
Es geht kein Enter.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.07.2007  
 




Jörg
Sellmeyer
Du mußt mit AddHotKey  auch die Entertaste scharfmachen...
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.07.2007  
 




GDL
@Jörg, ich komme zwar jetzt in der Hauptschleife in den Bereich menuitem(13), aber es geht trotzdem nicht.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.07.2007  
 



Du musst crlf$ auf chr$(13)+chr$(10) oder
setzen.
 
23.07.2007  
 




GDL
@iF,@Jörg Danke euch beiden.Bin wieder nen Stück weiter.

So siehts jetzt aus.
KompilierenMarkierenSeparieren
 {$C}
 {$L}
 {$E}
 {$Q}
Declarationen
declare ende%,lexer&,edit#[1]
declare i%,crline%,crlf$
Includes
 $I C:PRFellowentwicklungeneditor_002XPrfEditClass.prf
usermessages 16
Definitionen
Def GetSysColor(1) !USER32,GetSysColor
Dim
Hotkey
window 0,0 - %maxx,%maxy
cls getsyscolor(15)
PopUp &Datei
AppendMenu 101,&Laden
AddHotKey   13, 13,0   ENTER
================================================

proc lexer_optionen

    XSciProf.Tab%        = 8
    XSciProf.cNormal&    = RGB($00,$00,$00)
    XSciProf.cAktuell&   = RGB($FF,$FF,$00)
    XSciProf.cKommentar& = RGB($FF,$00,$00)
    XSciProf.cZahl&      = RGB($FF,$00,$80)
    XSciProf.cFunktion&  = RGB($00,$00,$80)
    XSciProf.cStrings&   = RGB($FF,$00,$80)
    XSciProf.cOperator&  = RGB($FF,$00,$80)
    XSciProf.cStruktur&  = RGB($00,$00,$00)
    XSciProf.cBefehl&    = RGB($00,$00,$DD)
    XSciProf.cPapier&    = RGB($FF,$FF,$FF)
    XSciProf.cBezeichner&= RGB($00,$00,$00)
    XSciProf.cSysvar&    = RGB($00,$00,$00)
    XSciProf.cDirekt&    = RGB($FF,$00,$00)
    XSciProf.cbKommentarChk% = 0
    XSciProf.cbZahlChk%      = 0
    XSciProf.cbFunktionChk%  = 1
    XSciProf.cbStringsChk%   = 0
    XSciProf.cbOperatorChk%  = 0
    XSciProf.cbStrukturChk%  = 1
    XSciProf.cbBefehlChk%    = 1
    XSciProf.cbBezeichnerChk%= 0
    XSciProf.cbSysvarChk%    = 1
    XSciProf.cbDirektChk%    = 1

endproc

================================================

proc aufraeumen

    Dispose Edit#[]

endproc

========================================================
lexer_optionen
Edit#[1] = New(XSciProf,%hwnd,150,80,700,600,4000 )+ MaxTab%)
~InvalidateRect(%hWnd, 0, 0)
~UpdateWindow(%hWnd)
SetFocus(Edit#[1].Handle&)

whilenot ende%

    waitinput

    if %umessage = 16

        ende%=1
        aufraeumen

    elseIf %wmNotify and (%NotifyCode = ~SCN_MARGINCLICK)

        I% = Edit#[1].SciMessage(~SCI_POSITIONFROMPOINT, 0, %MouseY - 50)
        I% = Edit#[1].SciMessage(~SCI_LINEFROMPOSITION, I%, 0)  + 1
        Edit#[1].SciMessage(~SCI_TOGGLEFOLD, I%, 0)

    elseIf %wmNotify and (%NotifyCode = ~SCN_MARGINCLICK)

        I% = Edit#[1].SciMessage(~SCI_POSITIONFROMPOINT, 0, %MouseY - 50)
        I% = Edit#[1].SciMessage(~SCI_LINEFROMPOSITION, I%, 0)  + 1
        Edit#[1].SciMessage(~SCI_TOGGLEFOLD, I%, 0)

    ElseIf MenuItem(13)  Enter-Taste

        beep

        With Edit#[1]

            crlf$=chr$(13)+chr$(10)
            .SciMessage(~SCI_ADDTEXT, 2, Addr(CRLF$))
            CRLine% = .getLine() - 1
            i% = .SciMessage(~SCI_GETLINEINDENTATION, CRLine% - 1, 0)
            .SciMessage(~SCI_SETLINEINDENTATION, CRLine%, I%)
            i% = .SciMessage(~SCI_GETLINEINDENTPOSITION, CRLine%, 0)
            .SciMessage(~SCI_GOTOPOS, i%, 0)

        EndWith

    endif

wend


Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.07.2007  
 



Ähäm mache aus
KompilierenMarkierenSeparieren
 {$C}
 {$L}
 {$E}
 {$Q}
ein
KompilierenMarkierenSeparieren
 {$cleq}
und definiere
KompilierenMarkierenSeparieren
crlf$=chr$(13)+chr$(10)
nur einmalig am Codeanfang statt ständig beim Drücken von [enter].
 
23.07.2007  
 




GDL
habe ich doch schon, es bleibt auch net so. Wie gesagt nur Spielereien.Hoffe das euer ausgekoppeltes Xide Edit für Anwendungen nicht so kompliziert ist.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.07.2007  
 




Michael
Wodrich
Da Du Dich als Tester angemeldet hast, kannst Du es ja in eine anwenderfreundliche Richtung schubsen...
 
Programmieren, das spannendste Detektivspiel der Welt.
23.07.2007  
 



Wenn Du das schon kompliziert nennst...
 
23.07.2007  
 




GDL
Ich meintete den ganzen Xprofed Quelltext. Sich da vor lauter ~... Sachen noch auskennen, wenn man nur einzelne Passagen braucht, iss für mich net einfach.
Dies ist ein Vorteil von Prffellow mit seinen vorgegebenen Codebausteinen.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
23.07.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.225 Betrachtungen

Unbenanntvor 0 min.
RudiB.17.11.2021
Jens-Arne Reumschüssel02.05.2021
Michael W.31.05.2018
Jörg Sellmeyer15.05.2018
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie