Jump to content
Fivewin Brasil

gunafe

Membros
  • Posts

    599
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by gunafe

  1. Boa noite João, Conseguiu resolver o problema? []´s Luiz Augusto
  2. A Classe que montei não precisa de nenhuma dll, pois estou testando com o monitor uninfse que é gratuito, pode me chamar no skipe se precisar de mais detalhes( gunafe@yahoo.com ). []´s Luiz Augusto
  3. Bom dia Ale, O problema é que a NFSe tem layout diferente pra cada prefeitura o que dificulta bastante este tipo de programação, eu uso o padrão Ginfes que é nacional e aceito em todas as prefeituras. Também escrevi uma classe que monta o xml, o que facilita bastante, porque dai o layout é o mesmo pra todos( padrão Ginfes ). []´s Luiz Augusto
  4. Boa tarde Arthur, O erro diz que a variavel não foi declarada, mas o que notei, é que na linha anterior, que esta comentada, esta CARGFUN e, na linha onde esta o erro, esta FUN, pode ser somente problema de grafia, não tenho como afirmar isso. Se puder e quiser, envie um trecho maior( o todo ) do codigo no meu email, já que este forum não é do delphi, que verei se posso ajudar, ok? []´s Luiz Augusto laugusto@acbusca.com
  5. Boa Noite, Do modo que voce resolveu, certamente o problema vai voltar, veja como deve ser a solução: - Instale a impressora como generic somente text no windows; - pode usar a porta usb/com2 com a velocidade de 115200; - va em propriedades da impressora e em comandos da impressora coloque <1B>C<05>; em seleção do fonte coloque multilingue - latino 1 (850); troque o papel para Ledger e por fim, va em preferencias de impressão, papel/qualidade escolha na caixa fonte de papel : cortar a folha e pronto, agora vai funcionar corretamente o eject da sua impressão. Espero que ajude, []´s Luiz Augusto São José dos Pinhais - Pr
  6. Boa Tarde, Eu penso que não é necessário atualizar a versão do fivewin, mas enfim.. Seguinte meu amigo, se puder, poste o trecho do seu código de modo que seja possivel compilar e verificar onde esta o problema, comigo funciona muito bem e minha versão do five não é das mais novas. []´s Luiz Augusto São José dos Pinhais - PR
  7. Bom dia, Segue anexo ( Classe tree )prg que uso em meu sistema, espero que resolva o problema, qualquer coisa é só entrar em contato. //-------------------------------- Inicio da Classe ----------------------------------- // Win32 TreeView support #include "FiveWin.ch" #include "Constant.ch" #define COLOR_WINDOW 5 #define COLOR_WINDOWTEXT 8 #define COLOR_BTNFACE 15 #define COLOR_BTNSHADOW 16 #define COLOR_BTNHIGHLIGHT 20 #define FD_BORDER 8 #define FD_HEIGHT 22 #define DT_CENTER 1 #define DT_VCENTER 4 #define WINDING 2 #define SC_KEYMENU 61696 // 0xF100 #define TVS_HASBUTTONS 1 #define TVS_HASLINES 2 #define TVS_LINESATROOT 4 #define TVS_SHOWSELALWAYS 32 // 0x0020 #define TVS_DISABLEDRAGDROP 16 // 0x0010 #ifdef __CLIPPER__ #define CTRL_NAME "SysTreeView" #else #define CTRL_NAME "SysTreeView32" #endif #ifdef __XPP__ #define Super ::TControl #define ScanItems ScanItem #endif //----------------------------------------------------------------------------// CLASS TTreeView FROM TControl DATA aItems DATA oImageList DATA bChanged METHOD New( nTop, nLeft, oWnd, nClrFore,; nClrBack, lPixel, lDesign, nWidth, nHeight,; cMsg ) CONSTRUCTOR METHOD ReDefine( nId, oWnd, nClrFore, nClrBack, lDesign, cMsg ) CONSTRUCTOR METHOD Add( cPrompt, nImage ) METHOD VScroll( nWParam, nLParam ) VIRTUAL // standard behavior requested METHOD HScroll( nWParam, nLParam ) VIRTUAL METHOD CollapseAll( oItem ) INLINE ScanItems( ::aItems, .f. ),; oItem := ::GetSelected(), if( oItem <> nil, oItem:MakeVisible(), nil ) METHOD CollapseBranch( oItem ) INLINE ; If( oItem == nil, oItem := ::GetSelected(),), ; If( oItem != nil, ( oItem:Collapse(), ScanItems( oItem:aItems, .f. ), oItem:MakeVisible() ),) METHOD Expand() INLINE AEval( ::aItems, { | oItem | oItem:Expand() } ) METHOD ExpandAll( oItem ) INLINE ScanItems( ::aItems, .t. ),; oItem := ::GetSelected(), if( oItem <> nil, oItem:MakeVisible(), nil ) METHOD ExpandBranch( oItem ) INLINE ; If( oItem == nil, oItem := ::GetSelected(), nil ), ; If( oItem != nil, ( oItem:Expand(), ScanItems( oItem:aItems, .t. ), oItem:MakeVisible() ), nil ) METHOD GetSelected() METHOD GetItem( hItem ) METHOD Select( oItem ) INLINE TVSelect( ::hWnd, oItem:hItem ) METHOD GetSelText() INLINE TVGetSelText( ::hWnd ) METHOD SelChanged() INLINE If( ::bChanged != nil, Eval( ::bChanged, Self ), nil ) METHOD SetImageList( oImageList ) METHOD DeleteAll() INLINE ( TVDelAllItems( ::hWnd ), ::aItems := {} ) METHOD HitTest( nRow, nCol ) METHOD HandleEvent( nMsg, nWParam, nLParam ) METHOD Initiate( hDlg ) INLINE Super:Initiate( hDlg ), ::SetColor( ::nClrText, ::nClrPane ) METHOD cToChar() INLINE Super:cToChar( CTRL_NAME ) METHOD SetColor( nClrText, nClrPane ) INLINE ; Super:SetColor( nClrText, nClrPane ), TVSetColor( ::hWnd, nClrText, nClrPane ) METHOD Toggle() INLINE AEval( ::aItems, { | oItem | oItem:Toggle() } ) METHOD ToggleAll( oItem ) INLINE ScanItems( ::aItems, , .t. ), ; oItem := ::GetSelected(), If( oItem <> nil, oItem:MakeVisible(), nil ) METHOD ToggleBranch( oItem ) INLINE ; If( oItem == nil, oItem := ::GetSelected(), nil ), ; If( oItem != nil, ( oItem:Toggle(), ScanItems( oItem:aItems, , .t. ), oItem:MakeVisible() ), nil ) ENDCLASS //----------------------------------------------------------------------------// METHOD New( nTop, nLeft, oWnd, nClrFore,; nClrBack, lPixel, lDesign, nWidth, nHeight, cMsg ) CLASS TTreeView DEFAULT nTop := 0, nLeft := 0,; oWnd := GetWndDefault(),; nClrFore := oWnd:nClrText,; nClrBack := GetSysColor( COLOR_WINDOW ),; lPixel := .f.,; lDesign := .f.,; nWidth := 200, nHeight := 150 ::nStyle = nOR( WS_CHILD, WS_VISIBLE,; If( lDesign, WS_CLIPSIBLINGS, 0 ), WS_TABSTOP,; TVS_HASBUTTONS, TVS_HASLINES, TVS_LINESATROOT, TVS_SHOWSELALWAYS, TVS_DISABLEDRAGDROP) ::nId = ::GetNewId() ::oWnd = oWnd ::cMsg = cMsg ::nTop = If( lPixel, nTop, nTop * SAY_CHARPIX_H ) ::nLeft = If( lPixel, nLeft, nLeft * SAY_CHARPIX_W ) ::nBottom = ::nTop + nHeight - 1 ::nRight = ::nLeft + nWidth - 1 ::lDrag = lDesign ::lCaptured = .f. ::nClrText = nClrFore ::nClrPane = nClrBack ::aItems = {} if ! Empty( oWnd:hWnd ) ::Create( CTRL_NAME ) oWnd:AddControl( Self ) ::SetColor( nClrFore, nClrBack ) else oWnd:DefControl( Self ) endif ::Default() if lDesign ::CheckDots() endif return Self //----------------------------------------------------------------------------// METHOD ReDefine( nId, oWnd, nClrFore, nClrBack, lDesign, cMsg ) CLASS TTreeView DEFAULT oWnd := GetWndDefault(),; nClrFore := oWnd:nClrText,; nClrBack := oWnd:nClrPane,; // GetSysColor( COLOR_WINDOW ),; lDesign := .f. ::nId = nId ::oWnd = oWnd ::aItems = {} ::Register( nOR( CS_VREDRAW, CS_HREDRAW, TVS_HASBUTTONS, TVS_HASLINES, TVS_LINESATROOT ) ) oWnd:DefControl( Self ) return Self //----------------------------------------------------------------------------// METHOD Add( cPrompt, nImage ) CLASS TTreeView local oItem oItem := TTVItem():New( TVInsertItem( ::hWnd, cPrompt,, nImage ), Self ) oItem:cPrompt := cPrompt oItem:nImage := nImage AAdd( ::aItems, oItem ) return oItem //----------------------------------------------------------------------------// static function ScanItems( aItems, lExpand, lToggle ) local oItem, i DEFAULT lExpand := .t., lToggle := .f. for i := 1 to Len( aItems ) oItem = aItems[ i ] if lToggle oItem:Toggle() elseif lExpand oItem:Expand() else oItem:Collapse() endif if Len( oItem:aItems ) != 0 ScanItems( oItem:aItems, lExpand, lToggle ) endif next return nil //----------------------------------------------------------------------------// METHOD GetSelected() CLASS TTreeView return SearchItem( ::aItems, TVGetSelected( ::hWnd ) ) //----------------------------------------------------------------------------// METHOD GetItem( hItem ) CLASS TTreeView return SearchItem( ::aItems, hItem ) //----------------------------------------------------------------------------// METHOD HitTest( nRow, nCol ) CLASS TTreeView local hItem hItem := TVHitTest( ::hWnd, nRow, nCol ) If hItem > 0 return ::GetItem( hItem ) Endif return nil //----------------------------------------------------------------------------// METHOD SetImageList( oImageList ) CLASS TTreeView ::oImageList = oImageList TVSetImageList( ::hWnd, oImageList:hImageList, 0 ) return nil //----------------------------------------------------------------------------// METHOD HandleEvent( nMsg, nWParam, nLParam ) CLASS TTreeView do case case nMsg == WM_CHAR if nWParam == VK_RETURN return 1 endif endcase return Super:HandleEvent( nMsg, nWParam, nLParam ) //----------------------------------------------------------------------------// static function SearchItem( aItems, hItem ) local n, oItem for n = 1 to Len( aItems ) if Len( aItems[ n ]:aItems ) > 0 if ( oItem := SearchItem( aItems[ n ]:aItems, hItem ) ) != nil return oItem endif endif if aItems[ n ]:hItem == hItem return aItems[ n ] endif next return nil //--------------- Fim da Classe ----------------------------------// Copie e cole em algum prg do seu sistema ou para um novo prg, inclua no bat de compilação, espero que de certo. Vale lembrar ainda que eu não sou o autor do código, apenas mais um usuário, ok? []´s lAugusto São José dos Pinhais - PR
  8. Boa Tarde, Tente assim: Function Main() clear screen ? "Hello world!" wait return nil id=code>id=code>Eu compilei e mostrou a tela preta Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  9. Boa noite João, Pra não mostrar a tela preta quando executo programa DOS, eu uso a function abaixo: //--------------------------------------------------------------------- Function myRUN( cComando, nStyle, lWait, lShowResult ) local oShell, RET IF valtype( nStyle ) != "N" nStyle := 0 ENDIF IF ValType( lWait ) != "L" lWait := .T. ENDIF IF ValType( lShowResult ) != "L" lShowResult := .F. ENDIF oShell := CreateObject( "WScript.Shell" ) IF !GetEnv( "OS" ) == "Windows_NT" cComando += "start " + cComando ENDIF RET := oShell:Run( "%comspec% /c " + cComando, nStyle, lWait ) IF lShowResult .AND. RET > 0 .and. RET <= 32 msginfo( "Erro Win_Run(): " + ltrim( Str( RET ) ), " OK " ) ENDIF oShell := NIL Return IF( RET = 0, .T., .F. ) id=code>id=code>Cuja sintaxe é esta: lRet := myrun( "WORDview.EXE" + fRTF + " /p" ) Voce pode testar o retorno lRet( retorna .t. ou .f. ), pra saber se executou ou não o seu comando. Espero que ajude, Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  10. Boa Noite Vagner, Na pasta bin do xharbour, tem um programa chamado xbuildw, com ele voce compila xharbour puro ou com lib grafica, o mesmo é auto explicativo e muito simples de usar. Espero que ajude, Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  11. Boa Noite João, tudo tranquilo? Em minha tela inicial eu uso gtwvw, e fivewin pra outras rotinas, eu recomendo não misturar five com gtw em uma mesma rotina, eu tive problemas com o get, resolvi separando as rotinas. Para o problema que voce esta tendo com os arquivos, eu recomendo que voce separa as rotinas e use a gtw como lib principal, ou seja, a tela inicial seja feita com a gtw, beleza?. []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  12. Boa tarde João, tudo tranquilo? Eu tenho um sistema da mesma forma que voce e não tenho problema de abertura de arquivos. Como voce esta fazendo com seus arquivos, abre todos ao mesmo tempo? usa ntx ou cdx? esta abrindo e fechando os arquivos ao entrar nas rotinas? O problema não esta na mistura de libs, mas sim na maneira como voce trata seus arquivos, voce pode postar um trecho do seu código pra eu ver? []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  13. Boa Noite O kabi, não sabe brincar, não desce para o play! Syspel, não tenho certeza, mas acho que o problema esta justamente no seu código fonte, ao contrario do clipper, no xharbour voce precisa ter uma function main() no seu prg principal e os outros programas devem ter pelo menos o nome Function ou Procedure para o compilador aceitar. Caso precise de mais algum esclarecimento é só falar. []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  14. Bom dia a todos, Não querendo ser desmancha prazeres, mas já sendo, queria dizer que o Rio de Janeiro não é só praia, e para aqueles que pensam que ir ao encontro no RJ vão ter tempo de curtir uma praia, podem se iludir, por que: - Primeiro que o custo de hotel e local para reunião perto de praia é proibitivo; - Segundo que o pensamento geral é quanto ao menor custo possivel, tanto em hospedagem quanto em aluguel do local para a reunião; - e por último, o objetivo é participar do encontro e não passear na praia, desta forma, seria quase impossivel unir o util ao agradavel. Mesmo assim, eu voto pelo encontro no Rio de Janeiro, tenho certeza que se realizado, será inesquecivel! []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  15. Boa tarde Geraldo, Eu uso conforme abaixo, veja se resolve seu problema: REDEFINE GET oFGet VAR tMemo MEMO ID 65 OF oDlg_3 FONT oFont oFGet:bKeyDown := { |nKey|; IF( nKey = VK_RETURN,( oFGet:SetColor( ,CLR_WHITE ), oFGet:Refresh(), oFld:SetOption( 1), xSetFocus( btnf5 ) ),; IF( nKey = VK_ESCAPE,( oFGet:SetColor( ,CLR_WHITE ), oFGet:Refresh(), oFld:SetOption( 1), xSetFocus( _ANA[ 1] ) ), nil )) } oFGet:bGotFocus := { || oFGet:SetSel( 0, 0 ), oFGet:SetPos( 0, 0 ), oFGet:SetColor( nRGB( 0, 0, 185 ), nRGB( 249, 251, 151 ) ),; oFGet:Goto( oFGet:GetLineCount() ), __Keyboard( Chr( VK_END ) ) } oFGet:cTooltip := "Preencha o Campo de Conclusão " id=code>id=code>[]´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  16. Boa Noite a todos, Daniel, não precisa comprar o fivewin, o linhares disponibilizou uma versão free, 6.12, se não estou enganado. Eu uso GtWVW + Fivewin + xHarbour 1.2 e funciona muito bem, a unica restrição, é que a aplicação GTWVW tem que ser chamada em primeiro lugar. []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  17. Boa Noite Jef, Penso que pode ser cadastrado no momento da lacração e/ou via programa de configuração( veja toolsfs600 ) que tem esta opção, a de informar o numero da impressora. []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  18. Boa Noite Jef, Já sei qual o comando que voce precisa, veja abaixo: TNumECF := Space(03) // Numero Sequencial do ECF // Numero Sequencial do ECF Int_Retorno := Daruma_FIMFD_RetornaInformacao( '107', @TNumECF ) DLL32 FUNCTION Daruma_FIMFD_RetornaInformacao( Indice AS STRING,; Valor AS STRING ) AS LONG PASCAL; FROM "Daruma_FIMFD_RetornaInformacao" LIB "Daruma32.dll" id=code>id=code>Espero que agora seja o comando correto, []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  19. Jef, Faltou a sintaxe do comando, segue abaixo: DLL32 FUNCTION Daruma_FIMFD_RetornaInformacao( Indice AS STRING,; Valor AS STRING ) AS LONG PASCAL; FROM "Daruma_FIMFD_RetornaInformacao" LIB "Daruma32.dll" id=code>id=code>[]´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  20. Boa Noite Jef, Voce quer dizer numero de serie do ECF daruma? Se for, use o comando abaixo: // Numero de Fabricação / MF Adicional cMFAd := Space(21) iRetorno := Daruma_FIMFD_RetornaInformacao( '78', @cMFAd ) TNumeroSerie := Substr( cMFAd, 1,20 ) TMFAd := Substr( cMFAd, 21, 1 ) id=code>id=code>Espero que seja, se não for, é só avisar, beleza? []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  21. gunafe

    Dll ecfs

    Boa Noite, Daniel, se voce precisa declarar esta função para gerar o SPED para o PAF-ECF, pode esquecer, na hora de gerar este relatório durante a homologação, a impressora fiscal é desligada porque não é permitido acessar a impressora pra gerar esta informação, o mesmo ocorre com o sintegra também, o sped deve ser gerado a partir de sua base de dados. []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  22. Bom dia, Procure na pasta samples que tem o que voce procura(five\samples\testdscr.prg), mas de qualquer forma, segue o que voce precisa abaixo: // Testing how to scroll a dialog with its contents #include "FiveWin.ch" #define D_WIDTH 4 #define D_HEIGHT 13 FUNCTION Main() LOCAL oDlg LOCAL cGet0101 := space(10), ; //Row 1 cGet0102 := space(10), ; cGet0103 := space(10), ; cGet0104 := space(10), ; cGet0105 := space(10), ; cGet0201 := space(10), ; //Row 2 cGet0202 := space(10), ; cGet0203 := space(10), ; cGet0204 := space(10), ; cGet0205 := space(10), ; cGet0301 := space(10), ; //Row 3 cGet0302 := space(10), ; cGet0303 := space(10), ; cGet0304 := space(10), ; cGet0305 := space(10), ; cGet0401 := space(10), ; //Row 4 cGet0402 := space(10), ; cGet0403 := space(10), ; cGet0404 := space(10), ; cGet0405 := space(10), ; cGet0501 := space(10), ; //Row 5 cGet0502 := space(10), ; cGet0503 := space(10), ; cGet0504 := space(10), ; cGet0505 := space(10), ; cGet0601 := space(10), ; //Row 6 cGet0602 := space(10), ; cGet0603 := space(10), ; cGet0604 := space(10), ; cGet0605 := space(10), ; cGet0701 := space(10), ; //Row 7 cGet0702 := space(10), ; cGet0703 := space(10), ; cGet0704 := space(10), ; cGet0705 := space(10), ; cGet0801 := space(10), ; //Row 8 cGet0802 := space(10), ; cGet0803 := space(10), ; cGet0804 := space(10), ; cGet0805 := space(10), ; cGet0901 := space(10), ; //Row 9 cGet0902 := space(10), ; cGet0903 := space(10), ; cGet0904 := space(10), ; cGet0905 := space(10), ; cGet1001 := space(10), ; //Row 10 cGet1002 := space(10), ; cGet1003 := space(10), ; cGet1004 := space(10), ; cGet1005 := space(10), ; cGet1101 := space(10), ; //Row 11 cGet1102 := space(10), ; cGet1103 := space(10), ; cGet1104 := space(10), ; cGet1105 := space(10) define dialog oDlg from 0, 0 TO 25, 70 ; title "Scroll dialog" ; Style nor( WS_VSCROLL, WS_HSCROLL ) @ 9,17 bitmap file "..\bitmaps\pic1.bmp" of oDlg size 120,148 adjust @ 9,32 bitmap file "..\bitmaps\pic2.bmp" of oDlg size 120,148 adjust @ 9,47 bitmap file "..\bitmaps\pic3.bmp" of oDlg size 120,148 adjust @ 9,62 bitmap file "..\bitmaps\pic4.bmp" of oDlg size 120,148 adjust @ 9,77 bitmap file "..\bitmaps\pic5.bmp" of oDlg size 120,148 adjust @ 21*13,02*8 say "Customer " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 23*13,02*8 say "P.O. # " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 25*13,02*8 say "Style No." of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 27*13,02*8 say "Fabrics " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 29*13,02*8 say "Fob " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 31*13,02*8 say "Q'TY " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 33*13,02*8 say "DEL. " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 35*13,02*8 say "MAKER " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 37*13,02*8 say "QTA " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 39*13,02*8 say "SIZE " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 41*13,02*8 say "Size B/D " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 43*13,02*8 say "REMARKS " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 21*13,17*8 say "Venture " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 21*13,32*8 say "Sears " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 21*13,47*8 say "Kohl's " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 21*13,62*8 say "Kiss " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel @ 21*13,77*8 say "K-MART " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel //-* Row 1 @ 23*13,17*8 get cGet0101 size 120,26 of oDlg update pixel @ 23*13,32*8 get cGet0102 size 120,26 of oDlg update pixel @ 23*13,47*8 get cGet0103 size 120,26 of oDlg update pixel @ 23*13,62*8 get cGet0104 size 120,26 of oDlg update pixel @ 23*13,77*8 get cGet0105 size 120,26 of oDlg update pixel //-* Row 2 @ 25*13,17*8 get cGet0201 size 120,26 of oDlg update pixel @ 25*13,32*8 get cGet0202 size 120,26 of oDlg update pixel @ 25*13,47*8 get cGet0203 size 120,26 of oDlg update pixel @ 25*13,62*8 get cGet0204 size 120,26 of oDlg update pixel @ 25*13,77*8 get cGet0205 size 120,26 of oDlg update pixel //-* Row 3 @ 27*13,17*8 get cGet0301 size 120,26 of oDlg update pixel @ 27*13,32*8 get cGet0302 size 120,26 of oDlg update pixel @ 27*13,47*8 get cGet0303 size 120,26 of oDlg update pixel @ 27*13,62*8 get cGet0304 size 120,26 of oDlg update pixel @ 27*13,77*8 get cGet0305 size 120,26 of oDlg update pixel //-* Row 4 @ 29*13,17*8 get cGet0401 size 120,26 of oDlg update pixel @ 29*13,32*8 get cGet0402 size 120,26 of oDlg update pixel @ 29*13,47*8 get cGet0403 size 120,26 of oDlg update pixel @ 29*13,62*8 get cGet0404 size 120,26 of oDlg update pixel @ 29*13,77*8 get cGet0405 size 120,26 of oDlg update pixel //-* Row 5 @ 31*13,17*8 get cGet0501 size 120,26 of oDlg update pixel @ 31*13,32*8 get cGet0502 size 120,26 of oDlg update pixel @ 31*13,47*8 get cGet0503 size 120,26 of oDlg update pixel @ 31*13,62*8 get cGet0504 size 120,26 of oDlg update pixel @ 31*13,77*8 get cGet0505 size 120,26 of oDlg update pixel //-* Row 6 @ 33*13,17*8 get cGet0601 size 120,26 of oDlg update pixel @ 33*13,32*8 get cGet0602 size 120,26 of oDlg update pixel @ 33*13,47*8 get cGet0603 size 120,26 of oDlg update pixel @ 33*13,62*8 get cGet0604 size 120,26 of oDlg update pixel @ 33*13,77*8 get cGet0605 size 120,26 of oDlg update pixel //-* Row 7 @ 35*13,17*8 get cGet0701 size 120,26 of oDlg update pixel @ 35*13,32*8 get cGet0702 size 120,26 of oDlg update pixel @ 35*13,47*8 get cGet0703 size 120,26 of oDlg update pixel @ 35*13,62*8 get cGet0704 size 120,26 of oDlg update pixel @ 35*13,77*8 get cGet0705 size 120,26 of oDlg update pixel //-* Row 8 @ 37*13,17*8 get cGet0801 size 120,26 of oDlg update pixel @ 37*13,32*8 get cGet0802 size 120,26 of oDlg update pixel @ 37*13,47*8 get cGet0803 size 120,26 of oDlg update pixel @ 37*13,62*8 get cGet0804 size 120,26 of oDlg update pixel @ 37*13,77*8 get cGet0805 size 120,26 of oDlg update pixel //-* Row 9 @ 39*13,17*8 get cGet0901 size 120,26 of oDlg update pixel @ 39*13,32*8 get cGet0902 size 120,26 of oDlg update pixel @ 39*13,47*8 get cGet0903 size 120,26 of oDlg update pixel @ 39*13,62*8 get cGet0904 size 120,26 of oDlg update pixel @ 39*13,77*8 get cGet0905 size 120,26 of oDlg update pixel //-* Row 10 @ 41*13,17*8 get cGet1001 size 120,26 of oDlg update pixel @ 41*13,32*8 get cGet1002 size 120,26 of oDlg update pixel @ 41*13,47*8 get cGet1003 size 120,26 of oDlg update pixel @ 41*13,62*8 get cGet1004 size 120,26 of oDlg update pixel @ 41*13,77*8 get cGet1005 size 120,26 of oDlg update pixel //-* Row 11 @ 43*13,17*8 get cGet1101 size 120,26 of oDlg update pixel @ 43*13,32*8 get cGet1102 size 120,26 of oDlg update pixel @ 43*13,47*8 get cGet1103 size 120,26 of oDlg update pixel @ 43*13,62*8 get cGet1104 size 120,26 of oDlg update pixel @ 43*13,77*8 get cGet1105 size 120,26 of oDlg update pixel @ 50,20 button "&Ok" size 80,20 of oDlg ; action (MsgInfo("You click OK button!"),oDlg:End()) @ 50,40 button "&Cancel" size 80,20 of oDlg ; action (MsgInfo("You click Cancel button!"),oDlg:End()) ACTIVATE dialog oDlg ; ON INIT ( TScrDlg():New(oDlg,1,40,1,70) ) RETURN( NIL ) //============================================================================ // FileName : SCROLL.PRG // Purpose : dialog Scroll Class // Author : Eric Yang // Update History : // Date Contents // ---------- --------------------------------------------------------------- // 1997.02.01 // //============================================================================ #include "FiveWin.ch" #ifndef TRUE #define TRUE .T. #define FALSE .F. #endif CLASS TScrDlg DATA oDlg DATA nVPos,nHPos METHOD New( oDlg,nV1,nV2,nH1,nH2 ) CONSTRUCTOR METHOD SetScroll( nV1,nV2,nH1,nH2 ) //-*------------------------------------------------------------ METHOD VScroll() METHOD VScrollThumb() METHOD VScrollTrack() METHOD VScrollPgDown() METHOD VScrollPgUp() //-*----------------------------- METHOD HScroll() METHOD HScrollThumb() METHOD HScrollTrack() METHOD HScrollPgDown() METHOD HScrollPgUp() ENDCLASS METHOD New( oDlg,nV1,nV2,nH1,nH2 ) CLASS TScrDlg ::nVPos := 0 ::nHPos := 0 ::oDlg := oDlg ::SetScroll( nV1,nV2,nH1,nH2 ) RETURN Self METHOD SetScroll( nV1,nV2,nH1,nH2 ) CLASS TScrDlg LOCAL aCoors1:={},aCoors2:={} //-------------------------------------------------- //-* Vertical Scroll Bar // ? ::oDlg:oVSCroll=NIL if ::oDlg:oVScroll != NIL // ? nV1,nV2 ::oDlg:oVScroll:SetRange( nV1,nV2 ) ::nVPos := ::oDlg:oVScroll:GetPos() ::oDlg:oVScroll:bGoDown := {|| ::VScroll() } ::oDlg:oVScroll:bGoUp := {|| ::VScroll() } ::oDlg:oVScroll:bPageUp := {|| ::VScrollPgUp() } ::oDlg:oVScroll:bPageDown := {|| ::VScrollPgDown() } ::oDlg:oVScroll:bGoTop := {|| ::VScroll() } ::oDlg:oVScroll:bGoBottom := {|| ::VScroll() } ::oDlg:oVScroll:nPgStep := 10 //::oDlg:oVScroll:lReDraw := TRUE ::oDlg:oVScroll:bPos := {|nPos| ::VScrollThumb(nPos) } ::oDlg:oVScroll:bTrack := {|nPos| ::VScrollTrack(nPos) } endif //-------------------------------------------------- //-* Horizontal Scroll Bar if ::oDlg:oHScroll != NIL ::oDlg:oHScroll:SetRange( nH1,nH2 ) ::nHPos := ::oDlg:oHScroll:GetPos() ::oDlg:oHScroll:bGoDown := {|| ::HScroll() } ::oDlg:oHScroll:bGoUp := {|| ::HScroll() } ::oDlg:oHScroll:bPageUp := {|| ::HScrollPgUp() } ::oDlg:oHScroll:bPageDown := {|| ::HScrollPgDown() } ::oDlg:oHScroll:bGoTop := {|| ::HScroll() } ::oDlg:oHScroll:bGoBottom := {|| ::HScroll() } ::oDlg:oHScroll:nPgStep := 10 //::oDlg:oHScroll:lReDraw := TRUE ::oDlg:oHScroll:bPos := {|nPos| ::HScrollThumb(nPos) } ::oDlg:oHScroll:bTrack := {|nPos| ::HScrollTrack(nPos) } endif //::oDlg:bKeyChar := {|nKey,nFlags| ScrollKey(nKey) } //-------------------------------------------------- RETURN( NIL ) //STATIC FUNCTION ScrollKey(nKey) //MsgInfo( "Key : "+str(nKey,10) ) //if nKey == K_ENTER // goMainDlg:End() // lRetVal := TRUE //endif //RETURN( NIL ) //================================================================= //-* Vertical Scroll Bar METHOD VScroll() CLASS TScrDlg LOCAL nNewPos if ::nVPos >= ::oDlg:oVScroll:nMin ; .and. ::nVPos <= ::oDlg:oVScroll:nMax nNewPos := ::oDlg:oVScroll:GetPos() SysRefresh() ScrollWindow( ::oDlg:hWnd, 0, ; ( ::nVPos-nNewPos )*D_HEIGHT, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nVPos := nNewPos endif RETURN( NIL ) METHOD VScrollThumb(nNewPos) CLASS TScrDlg if ::nVPos >= ::oDlg:oVScroll:nMin ; .and. ::nVPos <= ::oDlg:oVScroll:nMax ::oDlg:oVScroll:SetPos(nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, 0, ; (::nVPos - nNewPos )*D_HEIGHT, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nVPos := nNewPos endif RETURN( NIL ) METHOD VScrollTrack(nNewPos) CLASS TScrDlg if ::nVPos >= ::oDlg:oVScroll:nMin ; .and. ::nVPos <= ::oDlg:oVScroll:nMax ::oDlg:oVScroll:SetPos(nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, 0, ; (::nVPos - nNewPos )*D_HEIGHT, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nVPos := nNewPos endif RETURN( NIL ) METHOD VScrollPgDown() CLASS TScrDlg LOCAL nNewPos if ::nVPos < ::oDlg:oVScroll:nMax nNewPos := ::nVPos + ::oDlg:oVScroll:nPgStep nNewPos := iif(nNewPos > ::oDlg:oVScroll:nMax, ::oDlg:oVScroll:nMax, nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, 0, ; ( ::nVPos - nNewPos )*D_HEIGHT, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nVPos := nNewPos endif RETURN( NIL ) METHOD VScrollPgUp() CLASS TScrDlg LOCAL nNewPos if ::nVPos > ::oDlg:oVScroll:nMin nNewPos := ::nVPos - ::oDlg:oVScroll:nPgStep nNewPos := iif(nNewPos < ::oDlg:oVScroll:nMin,::oDlg:oVScroll:nMin,nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, 0, ; ( ::nVPos - nNewPos )*D_HEIGHT, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nVPos := nNewPos endif RETURN( NIL ) //================================================================= //-* Horizontal Scroll Bar METHOD HScroll() CLASS TScrDlg LOCAL nNewPos if ::nHPos >= ::oDlg:oHScroll:nMin ; .and. ::nHPos <= ::oDlg:oHScroll:nMax nNewPos := ::oDlg:oHScroll:GetPos() SysRefresh() ScrollWindow( ::oDlg:hWnd, ; (::nHPos - nNewPos )*D_WIDTH,0, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nHPos := nNewPos endif RETURN( NIL ) METHOD HScrollThumb(nNewPos) CLASS TScrDlg if ::nHPos >= ::oDlg:oHScroll:nMin ; .and. ::nHPos <= ::oDlg:oHScroll:nMax ::oDlg:oHScroll:SetPos(nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, ; (::nHPos - nNewPos )*D_WIDTH,0, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nHPos := nNewPos endif RETURN( NIL ) METHOD HScrollTrack(nNewPos) CLASS TScrDlg if ::nHPos >= ::oDlg:oHScroll:nMin ; .and. ::nHPos <= ::oDlg:oHScroll:nMax ::oDlg:oHScroll:SetPos(nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, ; (::nHPos - nNewPos )*D_WIDTH,0, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nHPos := nNewPos endif RETURN( NIL ) METHOD HScrollPgDown() CLASS TScrDlg LOCAL nNewPos if ::nHPos < ::oDlg:oHScroll:nMax nNewPos := ::nHPos + ::oDlg:oHScroll:nPgStep nNewPos := iif(nNewPos > ::oDlg:oHScroll:nMax, ::oDlg:oHScroll:nMax, nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, ; ( ::nHPos - nNewPos )*D_WIDTH,0, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nHPos := nNewPos endif RETURN( NIL ) METHOD HScrollPgUp() CLASS TScrDlg LOCAL nNewPos if ::nHPos > ::oDlg:oHScroll:nMin nNewPos := ::nHPos - ::oDlg:oHScroll:nPgStep nNewPos := iif(nNewPos < ::oDlg:oHScroll:nMin,::oDlg:oHScroll:nMin,nNewPos) SysRefresh() ScrollWindow( ::oDlg:hWnd, ; ( ::nHPos - nNewPos )*D_WIDTH,0, ; 0 , GetClientRect(::oDlg:hWnd) ) ::nHPos := nNewPos endif RETURN( NIL ) //=* End of File ================================================= procedure AppSys // Xbase++ requirement return id=code>id=code>[]´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  23. Bom dia Jef, Pelo que entendi, parece que o PAF-ECF vai ser obrigatório no estado do PA, então voce e outros desenvolvedores ai vão ter que certificar seus sistemas para PAF-ECF. Boa sorte! []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  24. Bom dia Luiz O que estou achando estranho é que na sua linha inicial private voce não esta inicializando o chistori, mas sim um chist := 0, reveja a inicialização da variavel e quando fizer o replace, use Substr com o tamanho da VAR do arquivo, espero que ajude. []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
  25. Bom, mesmo dando erro na hora de salvar o perfil deu certo, muito legal. Bom fim de semana pra todos, []´s Luiz Augusto São José dos Pinhais - PR xHarbour + Fivewin + Workshop + Sql via Odbc Vamos Aderir:"Retorne avisando se a dica funcionou"
×
×
  • Create New...