E quando dá erro no mingw? o que fazer?
Moderador: Moderadores
E quando dá erro no mingw? o que fazer?
Valeu Leonardo !
Você tem razão, oficial até agora é a 3.2 (sem sustos) rs A fork por enquanto é uma aventura que não sabemos onde vai dar
Você tem razão, oficial até agora é a 3.2 (sem sustos) rs A fork por enquanto é uma aventura que não sabemos onde vai dar
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
E quando dá erro no mingw? o que fazer?
Ola!
Só uma questão importante.
Se quer programar para Android, tem que estudar como se faz isso.
O WinMobile é enorme porque (deve) vim com os pacotes JAVA JDK, Android SDK.
Android = JAVA, O JAVA pode vim mascarado via WimMobile etc... mas entenda que no Windows temos várias linguagens mas no Android só tem JAVA reinando.
Outra coisa que no Android tem é CSS e HTML, para desenhar as telas e mostrar no desktop feito em JAVA do Android.
https://www.youtube.com/watch?v=IciTmTCtkKw
Se está fazendo alguma coisa para Android,tem que usar alguns desses recursos.
https://pt.stackoverflow.com/questions/ ... es-android
Não tem mistério nem segredo, é estudo, estudo, estudo... WimMobile, WinDeve, etc.. são ferramentas "CASE" são muito boas, rápidas etc.. Para quem tem dinheiro, e não quer estudar as coisas isoladamente, é uma mão na roda. Mas não traz novidade. É facilidade para algumas coisas não para tudo.
Com certeza deve se pagar para quem tem uma considerável carteira de clientes, mas as outras ferramentas não ficam tão para traz assim não, também dão conta do recado. Basta entender ou pelo menos ter visão do que é programar para android.
Saudações,
Itamar M. Lins Jr.
Só uma questão importante.
Se quer programar para Android, tem que estudar como se faz isso.
O WinMobile é enorme porque (deve) vim com os pacotes JAVA JDK, Android SDK.
Android = JAVA, O JAVA pode vim mascarado via WimMobile etc... mas entenda que no Windows temos várias linguagens mas no Android só tem JAVA reinando.
Outra coisa que no Android tem é CSS e HTML, para desenhar as telas e mostrar no desktop feito em JAVA do Android.
https://www.youtube.com/watch?v=IciTmTCtkKw
Se está fazendo alguma coisa para Android,tem que usar alguns desses recursos.
https://pt.stackoverflow.com/questions/ ... es-android
Não tem mistério nem segredo, é estudo, estudo, estudo... WimMobile, WinDeve, etc.. são ferramentas "CASE" são muito boas, rápidas etc.. Para quem tem dinheiro, e não quer estudar as coisas isoladamente, é uma mão na roda. Mas não traz novidade. É facilidade para algumas coisas não para tudo.
Com certeza deve se pagar para quem tem uma considerável carteira de clientes, mas as outras ferramentas não ficam tão para traz assim não, também dão conta do recado. Basta entender ou pelo menos ter visão do que é programar para android.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
E quando dá erro no mingw? o que fazer?
Ola!
No meu ponto de vista o GRANDE erro do Harbour é não ter uma IDE padrão.
Ninguém novo vai dedicar tempo no Harbour via LINHA de COMANDO, nós temos a herança do clipper, mas na escola, ensinar sem IDE é uma coisa muito difícil de competir com outras linguagens que tem IDE´s com inúmeros recursos pagas ou não.
FIVEWIN não passa de uma Minigui ou Hwgui, melhorada mas na Minigui o pessoal usa IDE, na FiveWin nem IDE tem... e mesmo assim tem essa quantidade de usuários dela.
Pensem ai, na dificuldade de criar TELAS com botões, checkbox, label´s, etc sem IDE ?
Pois eu uso assim sem IDE e muita gente que usa Fivewin também. Mas ir mantendo esse raciocínio por muito tempo é erro grave a meu ver.
O Harbour precisa adotar uma IDE PADRÃO, HBIDE ou Designer da Hwgui ou da Minigui... O problema é a pulverização disso que só prejudica.
Ou melhor dizendo os usuários do Harbour não tem PADRÃO. E esse é a meu ver "O" problema. E meu nível de conhecimento também está muito a quem disso tudo. Quem é que vai largar uma para adotar outra ?
Nossas ferramentas são boas até o limite do nosso conhecimento em se tratando de open source, quem pode e sabe ajuda. Mas tem os que não lidam com o usuário final e ficam atravessando, criando sub produtos pagos que mais cedo ou mais tarde vai parar ou não darão mais lucro. Porque tem muita gente ai com conhecimento mas quer que nós os programadores que lidamos com o comerciante, nós que estamos na linha de frente, sejamos clientes deles. E é esse a meu ver o que prejudica a adoção de padrões no open source do Harbour.
Vejam o caso do xMate ou do xDev! Não houve continuidade... Esse Programers Notepad, etc... Digo isso até da HBIDE que eu uso. Qual é a vantagem de ensinar o uso dessas ferramentas para quem chega ? Quem já vem dos tempos do "DOS" beleza, mas ensinar isso para novatos ? Qual é a ligação que essas IDE´s tem com as LIB´s visuais do Harbour ? Como desenhamos telas com elas ?
No fim é desejar que o Viktor não pare, nem o Przemek. O Harbour está sendo mantido por essas duas pessoas. Porque as outras pessoas já não aparecem mais com a frequência destes dois. Quem sabe algum produto pago do Przemek saia ai para nós usarmos.
Saudações,
Itamar M. Lins Jr.
No meu ponto de vista o GRANDE erro do Harbour é não ter uma IDE padrão.
Ninguém novo vai dedicar tempo no Harbour via LINHA de COMANDO, nós temos a herança do clipper, mas na escola, ensinar sem IDE é uma coisa muito difícil de competir com outras linguagens que tem IDE´s com inúmeros recursos pagas ou não.
FIVEWIN não passa de uma Minigui ou Hwgui, melhorada mas na Minigui o pessoal usa IDE, na FiveWin nem IDE tem... e mesmo assim tem essa quantidade de usuários dela.
Pensem ai, na dificuldade de criar TELAS com botões, checkbox, label´s, etc sem IDE ?
Pois eu uso assim sem IDE e muita gente que usa Fivewin também. Mas ir mantendo esse raciocínio por muito tempo é erro grave a meu ver.
O Harbour precisa adotar uma IDE PADRÃO, HBIDE ou Designer da Hwgui ou da Minigui... O problema é a pulverização disso que só prejudica.
Ou melhor dizendo os usuários do Harbour não tem PADRÃO. E esse é a meu ver "O" problema. E meu nível de conhecimento também está muito a quem disso tudo. Quem é que vai largar uma para adotar outra ?
Nossas ferramentas são boas até o limite do nosso conhecimento em se tratando de open source, quem pode e sabe ajuda. Mas tem os que não lidam com o usuário final e ficam atravessando, criando sub produtos pagos que mais cedo ou mais tarde vai parar ou não darão mais lucro. Porque tem muita gente ai com conhecimento mas quer que nós os programadores que lidamos com o comerciante, nós que estamos na linha de frente, sejamos clientes deles. E é esse a meu ver o que prejudica a adoção de padrões no open source do Harbour.
Vejam o caso do xMate ou do xDev! Não houve continuidade... Esse Programers Notepad, etc... Digo isso até da HBIDE que eu uso. Qual é a vantagem de ensinar o uso dessas ferramentas para quem chega ? Quem já vem dos tempos do "DOS" beleza, mas ensinar isso para novatos ? Qual é a ligação que essas IDE´s tem com as LIB´s visuais do Harbour ? Como desenhamos telas com elas ?
No fim é desejar que o Viktor não pare, nem o Przemek. O Harbour está sendo mantido por essas duas pessoas. Porque as outras pessoas já não aparecem mais com a frequência destes dois. Quem sabe algum produto pago do Przemek saia ai para nós usarmos.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
E quando dá erro no mingw? o que fazer?
Concordo, via linha de comando só os velhinhos mesmo (me incluo) !
A questão da IDE, seja com desenhador de telas ou não (melhor com), pensando logicamente, e pelo conhecimento que tenho, não deve ser complicado, pensando dessa maneira, chegamos a algumas conclusões :
1- o Harbour executa em mais de 1 sistema operacional
2- para que isso ocorra, ele só precisa ser gerado no SO usando C++
3- dentro do seu fonte, existem alguns IF com relação a isso
4- para ter uma interface gráfica IDE, para controlar projeto, fontes, banco de dados e telas, usa-se a mesma lógica
Em 2015 eu fiz o curso completo da TOTVS para programar em ADVPL, e naquela época estavam falando em criar plugins para interagir com o Eclipse, e buscando agora na internet achei isso : http://tdn.totvs.com/pages/releaseview. ... d=73078179
Seria uma ideia também.
Hoje enviei 2 arquivos PRG para a seção downloads, eles são dos primórdios do xHarbour (2003), e mostram o que na minha opinião, era o início do Visual xHarbour, vale a pena dar uma estudada.
Abraços
A questão da IDE, seja com desenhador de telas ou não (melhor com), pensando logicamente, e pelo conhecimento que tenho, não deve ser complicado, pensando dessa maneira, chegamos a algumas conclusões :
1- o Harbour executa em mais de 1 sistema operacional
2- para que isso ocorra, ele só precisa ser gerado no SO usando C++
3- dentro do seu fonte, existem alguns IF com relação a isso
4- para ter uma interface gráfica IDE, para controlar projeto, fontes, banco de dados e telas, usa-se a mesma lógica
Em 2015 eu fiz o curso completo da TOTVS para programar em ADVPL, e naquela época estavam falando em criar plugins para interagir com o Eclipse, e buscando agora na internet achei isso : http://tdn.totvs.com/pages/releaseview. ... d=73078179
Seria uma ideia também.
Hoje enviei 2 arquivos PRG para a seção downloads, eles são dos primórdios do xHarbour (2003), e mostram o que na minha opinião, era o início do Visual xHarbour, vale a pena dar uma estudada.
Abraços
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
E quando dá erro no mingw? o que fazer?
Pra mim a solução pra Windows continua sendo a GTWVG.
Já achava isso antes.
Depois de mexer nos fontes das LIBs achei mais.
E depois de ver que também tem no XHarbour, apesar de desatualizada, achei mais.
É a única GUI dentro do Harbour/XHarbour, e por isso teria futuro, pelo menos pra Windows.
O difícil é alguém interessado e com os conhecimentos necessários.
É.... e pra abusar de classes/métodos/etc.... faz falta uma IDE que trate isso....
Já achava isso antes.
Depois de mexer nos fontes das LIBs achei mais.
E depois de ver que também tem no XHarbour, apesar de desatualizada, achei mais.
É a única GUI dentro do Harbour/XHarbour, e por isso teria futuro, pelo menos pra Windows.
O difícil é alguém interessado e com os conhecimentos necessários.
É.... e pra abusar de classes/métodos/etc.... faz falta uma IDE que trate isso....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
E quando dá erro no mingw? o que fazer?
Quintas, hoje enviei 2 arquivos PRG para a seção Download que seriam o inicio do Visual xHarbour.
Para quem quiser baixar, seguem os links :
- baixar versões antigas do xHarbour, inclusive uma que parece ser a primeira, ainda sem a pasta contrib, as demais, já constam com a pasta contrib, e dentro tem uma chamada xVisual, onde pode-se encontrar o rascunho de uma IDE e de um Editor de Código.
https://svn.code.sf.net/p/xharbour/code/branches/
https://svn.code.sf.net/p/xharbour/code/tags/
- baixar a última versão do xHarbour
https://svn.code.sf.net/p/xharbour/code/trunk/xharbour/
Abraços
Para quem quiser baixar, seguem os links :
- baixar versões antigas do xHarbour, inclusive uma que parece ser a primeira, ainda sem a pasta contrib, as demais, já constam com a pasta contrib, e dentro tem uma chamada xVisual, onde pode-se encontrar o rascunho de uma IDE e de um Editor de Código.
https://svn.code.sf.net/p/xharbour/code/branches/
https://svn.code.sf.net/p/xharbour/code/tags/
- baixar a última versão do xHarbour
https://svn.code.sf.net/p/xharbour/code/trunk/xharbour/
Abraços
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
E quando dá erro no mingw? o que fazer?
Isso também pode ser encontrado no Harbour.
Pra quem não se lembra, a HBIDE não era em QT.
Nota: Os arquivos que enviou ainda não aparecem nos downloads, já tinha ido lá tentar olhar.... rs
Pra quem não se lembra, a HBIDE não era em QT.
Nota: Os arquivos que enviou ainda não aparecem nos downloads, já tinha ido lá tentar olhar.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
E quando dá erro no mingw? o que fazer?
Nos arquivos antigos do xHarbour, tinham 3 Lins gráficas bem interessantes, vale a pena baixar e conferir o source.
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
E quando dá erro no mingw? o que fazer?
Agora apareceu.
Tem um mais completo, com fonte e tudo, o problema é converter de VB6 pra Harbour.
É toda API do Scintilla, mas isso também deve ter na HBIDE pra QT.
Scintilla é um editor completo, só fazer uso do que tem na DLL.
É muito trabalho criar editor de texto.
Só pra dar uma idéia, e nem tem o uso das funções.
Imagina o tamanho dos fontes pra fazer uso disso tudo:
Tem um mais completo, com fonte e tudo, o problema é converter de VB6 pra Harbour.
É toda API do Scintilla, mas isso também deve ter na HBIDE pra QT.
Scintilla é um editor completo, só fazer uso do que tem na DLL.
É muito trabalho criar editor de texto.
Só pra dar uma idéia, e nem tem o uso das funções.
Imagina o tamanho dos fontes pra fazer uso disso tudo:
Código: Selecionar todos
/*
SCIClass
Declarations from: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=66207&lngWId=1
*/
#include "hbclass.ch"
PROCEDURE Test
LOCAL oControl
SetMode( 25, 80 )
CLS
oControl := wvgScintilla():New( , , { -1, -1 }, { -24, -79 } )
oControl:Create()
Inkey(100)
RETURN
CREATE CLASS wvgScintilla INHERIT wvgtstControl
VAR ClassName INIT "Scintilla"
VAR Style INIT WIN_WS_CHILD + WIN_WS_VISIBLE
VAR hDLL
VAR oSendEditor INIT NIL
METHOD Create(...)
METHOD SendEditor( ... ) INLINE ::oSendEditor:SendEditor( ... )
END CLASS
METHOD Create( ... ) CLASS wvgScintilla
::hDll := hb_libLoad( "scilexer.dll" )
::wvgtstControl():Create( ... )
::oSendEditor := SCIClass():New( ::hWnd )
RETURN NIL
CREATE CLASS SCIClass
VAR hWnd INIT NIL
METHOD New( hWnd )
METHOD SendEditor( nMsg, nParam, xValue ) INLINE ;
wapi_SendMessage( ::hWnd, nMsg, hb_Default( nParam, 0 ), hb_Default( nParam, 0 ), xValue ) )
METHOD AddText( nLen, cText ) INLINE ::SendEditor( 2001, nLen, cText )
//METHOD GetCurPos() INLINE ::SendEditor( SCI_GETCURRENTPOS )
//METHOD CharAtPos( nPos ) INLINE ::SendEditor( SCI_GET_CHARAT, nPos )
//METHOD SetSelText( cText ) INLINE ReplaceSel( ::cText )
METHOD AddStyledText( nLen ) INLINE ::SendEditor( 2002, nLen )
METHOD InsertText( nPos, cText ) INLINE ::SendEditor( 2003, nPos, cText )
METHOD ClearAll() INLINE ::SendEditor( 2004 )
METHOD ClearDocumentStyle() INLINE ::SendEditor( 2005 )
METHOD GetLength() INLINE ::SendEditor( 2006 )
METHOD GetCharAt( nPos ) INLINE ::SendEditor( 2007, nPos )
METHOD GetStyleAt( nPos ) INLINE ::SendEditor( 2010, nPos )
METHOD Redo() INLINE ::SendEditor( 2011 )
METHOD SetUndoCollection( lCollectUndo ) INLINE ::SendEditor( 2012, lCollectUndo )
METHOD SelectAll() INLINE ::SendEditor( 2013 )
METHOD SetSaveProint() INLINE ::SendEditor( 2014 )
METHOD GetStyledText() INLINE ::SendEditor( 2015 )
METHOD CanRedo() INLINE ::SendEditor( 2016 )
METHOD MarkerLineFromHandle( nHandle ) INLINE ::SendEditor( 2017, nHandle )
METHOD MarkerDeleteHandle( nHandle ) INLINE ::SendEditor( 2018, nHandle )
METHOD GetUndoCollection() INLINE ::SendEditor( 2019 )
METHOD GetViewWs() INLINE ::SendEditor( 2020 )
//METHOD SetViewWs( nViewWs ) INLINE SetViewWs( 2021 )
METHOD GotoLine( nValue ) INLINE ::SendEditor( 2024, nValue )
METHOD GotoPos( nValue ) INLINE ::SendEditor( 2025, nValue )
METHOD SetAnchor( nPos ) INLINE ::SendEditor( 2026, nPos )
METHOD GetCurLine( nLen, cText ) INLINE ::SendEditor( 2027, nLen, cText )
METHOD ConvertEOLs( lEOLMode ) INLINE ::SendEditor( 2029, lEOLMode )
METHOD StartStyling( nPos, nMask ) INLINE ::SendEditor( 2032, nPos, nMask )
METHOD SetStyling( nLen, nStyle ) INLINE ::SendEditor( 2033, nLen, nStyle )
METHOD GetBufferedDraw() INLINE ::SendEditor( 2034 )
METHOD SetBufferedDraw( lBuffered ) INLINE ::SendEditor( 2035, lBuffered )
METHOD SetTabWidth( nTabWidth ) INLINE ::SendEditor( 2036, nTabWidth )
METHOD GetTabWidth() INLINE ::SendEditor( 2121 )
METHOD SetCodepage( nCodepage ) INLINE ::SendEditor( 2037, nCodePage )
METHOD SetUsePalette( lUsePalette ) INLINE ::SendEditor( 2039, lUsePalette )
METHOD MarkerDefine( nMarkerNumber, nSymbol ) INLINE ::SendEditor( 2040, nMarkerNumber, nSymbol )
METHOD MarkerSetFore( nMarkerNumber, nFore ) INLINE ::SendEditor( 2041, nMarkerNumber, nFore )
METHOD MarkerSetBack( nMarkerNumber, nBack ) INLINE ::SendEditor( 2042, nMarkerNumber, nBack )
METHOD MarkerAdd( nLine, nMarkerNumber ) INLINE ::SendEditor( 2043, nLine, nMarkerNumber )
METHOD MarkerDelete( nLine, nMarkerNumber ) INLINE ::SendEditor( 2044, nLine, nMarkerNumber )
METHOD MarkerDeleteAll( nMarkerNumber ) INLINE ::SendEditor( 2045, nMarkerNumber )
METHOD MarkerGet( nLine ) INLINE ::SendEditor( 2046, nLine )
METHOD MarkerNext( nLineStart, nMarkerMask ) INLINE ::SendEditor( 2047, nLineStart, nMarkerMask )
METHOD MarkerPrevious( nLineStart, nMarkerMask ) INLINE ::SendEditor( 2048, nLineStart, nMarkerMask )
METHOD MarkerDefinePixMap( nMarkerNumber, cPixMap ) INLINE ::SendEditor( 2049, nMarkerNumber, cPixMap )
METHOD MarkerAddSet( nLine, nSets ) INLINE ::SendEditor( 2466, nLine, nSets )
METHOD SetMarginTypeN( nMargin, nMarginType ) INLINE ::SendEditor( 2240, nMargin, nMarginType )
METHOD GetMarginTypeN( nMargin ) INLINE ::SendEditor( 2241, nMargin )
METHOD SetMarginWidthN( nMargin, nPixelWidth) INLINE ::SendEditor( 2242, nMargin, nPixelWidth )
METHOD GetMarginWidthN( nMargin ) INLINE ::SendEditor( 2243, nMargin )
METHOD SetMarginMaskN( nMargin, nMask ) INLINE ::SendEditor( 2244, nMargin, nMask )
METHOD GetMargiMaskN( nMargin ) INLINE ::SendEditor( 2245, nMargin )
METHOD SetMarginSensitiveN( nMargin, lSensitive ) INLINE ::SendEditor( 2246, nMargin, lSensitive )
METHOD GetMarginSensitiveN( nMargin ) INLINE ::SendEditor( 2247, nMargin )
METHOD StyleClearAll() INLINE ::SendEditor( 2050 )
METHOD StyleSetFore( nStyle, nFore ) INLINE ::SendEditor( 2051, nStyle, nFore )
METHOD StyleSetBack( nStyle, nBack ) INLINE ::SendEditor( 2052, nStyle, nBack )
METHOD StyleSetBold( nStyle, lBold ) INLINE ::SendEditor( 2053, nStyle, lBold )
METHOD StyleSetItalic( nStyle, lItalic ) INLINE ::SendEditor( 2054, nStyle, lItalic )
METHOD StyleSetSize( nStyle, nSizePoints ) INLINE ::SendEditor( 2055, nStyle, nSizePoints )
METHOD StyleSetFont( nStyle, cFontName ) INLINE ::SendEditor( 2056, nStyle, cFontName )
METHOD StyleSetEOLFilled( nStyle, lFilled ) INLINE ::SendEditor( 2057, nStyle, lFilled )
METHOD StyleResetDefault() INLINE ::SendEditor( 2058 )
METHOD StyleSetUnderline( nStyle, lUnderline) INLINE ::SendEditor( 2059, nStyle, lUnderline )
METHOD StyleSetCase( nStyle, nCaseForce ) INLINE ::SendEditor( 2060, nStyle, nCaseForce )
METHOD StyleSetCharacterSet( nStyle, nCharacterSet ) INLINE ::SendEditor( 2066, nStyle, nCharacterSet )
METHOD StyleSetHotSpot( nStyle, nHotSpot ) INLINE ::SendEditor( 2409, nStyle, nHotSpot )
METHOD SetSelFore( lUseSetting, nFore ) INLINE ::SendEditor( 2067, lUseSetting, nFore )
METHOD SetSelBack( lUseSetting, nBack ) INLINE ::SendEditor( 2068, lUseSetting, nBack )
METHOD SetCaretFore( nFore ) INLINE ::SendEditor( 2069, nFore )
METHOD AssignCmdKey( nKeyDefinition, nMsg ) INLINE ::SendEditor( 2070, nKeyDefinition, nMsg )
METHOD ClearCmdKey( nKeyDef ) INLINE ::SendEditor( 2071, nKeyDef )
METHOD ClearAllCmdKeys() INLINE ::SendEditor( 2072, 0, 0 )
METHOD SetStylingEx( nLength, cStyles ) INLINE ::SendEditor( 2073, nLength, cStyles )
METHOD StyleSetVisible( nStyle, lVisible ) INLINE ::SendEditor( 2074, nStyle, lVisible )
METHOD GetCaretPeriod() INLINE ::SendEditor( 2075 )
METHOD SetCaretPeriod( nPeriodMillisec ) INLINE ::SendEditor( 2076, nPeriodMillisec )
METHOD SetWordChars( cCharacters ) INLINE ::SendEditor( 2077, 0, cCharacters )
METHOD BeginUndoAction() INLINE ::SendEditor( 2078 )
METHOD EndUndoAction() INLINE ::SendEditor( 2079 )
METHOD SetIndicStyleSet( nIndic, nStyle ) INLINE ::SendEditor( 2080, nIndic, nStyle )
METHOD IndicGetStyle( nIndic ) INLINE ::SendEditor( 2081, nIndic )
METHOD IndicSetFore( nIndic, nFore ) INLINE ::SendEditor( 2082, nIndic, nFore )
METHOD SetWhitespaceFore( lUseSetting, nFore) INLINE ::SendEditor( 2084, lUseSetting, nFore )
METHOD SetWhitespaceBack( lUseSetting, nBack) INLINE ::SendEditor( 2085, lUseSetting, nBack )
METHOD StyleSetBits( nBits ) INLINE ::SendEditor( 2090, nBits )
METHOD GetStyleBits() INLINE ::SendEditor( 2091 )
METHOD SetLineState( nLine, nState ) INLINE ::SendEditor( 2092, nLine, nState )
METHOD GetLineState( nLine ) INLINE ::SendEditor( 2093, nLine )
METHOD GetMaxLineState() INLINE ::SendEditor( 2094 )
METHOD GetCaretLineVisible() INLINE ::SendEditor( 2095 )
METHOD SetCaretLineVisible( lShow ) INLINE ::SendEditor( 2096, lShow )
METHOD SetCaretLineBack( nBack ) INLINE ::SendEditor( 2098, nBack )
METHOD StyleSetChageable( nStyle, lChangeable) INLINE ::SendEditor( 2099, nStyle, lChangeAble )
METHOD AutoCShow( nLenEntered, cItemList ) INLINE ::SendEditor( 2100, nLenEntered, cItemList )
METHOD AutoCCancel() INLINE ::SendEditor( 2101 )
METHOD AutoCActive() INLINE ::SendEditor( 2102 )
METHOD AutoCComplete() INLINE ::SendEditor( 2014 )
METHOD AutoCStops( cCharacterSet ) INLINE ::SendEditor( 2105, 0, cCharacterSet )
METHOD AutoCSetSeparator( nSeparatorChar ) INLINE ::SendEditor( 2106, nSeparatorChar )
METHOD AutoCGetSeparator() INLINE ::SendEditor( 2107 )
METHOD AutoCSelect( cText ) INLINE ::SendEditor( 2108, 0, cText )
METHOD AutoCSetCancelAtStart( lCancel ) INLINE ::SendEditor( 2110, lCancel )
METHOD AutoCGetCacelAtStart() INLINE ::SendEditor( 2111 )
METHOD AutoCSetFillUps( cCharSet ) INLINE ::SendEditor( 2112, 0, cCharSet )
METHOD AutoCSetChooseSingle( lChooseSingle ) INLINE ::SendEditor( 2113, lChooseSingle )
METHOD AutoCGetChooseSingle() INLINE ::SendEditor( 2114 )
METHOD AutoCSetIgnoreCase( lOnOff ) INLINE ::SendEditor( 2115, lOnOff )
METHOD AutoCGetIgnoreCase() INLINE ::SendEditor( 2116 )
METHOD UpperListShow( nListType, cItemList ) INLINE ::SendEditor( 2117, nListType, cItemList )
METHOD AutoCSetAutoHide( lOnOff ) INLINE ::SendEditor( 2118, lOnOff )
METHOD AutoCGetAutoHide() INLINE ::SendEditor( 2119 )
METHOD AutoCSetDropRestOfWord( lOnOff ) INLINE ::SendEditor( 2270, lOnOff, 0 )
METHOD AutoCGetDropRestOfWord() INLINE ::SendEditor( 2271 )
METHOD RegisterImage( nTypes, cXpmData ) INLINE ::SendEditor( 2405, nTypes, cXpmData )
METHOD ClearRegisteredImages() INLINE ::SendEditor( 2408 )
METHOD AutoCGetTypeSeparator() INLINE ::SendEditor( 2285 )
METHOD AutoCSetTypeSeparator( nChar ) INLINE ::SendEditor( 2286, nChar )
METHOD AutoCSetMaxWidth( nCharCount ) INLINE ::SendEditor( 2208, nCharCount )
METHOD AutoCGetMaxWidth() INLINE ::SendEditor( 2209 )
METHOD AutoCSetMaxHeight( nRowCount ) INLINE ::SendEditor( 2210, nRowCount )
METHOD AutoCGetMaxHeight() INLINE ::SendEditor( 2211 )
METHOD SetIndent( nIndentSize ) INLINE ::SendEditor( 2122, nIndentSize )
METHOD GetIndent() INLINE ::SendEditor( 2123 )
METHOD SetUseTabs( lUseTabs ) INLINE ::SendEditor( 2124, lUseTabs )
METHOD GetUseTabs() INLINE ::SendEditor( 2125 )
METHOD SetLineIndentation( nLine, nSize ) INLINE ::SendEditor( 2126, nLine, nSize )
METHOD GetLineIndentation( nLine ) INLINE ::SendEditor( 2127, nLine )
METHOD SetHScrollbar( lShow ) INLINE ::SendEditor( 2130, lShow )
METHOD GetHScrollbar() INLINE ::SendEditor( 2131 )
METHOD SetIndentationGuides( lShow ) INLINE ::SendEditor( 2132, lShow )
METHOD GetIdentationGuides() INLINE ::SendEditor( 2133 )
METHOD SetHighlightGuide( nColumn ) INLINE ::SendEditor( 2134, nColumn )
METHOD GetHighLightGuide() INLINE ::SendEditor( 2135 )
METHOD GetLineEndPosition( nLine ) INLINE ::SendEditor( 2136, nLine )
METHOD GetCodePage() INLINE ::SendEditor( 2137 )
METHOD GetUsePalette() INLINE ::SendEditor( 2139 )
METHOD GetReadOnly() INLINE ::SendEditor( 2140 )
METHOD SetCurrentPos( nPos ) INLINE ::SendEditor( 2141, nPos )
METHOD SetSelectionStart( nPos ) INLINE ::SendEditor( 2142, nPos )
METHOD SetSelecionEnd( nPos ) INLINE ::SendEditor( 2143, nPos )
METHOD SetPrintMagnification( nMagnification) INLINE ::SendEditor( 2146, nMagnification )
METHOD GetPrintMagnification() INLINE ::SendEditor( 2147 )
METHOD SetPrintColourMode( nMode ) INLINE ::SendEditor( 2148, nMode )
METHOD GetPrintColourMode() INLINE ::SendEditor( 2149 )
METHOD SetLexer( nLexer ) INLINE ::SendEditor( 4001, nLexer )
METHOD GetLexer() INLINE ::SendEditor( 4002 )
ENDCLASS
METHOD New( hWnd )
::hWnd := hWnd
RETURN NIL
/*
' # Find some text in the document.
' # On Windows, will draw the document into a display context such as a printer.
' # Retrieve the display line at the top of the display.
Public Function GetFirstVisibleLine() As Long
GetFirstVisibleLine = SendEditor(2152, 0, 0)
End Function
' # Returns the length of the line.
Public Function GetLine(line As Long, Text As String) As Long
GetLine = SendEditor(2153, line, Text)
End Function
' # Returns the number of lines in the document. There is always at least one.
Public Function GetLineCount() As Long
GetLineCount = SendEditor(2154, 0, 0)
End Function
' # Sets the size in pixels of the left margin.
Public Sub SetMarginLeft(pixelWidth As Long)
Call SendEditor(2155, 0, pixelWidth)
End Sub
' # Returns the size in pixels of the left margin.
Public Function GetMarginLeft() As Long
GetMarginLeft = SendEditor(2156, 0, 0)
End Function
' # Sets the size in pixels of the right margin.
Public Sub SetMarginRight(pixelWidth As Long)
Call SendEditor(2157, 0, pixelWidth)
End Sub
' # Returns the size in pixels of the right margin.
Public Function GetMarginRight() As Long
GetMarginRight = SendEditor(2158, 0, 0)
End Function
' # Is the document different from when it was last saved?
Public Function GetModify() As Boolean
GetModify = SendEditor(2159, 0, 0)
End Function
' # Select a range of text.
Public Sub SetSel(starts As Long, ends As Long)
Call SendEditor(2160, starts, ends)
End Sub
Public Function GetSelectionEnd() As Long
GetSelectionEnd = SendMessage(SCI, SCI_GETSELECTIONEND, CLng(0), CLng(0))
End Function
Public Function GetSelectionStart() As Long
GetSelectionStart = SendMessage(SCI, SCI_GETSELECTIONSTART, CLng(0), CLng(0))
End Function
Public Function GetSelectionLength() As Long
GetSelectionLength = GetSelectionEnd - GetSelectionStart
End Function
' # Return the length of the text.
Public Function GetSelText() As String
Dim bByte() As Byte
Dim lPtr As Long
Dim strTmp As String
Dim i As Long
lPtr = GetSelectionLength
ReDim Preserve bByte(0 To lPtr)
SendMessage SCI, SCI_GETSELTEXT, 0, VarPtr(bByte(0))
strTmp = ""
strTmp = StrConv(bByte, vbUnicode)
GetSelText = strTmp
End Function
' # Return the length of the text.
Public Function GetTextRange() As Long
GetTextRange = SendEditor(2162, 0, 0)
End Function
' # Draw the selection in normal style or with selection highlighted.
Public Sub HideSelection(normal As Boolean)
Call SendEditor(2163, normal, 0)
End Sub
' # Retrieve the x value of the point in the window where a position is displayed.
Public Function PointXFromPosition(pos As Long) As Long
PointXFromPosition = SendEditor(2164, 0, pos)
End Function
' # Retrieve the y value of the point in the window where a position is displayed.
Public Function PointYFromPosition(pos As Long) As Long
PointYFromPosition = SendEditor(2165, 0, pos)
End Function
' # Retrieve the line containing a position.
Public Function LineFromPosition(pos As Long) As Long
LineFromPosition = SendEditor(2166, pos, 0)
End Function
' # Retrieve the position at the start of a line.
' # Scroll horizontally and vertically.
Public Sub LineScroll(columns As Long, lines As Long)
Call SendEditor(2168, columns, lines)
End Sub
' # Ensure the caret is visible.
Public Sub ScrollCaret()
Call SendEditor(2169, 0, 0)
End Sub
' # Replace the selected text with the argument text.
Public Sub ReplaceSel(Text As String)
Call SendEditor(2170, 0, Text)
End Sub
' # Set to read only or read write.
Public Sub SetReadOnly(ReadOnly As Boolean)
Call SendEditor(2171, ReadOnly, 0)
End Sub
' # Null operation.
Public Sub Nulls()
Call SendEditor(2172, 0, 0)
End Sub
' # Will a paste succeed?
Public Function CanPaste() As Boolean
CanPaste = SendEditor(2173, 0, 0)
End Function
' # Are there any undoable actions in the undo history?
Public Function CanUndo() As Boolean
CanUndo = SendEditor(2174, 0, 0)
End Function
' # Delete the undo history.
Public Sub EmptyUndoBuffer()
Call SendEditor(2175, 0, 0)
End Sub
' # Undo one action in the undo history.
Public Sub Undo()
Call SendEditor(2176, 0, 0)
SetFocus
End Sub
' # Cut the selection to the clipboard.
Public Sub Cut()
Call SendEditor(2177, 0, 0)
SetFocus
End Sub
' # Copy the selection to the clipboard.
Public Sub Copy()
Call SendEditor(2178, 0, 0)
SetFocus
End Sub
' # Paste the contents of the clipboard into the document replacing the selection.
Public Sub Paste()
Call SendEditor(2179, 0, 0)
SetFocus
End Sub
' # Clear the selection.
Public Sub Clear()
Call SendEditor(2180, 0, 0)
SetFocus
End Sub
' # Replace the contents of the document with the argument text.
Public Sub SetText(Text As String)
Call SendEditor(2181, 0, Text)
SetFocus
End Sub
' # Returns number of characters retrieved.
Public Function GetText() As String
Dim numChar As Long
Dim txt As String
numChar = SendMessage(SCI, SCI_GETLENGTH, 0, 0) + 1
txt = Space(numChar)
SendMessageString SCI, SCI_GETTEXT, numChar, txt
If Right(txt, 1) = Chr(0) Then
txt = Left(txt, Len(txt) - 1)
End If
GetText = txt 'Left(txt, Len(txt) - 1)
End Function
' # Retrieve the number of characters in the document.
Public Function GetTextLength() As Long
GetTextLength = SendEditor(2183, 0, 0)
End Function
' # Retrieve a pointer to a function that processes messages for this Scintilla.
Public Function GetDirectFunction() As Long
GetDirectFunction = SendEditor(2184, 0, 0)
End Function
' # the function returned by GetDirectFunction.
Public Function GetDirectPointer() As Long
GetDirectPointer = SendEditor(2185, 0, 0)
End Function
' # Set to overtype (true) or insert mode.
Public Sub SetOvertype(OverType As Boolean)
Call SendEditor(2186, OverType, 0)
End Sub
' # Returns true if overtype mode is active otherwise false is returned.
Public Function GetOvertype() As Boolean
GetOvertype = SendEditor(2187, 0, 0)
End Function
' # Set the width of the insert mode caret.
Public Sub SetCaretWidth(pixelWidth As Long)
Call SendEditor(2188, pixelWidth, 0)
End Sub
' # Returns the width of the insert mode caret.
Public Function GetCaretWidth() As Long
GetCaretWidth = SendEditor(2189, 0, 0)
End Function
' # document without affecting the scroll position.
Public Sub SetTargetStart(pos As Long)
Call SendEditor(2190, pos, 0)
End Sub
' # Get the position that starts the target.
' # document without affecting the scroll position.
Public Sub SetTargetEnd(pos As Long)
Call SendEditor(2192, pos, 0)
End Sub
' # Get the position that ends the target.
' # Returns the length of the replacement text.
Public Function ReplaceTarget(length As Long, Text As String) As Long
ReplaceTarget = SendEditor(2194, length, Text)
End Function
' # caused by processing the \d patterns.
Public Function ReplaceTargetRE(length As Long, Text As String) As Long
ReplaceTargetRE = SendEditor(2195, length, Text)
End Function
' # Returns length of range or -1 for failure in which case target is not moved.
Public Function SearchInTarget(length As Long, Text As String) As Long
SearchInTarget = SendEditor(2197, length, Text)
End Function
' # Set the search flags used by SearchInTarget.
Public Sub SetSearchFlags(flags As Long)
Call SendEditor(2198, flags, 0)
End Sub
' # Get the search flags used by SearchInTarget.
Public Function GetSearchFlags() As Long
GetSearchFlags = SendEditor(2199, 0, 0)
End Function
' # Show a call tip containing a definition near position pos.
Public Sub CallTipShow(pos As Long, definition As String)
Call SendEditor(2200, pos, definition)
End Sub
' # Remove the call tip from the screen.
Public Sub CallTipCancel()
Call SendEditor(2201, 0, 0)
End Sub
' # Is there an active call tip?
Public Function CallTipActive() As Boolean
CallTipActive = SendEditor(2202, 0, 0)
End Function
' # Retrieve the position where the caret was before displaying the call tip.
' # Highlight a segment of the definition.
Public Sub CallTipSetHlt(starts As Long, ends As Long)
Call SendEditor(2204, starts, ends)
End Sub
' # Set the background colour for the call tip.
Public Sub CallTipSetBack(back As Long)
Call SendEditor(2205, back, 0)
End Sub
' # Set the foreground colour for the call tip.
Public Sub CallTipSetFore(fore As Long)
Call SendEditor(2206, fore, 0)
End Sub
' # Set the foreground colour for the highlighted part of the call tip.
Public Sub CallTipSetForeHlt(fore As Long)
Call SendEditor(2207, fore, 0)
End Sub
' # Find the display line of a document line taking hidden lines into account.
Public Function VisibleFromDocLine(line As Long) As Long
VisibleFromDocLine = SendEditor(2220, line, 0)
End Function
' # Find the document line of a display line taking hidden lines into account.
Public Function DocLineFromVisible(lineDisplay As Long) As Long
DocLineFromVisible = SendEditor(2221, lineDisplay, 0)
End Function
' # The number of display lines needed to wrap a document line
Public Function WrapCount(line As Long) As Long
WrapCount = SendEditor(2235, line, 0)
End Function
' # line is a header and whether it is effectively white space.
Public Sub SetFoldLevel(line As Long, level As Long)
Call SendEditor(2222, line, level)
End Sub
' # Retrieve the fold level of a line.
Public Function GetFoldLevel(line As Long) As Long
GetFoldLevel = SendEditor(2223, line, 0)
End Function
' # Find the last child line of a header line.
Public Function GetLastChild(line As Long, level As Long) As Long
GetLastChild = SendEditor(2224, line, level)
End Function
' # Find the parent line of a child line.
Public Function GetFoldParent(line As Long) As Long
GetFoldParent = SendEditor(2225, line, 0)
End Function
' # Make a range of lines visible.
Public Sub ShowLines(lineStart As Long, LineEnd As Long)
Call SendEditor(2226, lineStart, LineEnd)
End Sub
' # Make a range of lines invisible.
Public Sub HideLines(lineStart As Long, LineEnd As Long)
Call SendEditor(2227, lineStart, LineEnd)
End Sub
' # Is a line visible?
Public Function GetLineVisible(line As Long) As Boolean
GetLineVisible = SendEditor(2228, line, 0)
End Function
' # Show the children of a header line.
Public Sub SetFoldExpanded(line As Long, expanded As Boolean)
Call SendEditor(2229, line, expanded)
End Sub
' # Is a header line expanded?
Public Function GetFoldExpanded(line As Long) As Boolean
GetFoldExpanded = SendEditor(2230, line, 0)
End Function
' # Switch a header line between expanded and contracted.
Public Sub ToggleFold(line As Long)
Call SendEditor(2231, line, 0)
End Sub
' # Ensure a particular line is visible by expanding any header line hiding it.
Public Sub EnsureVisible(line As Long)
Call SendEditor(2232, line, 0)
End Sub
' # Set some style options for folding.
Public Sub SetFoldFlags(flags As Long)
Call SendEditor(2233, flags, 0)
End Sub
' # Use the currently set visibility policy to determine which range to display.
Public Sub EnsureVisibleEnforcePolicy(line As Long)
Call SendEditor(2234, line, 0)
End Sub
' # Sets whether a tab pressed when caret is within indentation indents.
Public Sub SetTabIndents(TabIndents As Boolean)
Call SendEditor(2260, TabIndents, 0)
End Sub
' # Does a tab pressed when caret is within indentation indent?
Public Function GetTabIndents() As Boolean
GetTabIndents = SendEditor(2261, 0, 0)
End Function
' # Sets whether a backspace pressed when caret is within indentation unindents.
Public Sub SetBackSpaceUnIndents(bsUnIndents As Boolean)
Call SendEditor(2262, bsUnIndents, 0)
End Sub
' # Does a backspace pressed when caret is within indentation unindent?
Public Function GetBackSpaceUnIndents() As Boolean
GetBackSpaceUnIndents = SendEditor(2263, 0, 0)
End Function
' # Sets the time the mouse must sit still to generate a mouse dwell event.
Public Sub SetMouseDwellTime(periodMilliseconds As Long)
Call SendEditor(2264, periodMilliseconds, 0)
End Sub
' # Retrieve the time the mouse must sit still to generate a mouse dwell event.
Public Function GetMouseDwellTime() As Long
GetMouseDwellTime = SendEditor(2265, 0, 0)
End Function
' # Get position of start of word.
Public Function WordStartPosition(pos As Long, onlyWordCharacters As Boolean) As Long
WordStartPosition = SendEditor(2266, pos, onlyWordCharacters)
End Function
' # Get position of end of word.
Public Function WordEndPosition(pos As Long, onlyWordCharacters As Boolean) As Long
WordEndPosition = SendEditor(2267, pos, onlyWordCharacters)
End Function
' # Sets whether text is word wrapped.
Public Sub SetWrapMode(mode As Long)
Call SendEditor(2268, mode, 0)
End Sub
' # Retrieve whether text is word wrapped.
Public Function GetWrapMode() As Long
GetWrapMode = SendEditor(2269, 0, 0)
End Function
' # Set the display mode of visual flags for wrapped lines.
Public Sub SetWrapVisualFlags(wrapVisualFlags As Long)
Call SendEditor(2460, wrapVisualFlags, 0)
End Sub
' # Retrive the display mode of visual flags for wrapped lines.
Public Function GetWrapVisualFlags() As Long
GetWrapVisualFlags = SendEditor(2461, 0, 0)
End Function
' # Set the location of visual flags for wrapped lines.
Public Sub SetWrapVisualFlagsLocation(wrapVisualFlagsLocation As Long)
Call SendEditor(2462, wrapVisualFlagsLocation, 0)
End Sub
' # Retrive the location of visual flags for wrapped lines.
Public Function GetWrapVisualFlagsLocation() As Long
GetWrapVisualFlagsLocation = SendEditor(2463, 0, 0)
End Function
' # Set the start indent for wrapped lines.
Public Sub SetWrapStartIndent(Indent As Long)
Call SendEditor(2464, Indent, 0)
End Sub
' # Retrive the start indent for wrapped lines.
Public Function GetWrapStartIndent() As Long
GetWrapStartIndent = SendEditor(2465, 0, 0)
End Function
' # Sets the degree of caching of layout information.
Public Sub SetLayoutCache(mode As Long)
Call SendEditor(2272, mode, 0)
End Sub
' # Retrieve the degree of caching of layout information.
Public Function GetLayoutCache() As Long
GetLayoutCache = SendEditor(2273, 0, 0)
End Function
' # Sets the document width assumed for scrolling.
Public Sub SetScrollWidth(pixelWidth As Long)
Call SendEditor(2274, pixelWidth, 0)
End Sub
' # Retrieve the document width assumed for scrolling.
Public Function GetScrollWidth() As Long
GetScrollWidth = SendEditor(2275, 0, 0)
End Function
'
'' # Does not handle tab or control characters.
'Public Function TextWidth(style As Long, text As String) As Long
' TextWidth = SendEditor(2276, style, text)
'End Function
' # Setting this to false allows scrolling one page below the last line.
Public Sub SetEndAtLastLine(EndAtLastLine As Boolean)
Call SendEditor(2277, EndAtLastLine, 0)
End Sub
' # line at the bottom of the view.
Public Function GetEndAtLastLine() As Boolean
GetEndAtLastLine = SendEditor(2278, 0, 0)
End Function
'' # Retrieve the height of a particular line of text in pixels.
'Public Function TextHeight(line As Long) As Long
' TextHeight = SendEditor(2279, line, 0)
'End Function
' # Show or hide the vertical scroll bar.
Public Sub SetVScrollBar(show As Boolean)
Call SendEditor(2280, show, 0)
End Sub
' # Is the vertical scroll bar visible?
Public Function GetVScrollBar() As Boolean
GetVScrollBar = SendEditor(2281, 0, 0)
End Function
' # Append a string to the end of the document without changing the selection.
Public Sub AppendText(length As Long, Text As String)
Call SendEditor(2282, length, Text)
End Sub
' # Is drawing done in two phases with backgrounds drawn before faoregrounds?
Public Function GetTwoPhaseDraw() As Boolean
GetTwoPhaseDraw = SendEditor(2283, 0, 0)
End Function
' # and then the foreground. This avoids chopping off characters that overlap the next run.
Public Sub SetTwoPhaseDraw(twoPhase As Boolean)
Call SendEditor(2284, twoPhase, 0)
End Sub
' # Make the target range start and end be the same as the selection range start and end.
Public Sub TargetFromSelection()
Call SendEditor(2287, 0, 0)
End Sub
' # Join the lines in the target.
Public Sub LinesJoin()
Call SendEditor(2288, 0, 0)
End Sub
' # where possible.
Public Sub LinesSplit(pixelWidth As Long)
Call SendEditor(2289, pixelWidth, 0)
End Sub
' # Set the colours used as a chequerboard pattern in the fold margin
Public Sub SetFoldMarginColour(useSetting As Boolean, back As Long)
Call SendEditor(2290, useSetting, back)
End Sub
Public Sub SetFoldMarginHiColour(useSetting As Boolean, fore As Long)
Call SendEditor(2291, useSetting, fore)
End Sub
' ## New messages go here
' # Move caret down one line.
Public Sub LineDown()
Call SendEditor(2300, 0, 0)
End Sub
' # Move caret down one line extending selection to new caret position.
Public Sub LineDownExtend()
Call SendEditor(2301, 0, 0)
End Sub
' # Move caret up one line.
Public Sub LineUp()
Call SendEditor(2302, 0, 0)
End Sub
' # Move caret up one line extending selection to new caret position.
Public Sub LineUpExtend()
Call SendEditor(2303, 0, 0)
End Sub
' # Move caret left one character.
Public Sub CharLeft()
Call SendEditor(2304, 0, 0)
End Sub
' # Move caret left one character extending selection to new caret position.
Public Sub CharLeftExtend()
Call SendEditor(2305, 0, 0)
End Sub
' # Move caret right one character.
Public Sub CharRight()
Call SendEditor(2306, 0, 0)
End Sub
' # Move caret right one character extending selection to new caret position.
Public Sub CharRightExtend()
Call SendEditor(2307, 0, 0)
End Sub
' # Move caret left one word.
Public Sub WordLeft()
Call SendEditor(2308, 0, 0)
End Sub
' # Move caret left one word extending selection to new caret position.
Public Sub WordLeftExtend()
Call SendEditor(2309, 0, 0)
End Sub
' # Move caret right one word.
Public Sub WordRight()
Call SendEditor(2310, 0, 0)
End Sub
' # Move caret right one word extending selection to new caret position.
Public Sub WordRightExtend()
Call SendEditor(2311, 0, 0)
End Sub
' # Move caret to first position on line.
Public Sub Home()
Call SendEditor(2312, 0, 0)
End Sub
' # Move caret to first position on line extending selection to new caret position.
Public Sub HomeExtend()
Call SendEditor(2313, 0, 0)
End Sub
' # Move caret to last position on line.
Public Sub LineEnd()
Call SendEditor(2314, 0, 0)
End Sub
' # Move caret to last position on line extending selection to new caret position.
Public Sub LineEndExtend()
Call SendEditor(2315, 0, 0)
End Sub
' # Move caret to first position in document.
Public Sub DocumentStart()
Call SendEditor(2316, 0, 0)
End Sub
' # Move caret to first position in document extending selection to new caret position.
Public Sub DocumentStartExtend()
Call SendEditor(2317, 0, 0)
End Sub
' # Move caret to last position in document.
Public Sub DocumentEnd()
Call SendEditor(2318, 0, 0)
End Sub
' # Move caret to last position in document extending selection to new caret position.
Public Sub DocumentEndExtend()
Call SendEditor(2319, 0, 0)
End Sub
' # Move caret one page up.
Public Sub PageUp()
Call SendEditor(2320, 0, 0)
End Sub
' # Move caret one page up extending selection to new caret position.
Public Sub PageUpExtend()
Call SendEditor(2321, 0, 0)
End Sub
' # Move caret one page down.
Public Sub PageDown()
Call SendEditor(2322, 0, 0)
End Sub
' # Move caret one page down extending selection to new caret position.
Public Sub PageDownExtend()
Call SendEditor(2323, 0, 0)
End Sub
' # Switch from insert to overtype mode or the reverse.
Public Sub EditToggleOvertype()
Call SendEditor(2324, 0, 0)
End Sub
' # Cancel any modes such as call tip or auto-completion list display.
Public Sub Cancel()
Call SendEditor(2325, 0, 0)
End Sub
' # Delete the selection or if no selection, the character before the caret.
Public Sub DeleteBack()
Call SendEditor(2326, 0, 0)
End Sub
' # If more than one line selected, indent the lines.
Public Sub Indent()
Call SendEditor(2327, 0, 0)
End Sub
' # Dedent the selected lines.
Public Sub BackTab()
Call SendEditor(2328, 0, 0)
End Sub
' # Insert a new line, may use a CRLF, CR or LF depending on EOL mode.
Public Sub NewLine()
Call SendEditor(2329, 0, 0)
End Sub
' # Insert a Form Feed character.
Public Sub FormFeed()
Call SendEditor(2330, 0, 0)
End Sub
' # If already there move to first character on line.
Public Sub VCHome()
Call SendEditor(2331, 0, 0)
End Sub
' # Like VCHome but extending selection to new caret position.
Public Sub VCHomeExtend()
Call SendEditor(2332, 0, 0)
End Sub
' # Magnify the displayed text by increasing the sizes by 1 point.
Public Sub ZoomIn()
Call SendEditor(2333, 0, 0)
End Sub
' # Make the displayed text smaller by decreasing the sizes by 1 point.
Public Sub ZoomOut()
Call SendEditor(2334, 0, 0)
End Sub
' # Delete the word to the left of the caret.
Public Sub DelWordLeft()
Call SendEditor(2335, 0, 0)
End Sub
' # Delete the word to the right of the caret.
Public Sub DelWordRight()
Call SendEditor(2336, 0, 0)
End Sub
' # Cut the line containing the caret.
Public Sub LineCut()
Call SendEditor(2337, 0, 0)
End Sub
' # Delete the line containing the caret.
Public Sub LineDelete()
Call SendEditor(2338, 0, 0)
End Sub
' # Switch the current line with the previous.
Public Sub LineTranspose()
Call SendEditor(2339, 0, 0)
End Sub
' # Duplicate the current line.
Public Sub LineDuplicate()
Call SendEditor(2404, 0, 0)
End Sub
' # Transform the selection to lower case.
Public Sub LowerCase()
Call SendEditor(2340, 0, 0)
End Sub
' # Transform the selection to upper case.
Public Sub UpperCase()
Call SendEditor(2341, 0, 0)
End Sub
' # Scroll the document down, keeping the caret visible.
Public Sub LineScrollDown()
Call SendEditor(2342, 0, 0)
End Sub
' # Scroll the document up, keeping the caret visible.
Public Sub LineScrollUp()
Call SendEditor(2343, 0, 0)
End Sub
' # Will not delete the character before at the start of a line.
Public Sub DeleteBackNotLine()
Call SendEditor(2344, 0, 0)
End Sub
' # Move caret to first position on display line.
Public Sub HomeDisplay()
Call SendEditor(2345, 0, 0)
End Sub
' # new caret position.
Public Sub HomeDisplayExtend()
Call SendEditor(2346, 0, 0)
End Sub
' # Move caret to last position on display line.
Public Sub LineEndDisplay()
Call SendEditor(2347, 0, 0)
End Sub
' # caret position.
Public Sub LineEndDisplayExtend()
Call SendEditor(2348, 0, 0)
End Sub
' # or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?.
Public Sub HomeWrap()
Call SendEditor(2349, 0, 0)
End Sub
Public Sub HomeWrapExtend()
Call SendEditor(2450, 0, 0)
End Sub
Public Sub LineEndWrap()
Call SendEditor(2451, 0, 0)
End Sub
Public Sub LineEndWrapExtend()
Call SendEditor(2452, 0, 0)
End Sub
Public Sub VCHomeWrap()
Call SendEditor(2453, 0, 0)
End Sub
Public Sub VCHomeWrapExtend()
Call SendEditor(2454, 0, 0)
End Sub
' # Copy the line containing the caret.
Public Sub LineCopy()
Call SendEditor(2455, 0, 0)
End Sub
' # Move the caret inside current view if it's not there already.
Public Sub MoveCaretInsideView()
Call SendEditor(2401, 0, 0)
End Sub
' # How many characters are on a line, not including end of line characters?
Public Function LineLength(line As Long) As Long
LineLength = SendEditor(2350, line, 0)
End Function
' # Highlight the characters at two positions.
Public Sub BraceHighlight(pos1 As Long, pos2 As Long)
Call SendEditor(2351, pos1, pos2)
End Sub
' # Highlight the character at a position indicating there is no matching brace.
Public Sub BraceBadLight(pos As Long)
Call SendEditor(2352, pos, 0)
End Sub
' # Find the position of a matching brace or INVALID_POSITION if no match.
' # Are the end of line characters visible?
Public Function GetViewEOL() As Boolean
GetViewEOL = SendEditor(2355, 0, 0)
End Function
' # Make the end of line characters visible or invisible.
Public Sub SetViewEOL(visible As Boolean)
Call SendEditor(2356, visible, 0)
End Sub
' # Retrieve a pointer to the document object.
Public Function GetDocPointer() As Long
GetDocPointer = SendEditor(2357, 0, 0)
End Function
' # Change the document object used.
Public Sub SetDocPointer(pointer As Long)
Call SendEditor(2358, 0, pointer)
End Sub
' # Set which document modification events are sent to the container.
Public Sub SetModEventMask(mask As Long)
Call SendEditor(2359, mask, 0)
End Sub
' # Retrieve the column number which text should be kept within.
Public Function GetEdgeColumn() As Long
GetEdgeColumn = SendEditor(2360, 0, 0)
End Function
' # If text goes past the edge then it is highlighted.
Public Sub SetEdgeColumn(Column As Long)
Call SendEditor(2361, Column, 0)
End Sub
' # Retrieve the edge highlight mode.
Public Function GetEdgeMode() As Long
GetEdgeMode = SendEditor(2362, 0, 0)
End Function
' # goes beyond it (EDGE_BACKGROUND) or not displayed at all (EDGE_NONE).
Public Sub SetEdgeMode(mode As Long)
Call SendEditor(2363, mode, 0)
End Sub
' # Retrieve the colour used in edge indication.
' # Change the colour used in edge indication.
Public Sub SetEdgeColour(edgeColour As Long)
Call SendEditor(2365, edgeColour, 0)
End Sub
' # Sets the current caret position to be the search anchor.
Public Sub SearchAnchor()
Call SendEditor(2366, 0, 0)
End Sub
' # Does not ensure the selection is visible.
Public Function SearchNext(flags As Long, Text As String) As Long
SearchNext = SendEditor(2367, flags, Text)
End Function
' # Does not ensure the selection is visible.
Public Function SearchPrev(flags As Long, Text As String) As Long
SearchPrev = SendEditor(2368, flags, Text)
End Function
' # Retrieves the number of lines completely visible.
Public Function LinesOnScreen() As Long
LinesOnScreen = SendEditor(2370, 0, 0)
End Function
' # the wrong mouse button.
Public Sub UsePopUp(allowPopUp As Boolean)
Call SendEditor(2371, allowPopUp, 0)
End Sub
' # Is the selection rectangular? The alternative is the more common stream selection.
Public Function SelectionIsRectangle() As Boolean
SelectionIsRectangle = SendEditor(2372, 0, 0)
End Function
' # It may be positive to magnify or negative to reduce.
Public Sub SetZoom(Zoom As Long)
Call SendEditor(2373, Zoom, 0)
End Sub
' # Retrieve the zoom level.
Public Function GetZoom() As Long
GetZoom = SendEditor(2374, 0, 0)
End Function
' # Starts with reference count of 1 and not selected into editor.
Public Function CreateDocument() As Long
CreateDocument = SendEditor(2375, 0, 0)
End Function
' # Extend life of document.
Public Sub AddRefDocument(doc As Long)
Call SendEditor(2376, 0, doc)
End Sub
' # Release a reference to the document, deleting document if it fades to black.
Public Sub ReleaseDocument(doc As Long)
Call SendEditor(2377, 0, doc)
End Sub
' # Get which document modification events are sent to the container.
Public Function GetModEventMask() As Long
GetModEventMask = SendEditor(2378, 0, 0)
End Function
' # Change internal focus flag.
Public Sub SetFocus()
SetFocusEx SCI
Call SendEditor(2380, True, 0)
End Sub
' # Get internal focus flag.
Public Function GetFocus() As Boolean
GetFocus = SendEditor(2381, 0, 0)
End Function
' # Change error status - 0 = OK.
Public Sub SetStatus(statusCode As Long)
Call SendEditor(2382, statusCode, 0)
End Sub
' # Get error status.
Public Function GetStatus() As Long
GetStatus = SendEditor(2383, 0, 0)
End Function
' # Set whether the mouse is captured when its button is pressed.
Public Sub SetMouseDownCaptures(captures As Boolean)
Call SendEditor(2384, captures, 0)
End Sub
' # Get whether mouse gets captured.
Public Function GetMouseDownCaptures() As Boolean
GetMouseDownCaptures = SendEditor(2385, 0, 0)
End Function
' # Sets the cursor to one of the SC_CURSOR* values.
Public Sub SetCursor(cursorType As Long)
Call SendEditor(2386, cursorType, 0)
End Sub
' # Get cursor type.
Public Function GetCursor() As Long
GetCursor = SendEditor(2387, 0, 0)
End Function
' # If symbol is < 32, keep the drawn way, else, use the given character.
Public Sub SetControlCharSymbol(symbol As Long)
Call SendEditor(2388, symbol, 0)
End Sub
' # Get the way control characters are displayed.
Public Function GetControlCharSymbol() As Long
GetControlCharSymbol = SendEditor(2389, 0, 0)
End Function
' # Move to the previous change in capitalisation.
Public Sub WordPartLeft()
Call SendEditor(2390, 0, 0)
End Sub
' # to new caret position.
Public Sub WordPartLeftExtend()
Call SendEditor(2391, 0, 0)
End Sub
' # Move to the change next in capitalisation.
Public Sub WordPartRight()
Call SendEditor(2392, 0, 0)
End Sub
' # to new caret position.
Public Sub WordPartRightExtend()
Call SendEditor(2393, 0, 0)
End Sub
' # Constants for use with SetVisiblePolicy, similar to SetCaretPolicy.
' # is to be moved to by Find, FindNext, GotoLine, etc.
Public Sub SetVisiblePolicy(visiblePolicy As Long, visibleSlop As Long)
Call SendEditor(2394, visiblePolicy, visibleSlop)
End Sub
' # Delete back from the current position to the start of the line.
Public Sub DelLineLeft()
Call SendEditor(2395, 0, 0)
End Sub
' # Delete forwards from the current position to the end of the line.
Public Sub DelLineRight()
Call SendEditor(2396, 0, 0)
End Sub
' # Get and Set the xOffset (ie, horizonal scroll position).
Public Sub SetXOffset(newOffset As Long)
Call SendEditor(2397, newOffset, 0)
End Sub
Public Function GetXOffset() As Long
GetXOffset = SendEditor(2398, 0, 0)
End Function
' # Set the last x chosen value to be the caret x position.
Public Sub ChooseCaretX()
Call SendEditor(2399, 0, 0)
End Sub
' # GTK+ Specific.
Public Sub GrabFocus()
Call SendEditor(2400, 0, 0)
End Sub
' # often dependent on that line.
' # and cannot go in the UZ if slop is set.
' # so the caret can move in the same direction longer before the policy is applied again.
' # where most code reside, and the lines after the caret, eg. the body of a function.
' # The exclusion zone is given in pixels.
Public Sub SetXCaretPolicy(caretPolicy As Long, caretSlop As Long)
Call SendEditor(2402, caretPolicy, caretSlop)
End Sub
' # The exclusion zone is given in lines.
Public Sub SetYCaretPolicy(caretPolicy As Long, caretSlop As Long)
Call SendEditor(2403, caretPolicy, caretSlop)
End Sub
' # Set printing to line wrapped (SC_WRAP_WORD) or not line wrapped (SC_WRAP_NONE).
Public Sub SetPrintWrapMode(mode As Long)
Call SendEditor(2406, mode, 0)
End Sub
' # Is printing line wrapped?
Public Function GetPrintWrapMode() As Long
GetPrintWrapMode = SendEditor(2407, 0, 0)
End Function
' # Set a fore colour for active hotspots.
Public Sub SetHotspotActiveFore(useSetting As Boolean, fore As Long)
Call SendEditor(2410, useSetting, fore)
End Sub
' # Set a back colour for active hotspots.
Public Sub SetHotspotActiveBack(useSetting As Boolean, back As Long)
Call SendEditor(2411, useSetting, back)
End Sub
' # Enable / Disable underlining active hotspots.
Public Sub SetHotspotActiveUnderline(underline As Boolean)
Call SendEditor(2412, underline, 0)
End Sub
' # Limit hotspots to single line so hotspots on two lines don't merge.
Public Sub SetHotspotSingleLine(singleLine As Boolean)
Call SendEditor(2421, singleLine, 0)
End Sub
' # Move caret between paragraphs (delimited by empty lines).
Public Sub ParaDown()
Call SendEditor(2413, 0, 0)
End Sub
Public Sub ParaDownExtend()
Call SendEditor(2414, 0, 0)
End Sub
Public Sub ParaUp()
Call SendEditor(2415, 0, 0)
End Sub
Public Sub ParaUpExtend()
Call SendEditor(2416, 0, 0)
End Sub
' # page into account. Returns 0 if passed 0.
' # page into account. Maximum value returned is the last position in the document.
' # Copy a range of text to the clipboard. Positions are clipped into the document.
Public Sub CopyRange(starts As Long, ends As Long)
Call SendEditor(2419, starts, ends)
End Sub
' # Copy argument text to the clipboard.
Public Sub CopyText(length As Long, Text As String)
Call SendEditor(2420, length, Text)
End Sub
' # by lines (SC_SEL_LINES).
Public Sub SetSelectionMode(mode As Long)
Call SendEditor(2422, mode, 0)
End Sub
' # Get the mode of the current selection.
Public Function GetSelectionMode() As Long
GetSelectionMode = SendEditor(2423, 0, 0)
End Function
' # Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line).
' # Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line).
' # Move caret down one line, extending rectangular selection to new caret position.
Public Sub LineDownRectExtend()
Call SendEditor(2426, 0, 0)
End Sub
' # Move caret up one line, extending rectangular selection to new caret position.
Public Sub LineUpRectExtend()
Call SendEditor(2427, 0, 0)
End Sub
' # Move caret left one character, extending rectangular selection to new caret position.
Public Sub CharLeftRectExtend()
Call SendEditor(2428, 0, 0)
End Sub
' # Move caret right one character, extending rectangular selection to new caret position.
Public Sub CharRightRectExtend()
Call SendEditor(2429, 0, 0)
End Sub
' # Move caret to first position on line, extending rectangular selection to new caret position.
Public Sub HomeRectExtend()
Call SendEditor(2430, 0, 0)
End Sub
' # In either case, extend rectangular selection to new caret position.
Public Sub VCHomeRectExtend()
Call SendEditor(2431, 0, 0)
End Sub
' # Move caret to last position on line, extending rectangular selection to new caret position.
Public Sub LineEndRectExtend()
Call SendEditor(2432, 0, 0)
End Sub
' # Move caret one page up, extending rectangular selection to new caret position.
Public Sub PageUpRectExtend()
Call SendEditor(2433, 0, 0)
End Sub
' # Move caret one page down, extending rectangular selection to new caret position.
Public Sub PageDownRectExtend()
Call SendEditor(2434, 0, 0)
End Sub
' # Move caret to top of page, or one page up if already at top of page.
Public Sub StutteredPageUp()
Call SendEditor(2435, 0, 0)
End Sub
' # Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.
Public Sub StutteredPageUpExtend()
Call SendEditor(2436, 0, 0)
End Sub
' # Move caret to bottom of page, or one page down if already at bottom of page.
Public Sub StutteredPageDown()
Call SendEditor(2437, 0, 0)
End Sub
' # Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.
Public Sub StutteredPageDownExtend()
Call SendEditor(2438, 0, 0)
End Sub
' # Move caret left one word, position cursor at end of word.
Public Sub WordLeftEnd()
Call SendEditor(2439, 0, 0)
End Sub
' # Move caret left one word, position cursor at end of word, extending selection to new caret position.
Public Sub WordLeftEndExtend()
Call SendEditor(2440, 0, 0)
End Sub
' # Move caret right one word, position cursor at end of word.
Public Sub WordRightEnd()
Call SendEditor(2441, 0, 0)
End Sub
' # Move caret right one word, position cursor at end of word, extending selection to new caret position.
Public Sub WordRightEndExtend()
Call SendEditor(2442, 0, 0)
End Sub
' # Should be called after SetWordChars.
Public Sub SetWhitespaceChars(characters As String)
Call SendEditor(2443, 0, characters)
End Sub
' # Reset the set of characters for whitespace and word characters to the defaults.
Public Sub SetCharsDefault()
Call SendEditor(2444, 0, 0)
End Sub
' # Get currently selected item position in the auto-completion list
Public Function AutoCGetCurrent() As Long
AutoCGetCurrent = SendEditor(2445, 0, 0)
End Function
' # Enlarge the document to a particular size of text bytes.
Public Sub Allocate(bytes As Long)
Call SendEditor(2446, bytes, 0)
End Sub
' # Return the length in bytes.
Public Function TargetAsUTF8(S As String) As Long
TargetAsUTF8 = SendEditor(2447, 0, S)
End Function
' # Set to -1 and the string will be measured to the first nul.
Public Sub SetLengthForEncode(bytes As Long)
Call SendEditor(2448, bytes, 0)
End Sub
' # On error return 0.
Public Function EncodedFromUTF8(encoded As String) As Long
EncodedFromUTF8 = SendEditor(2449, 0, encoded)
End Function
' # multi-byte characters. If beyond end of line, return line end position.
Public Function FindColumn(line As Long, Column As Long) As Long
FindColumn = SendEditor(2456, line, Column)
End Function
' # Can the caret preferred x position only be changed by explicit movement commands?
Public Function GetCaretSticky() As Boolean
GetCaretSticky = SendEditor(2457, 0, 0)
End Function
' # Stop the caret preferred x position changing when the user types.
Public Sub SetCaretSticky(useCaretStickyBehaviour As Boolean)
Call SendEditor(2458, useCaretStickyBehaviour, 0)
End Sub
' # Switch between sticky and non-sticky: meant to be bound to a key.
Public Sub ToggleCaretSticky()
Call SendEditor(2459, 0, 0)
End Sub
' # Enable/Disable convert-on-paste for line endings
Public Sub SetPasteConvertEndings(convert As Boolean)
Call SendEditor(2467, convert, 0)
End Sub
' # Get convert-on-paste setting
Public Function GetPasteConvertEndings() As Boolean
GetPasteConvertEndings = SendEditor(2468, 0, 0)
End Function
' # Duplicate the selection. If selection empty duplicate the line containing the caret.
Public Sub SelectionDuplicate()
Call SendEditor(2469, 0, 0)
End Sub
' # Start notifying the container of all key presses and commands.
Public Sub StartRecord()
Call SendEditor(3001, 0, 0)
End Sub
' # Stop notifying the container of all key presses and commands.
Public Sub StopRecord()
Call SendEditor(3002, 0, 0)
End Sub
' # Colourise a segment of the document using the current lexing language.
Public Sub Colourise(starts As Long, ends As Long)
Call SendEditor(4003, starts, ends)
End Sub
' # Set up a value that may be used by a lexer for some optional feature.
Public Sub SetProperty(Key As String, Value As String)
Dim l1 As Long, l2 As Long
Dim bKey() As Byte
bKey = StrConv(Key, vbFromUnicode)
ReDim Preserve bKey(0 To UBound(bKey) + 1) As Byte
Dim bValue() As Byte
bValue = StrConv(Value, vbFromUnicode)
ReDim Preserve bValue(0 To UBound(bValue) + 1) As Byte
SendMessage SCI, SCI_SETPROPERTY, ByVal VarPtr(bKey(0)), ByVal VarPtr(bValue(0))
End Sub
' # Maximum value of keywordSet parameter of SetKeyWords.
' # Set up the key words used by the lexer.
Public Sub SetKeyWords(keywordSet As Long, Keywords As String)
Call SendEditor(4005, keywordSet, Keywords)
End Sub
' # Set the lexing language of the document based on string name.
Public Sub SetLexerLanguage(language As String)
Call SendEditor(4006, 0, language)
End Sub
' # Load a lexer library (dll / so).
Public Sub LoadLexerLibrary(Path As String)
Call SendEditor(4007, 0, Path)
End Sub
' # Retrieve a "property" value previously set with SetProperty.
Public Function GetProperty(Buf As String) As Long
GetProperty = SendEditor(4008, 0, Buf)
End Function
' # with "$()" variable replacement on returned buffer.
Public Function GetPropertyExpanded(Buf As String) As Long
GetPropertyExpanded = SendEditor(4009, 0, Buf)
End Function
' # interpreted as an int AFTER any "$()" variable replacement.
Public Function GetPropertyInt() As Long
GetPropertyInt = SendEditor(4010, 0, 0)
End Function
' # Retrieve the number of bits the current lexer needs for styling.
Public Function GetStyleBitsNeeded() As Long
GetStyleBitsNeeded = SendEditor(4011, 0, 0)
End Function
' # Retrieve the position before the first non indentation character on a line.
' # Retrieve the column number of a position, taking tab width into account.
Public Function GetColumn()
GetColumn = SendMessage(SCI, SCI_GETCOLUMN, GetCurPos, CLng(0))
End Function
' # One bit is set from each of SC_MOD_* and SC_PERFORMED_*.
' # As clients depend on these constants, this will not be changed.
' # Extended keys above 300.
' # For SciLexer.h
' # value assigned in sequence from SCLEX_AUTOMATIC+1.
' # Lexical states for SCLEX_PYTHON
' # Lexical states for SCLEX_CPP
' # Lexical states for SCLEX_HTML, SCLEX_XML
' # XML and ASP
' # More HTML
' # X-Code
' # SGML
' # Embedded Javascript
' # ASP Javascript
' # Embedded VBScript
' # ASP VBScript
' # Embedded Python
' # PHP
' # ASP Python
' # PHP
' # Lexical states for SCLEX_PERL
' # Lexical states for SCLEX_RUBY
' # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC
' # Lexical states for SCLEX_PROPERTIES
' # Lexical states for SCLEX_LATEX
' # Lexical states for SCLEX_LUA
' # Lexical states for SCLEX_ERRORLIST
' # Lexical states for SCLEX_BATCH
' # Lexical states for SCLEX_MAKEFILE
' # Lexical states for SCLEX_DIFF
' # Lexical states for SCLEX_CONF (Apache Configuration Files Lexer)
' # Lexical states for SCLEX_AVE, Avenue
' # Lexical states for SCLEX_ADA
' # Lexical states for SCLEX_BAAN
' # Lexical states for SCLEX_LISP
' # Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW
' # Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer)
' # Lexical states for SCLEX_FORTH (Forth Lexer)
' # Lexical states for SCLEX_MATLAB
' # single quoted string
' # Lexical states for SCLEX_SCRIPTOL
' # Lexical states for SCLEX_ASM
' # Lexical states for SCLEX_FORTRAN
' # Lexical states for SCLEX_CSS
' # Lexical states for SCLEX_POV
' # Lexical states for SCLEX_LOUT
' # Lexical states for SCLEX_ESCRIPT
' # Lexical states for SCLEX_PS
' # Lexical states for SCLEX_NSIS
' # Lexical states for SCLEX_MMIXAL
' # Lexical states for SCLEX_CLW
' # Lexical states for SCLEX_LOT
' # Lexical states for SCLEX_YAML
' # Lexical states for SCLEX_TEX
' # Lexical states for SCLEX_ERLANG
' # Lexical states for SCLEX_OCTAVE are identical to MatLab
' # Lexical states for SCLEX_MSSQL
' # Lexical states for SCLEX_VERILOG
' # Lexical states for SCLEX_KIX
' # Lexical states for SCLEX_GUI4CLI
' # Lexical states for SCLEX_SPECMAN
' # Lexical states for SCLEX_AU3
' # Lexical states for SCLEX_APDL
' # Lexical states for SCLEX_BASH
' # Lexical states for SCLEX_ASN1
' # Lexical states for SCLEX_VHDL
' # Lexical states for SCLEX_CAML
' # Lexical states for SCLEX_HASKELL
' # Lexical states of SCLEX_TADS3
' # Lexical states for SCLEX_REBOL
' # Lexical states for SCLEX_SQL
' # Lexical states for SCLEX_SMALLTALK
' # Lexical states for SCLEX_FLAGSHIP (clipper)
' # Lexical states for SCLEX_CSOUND
' # Events
' # CARET_POLICY changed in 1.47
Public Sub SetCaretPolicy(caretPolicy As Long, caretSlop As Long)
Call SendEditor(2369, caretPolicy, caretSlop)
End Sub
' # The old name for SCN_UPDATEUI
'#######################################################################
'######################## End Autogenerated Code #####################
'#######################################################################
*/
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
E quando dá erro no mingw? o que fazer?
Ola!
Sei não mas esse gesto do Viktor de colocar somente leitura o Harbour 3.4 não me agradou. Penso que ele não está satisfeito com o que estão fazendo do trabalho dele.
Não aparece uma viva alma enquanto ele está trabalhando, mas depois que ele começa a concluir chegam os "paraquedistas" e começam a criar links do que ele fez, ele chama as pessoas a usarem o GIT, mas o pessoal pega o fonte e joga lá no tal "whosaway.com" é dureza isso! o Habour 3.4 com BCC, porque eles não ajudaram o Viktor no próprio GIT ?
Saudações,
Itamar M. Lins Jr.
Pena que quem inventou não pensa assim. Para Pritpal Bedi só com uso da QT, WVG é coisa obsoleta. GTWVG está assentada na GTWVT.Pra mim a solução pra Windows continua sendo a GTWVG.
Esqueça a GTWVG porque simplesmente ela só funciona no Windows e os gurus usam UNIX. Alias open source é isso, primeiro a "coisa" deve funcionar no OS open source de preferência.gtwvg – is a GUI emulation of GTWVT for win, similar WVTGUI/GTWVT in xHarbour but with more power, offers functions and classes to present a console application looking like a windows one. It renderes GUI elements on top of Clipper elements (GETS, BROWSERS, BOXES, LINES ) which gives the feel of Windows elements. GTWVG can be used with existing code just adding some more code but without sacrificing or modifying old one. Also all IO commands can be rendered on top of the GUI elements GTWVG is meant to update your Clipper code to have Windows look and feel without any code changes, just addition of few lines.
Hybrid GUI mode is a quick path to convert existing code, and GTWVG is developed on top of GTWVT.
Sei não mas esse gesto do Viktor de colocar somente leitura o Harbour 3.4 não me agradou. Penso que ele não está satisfeito com o que estão fazendo do trabalho dele.
Não aparece uma viva alma enquanto ele está trabalhando, mas depois que ele começa a concluir chegam os "paraquedistas" e começam a criar links do que ele fez, ele chama as pessoas a usarem o GIT, mas o pessoal pega o fonte e joga lá no tal "whosaway.com" é dureza isso! o Habour 3.4 com BCC, porque eles não ajudaram o Viktor no próprio GIT ?
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
E quando dá erro no mingw? o que fazer?
Se o Victor abandonar o Harbour... o negócio fica feio de vez.
Muita gente acha que as muitas coisas boas que o Victor faz eram aproveitadas apenas no Harbour3.4 (seu fork). Mas não! O que ele fazia la era colocado tbm na versao 3.2. Ou seja, a versão estável (3.2) era atualizada com as melhorias que o Victor fazia
Muita gente acha que as muitas coisas boas que o Victor faz eram aproveitadas apenas no Harbour3.4 (seu fork). Mas não! O que ele fazia la era colocado tbm na versao 3.2. Ou seja, a versão estável (3.2) era atualizada com as melhorias que o Victor fazia
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
E quando dá erro no mingw? o que fazer?
O harbour pode ficar congelado no tempo até se a galera morrer (rs) ai não tem jeito mesmo.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
E quando dá erro no mingw? o que fazer?
Agora vc falou algo que apesar de estar na cara, sempre esquecemos, lembro do FastReport para Harbour, ia bem daí o cara morreu, se o Xailer não desse continuidade, morreria. Não seria o caso de buscar algum grupo que topasse levar o Harbour de forma comercial !
Marcelo Neves
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
https://produto.mercadolivre.com.br/MLB ... 0067609615
whatsapp (41) 99786-3995
http://harbourdeveloper.blogspot.com
marcelo.souza.das.neves@gmail.com
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
E quando dá erro no mingw? o que fazer?
Estamos em época de final de ano, quase no natal.Sei não mas esse gesto do Viktor de colocar somente leitura o Harbour 3.4 não me agradou. Penso que ele não está satisfeito com o que estão fazendo do trabalho dele.
Não aparece uma viva alma enquanto ele está trabalhando, mas depois que ele começa a concluir chegam os "paraquedistas" e começam a criar links do que ele fez, ele chama as pessoas a usarem o GIT, mas o pessoal pega o fonte e joga lá no tal "whosaway.com" é dureza isso! o Habour 3.4 com BCC, porque eles não ajudaram o Viktor no próprio GIT ?
Pode ser que o Viktor esteja de férias e por isso está congelado.
Ou como já aconteceu antes, pode ser que estavam enchendo de mensagens não relacionadas ao Fork.
Fatos:
- BCC é o compilador oficial do XHarbour
- BCC é o compilador oficial do Fivewin
- Harbour 3.4 trouxe compatibilidade de APIs do Windows para o Harbour, o que elimina exclusividade de LIBs GUI
- Harbour 3.4 não tem mais BCC
- Se tudo mais acabar, só sobram produtos comerciais
Se o Harbour crescer em Windows, com GTWVG ou outra, muita coisa será eliminada.
O interesse parece no conjunto comercial: BCC comercial, XHarbour comercial, Fivewin comercial.
As LIBs mais usadas, HMG, acabam sendo com sintaxe fivewin.
Curioso isso....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
E quando dá erro no mingw? o que fazer?
Pra quem não costuma olhar o github....
Olha o nome que aparece muito, no HARBOUR 3.2, apesar de ter seu próprio fork.
Se ele não fizer isso, ninguém faz.
Olha o nome que aparece muito, no HARBOUR 3.2, apesar de ter seu próprio fork.
Se ele não fizer isso, ninguém faz.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

