Sistemas de Gestão Administrativa
Do Clipper ao Harbour(x) - Dicas e Tutoriais -> Este blog é dedicado a todos Analistas e Programadores interessados em Software Livre, programação xBase e tudo o que for de relevância. "A idéia inicial é criar um ponto de reunião e de troca de experiências para programadores, analistas, técnicos e outros entusiastas de computação de um modo geral".
quarta-feira, 16 de março de 2011
Restaurar serviço de rede no windows
terça-feira, 15 de março de 2011
Dica para remover mensagem de executáveis no windows
"O editor não pode ser verificado. Tem certeza que deseja executar esse software."
Faça o Seguinte:
Clique em iniciar/executar: gpedit.msc
Selecione:
- Configurações do Usuário
- Configurações de Software
- Modelos Administrativos
- Gerenciador de Anexos
- Lista de inclusão de tipos de arquivos de baixo risco
-- Clique em ativado
-- Na caixa digitável, insira o nome do seu executável (com extensão)
( É sensitível, a caixa, observem)
-- Clique em OK
quarta-feira, 24 de novembro de 2010
Dica para refresh da nova versão do TSBrowse
oBr:SetFocus()
oBr:Reset()
oBr:Refresh(.T.)
oBr:ResetBarPos(.T.)
oBr:BuguP()
Substituam por:
oBr:SetFocus()
oBr:Refresh(.T.)
oBr:ResetVScroll(.T.)
Caso contrário não serão mostradas atualizações em pesquisas.
sexta-feira, 19 de novembro de 2010
Novos Métodos do TSBrowse
METHOD AddColumn( oColumn ) Adiciona uma coluna para o Browse, préviamente definido com o método construtor de colunas TSColumn:New(), ou com o comando DEFINE COLUMN oColumn ..
METHOD SetColumn( oColumn, nCol )
METHOD AddSuperHead( nFromCol, nToCol, uHead, nHeight, aColors, l3dLook, uFont, uBitMap, lAdjust, lTransp, lNoLines, nHAlign, nVAlign )
METHOD BeginPaint() INLINE If( ::lRepaint, Super:BeginPaint(), 0 ) Uso interno, Chamado a partir do método Display().
METHOD BugUp() INLINE ::UpStable() Chama o método UpStable().
METHOD BiClr( uClrOdd, uClrPair )
METHOD Bof() INLINE If( ::bBoF != Nil, Eval( ::bBof ), .F. ) //V90
METHOD ChangeFont( hFont, nColumn, nLevel )
METHOD DbSkipper( nToSkip ) Usado internamente; controla o ponteiro do registro do database.
METHOD Default() Uso interno; ações de inicialização do Browser.
METHOD Del( nItem )
METHOD DeleteRow( lAll )
METHOD DelColumn( nPos )
METHOD Destroy() Uso interno; Destrói o controle Browse.
METHOD Display() Uso interno- Exibe o Browse na primeira vez.
METHOD DrawFooters() INLINE ::DrawHeaders( .T. ) Desenha o Footers.
// MESSAGE DrawIcon METHOD _DrawIcon( nIcon, lFocused )
METHOD DrawIcons()
METHOD DrawLine( xRow ) Pinta a linha ativa ou nRow.
METHOD DrawPressed( nCell, lPressed )
METHOD DrawSelect() Pinta o cursor na linha ativa.
METHOD DrawSuper() Desenha os Super-Headers.
METHOD DrawHeaders( lFooters ) Desenha Headers, Footers, e Super-Headers.
METHOD Edit( uVar, nCell, nKey, nKeyFlags, cPicture, bValid, nClrFore, nClrBack )
METHOD EditExit( nCol, nKey, uVar, bValid, lLostFocus )
METHOD EndPaint() INLINE If( ::lRePaint, Super:EndPaint(), ( ::lRePaint := .T., 0 ) ) Uso interno, Chamado a partir do método Display().
METHOD Eof() INLINE If( ::bEoF != Nil, Eval( ::bEof ), .F. ) //V90
METHOD Excel2( cFile, lActivate, hProgress, cTitle, lSave )
METHOD ExcelOle( cXlsFile, lActivate, hProgress, cTitle, hFont, lSave, bExtern, aColSel, bPrintRow )
METHOD Exchange( nCol1, nCol2 ) INLINE ::SwitchCols( nCol1, nCol2), ::SetFocus() Troca a posição das colunas nCol1 e nCol2.
METHOD ExpLocate( cExp )
METHOD ExpSeek( cExp, lSoft )
METHOD FreezeCol( lNext )
METHOD GetAllColsWidth() //V90
METHOD GetColSizes() INLINE If( ValType( ::aColSizes ) == "A", ::aColSizes, Eval( ::aColSizes ) ) Retorna uma matriz contendo as larguras das colunas em pixels.
METHOD GetColumn( nCol ) Retorna uma referencia ao objeto TSColumn correspondente a nCol.
METHOD GetDlgCode( nLastKey )
METHOD GetRealPos( nRelPos )
METHOD GetTxtRow( nRowPix ) INLINE RowFromPix( ::hWnd, nRowPix, ::nHeightCell, If( ::lDrawHeaders, ::nHeightHead, 0 ),If( ::lFooting .and. ::lDrawFooters, ::nHeightFoot, 0 ),If( ::lDrawHeaders, ::nHeightSuper, 0 ),If( ::lDrawSpecHd, ::nHeightSpecHd, 0 ))
METHOD GoBottom() Posiciona o cursor na última linha do Browse, movendo o ponteiro de registros para o último registro do database, ou para o último elemento de outros objetos ( Array, oDbf, Text, Tree, oCtx ). É executado quando as teclas Ctrl+End ou Ctrl+PgDn são pressionadas, ou quando arrastando para o fim da barra de rolagem vertical.
METHOD GoDown() Posiciona o cursor uma linha abaixo movendo o ponteiro para o próximo registro no database, ou para o próximo elemento em outros objetos. É executado quando a tecla Down (seta para baixo) é pressionada.
METHOD GoEnd() Posiciona o cursor na última coluna visível na tela.
METHOD GoHome() Posiciona o cursor na primeira coluna visível na tela.
METHOD GoLeft() Move o cursor uma coluna para a esquerda.
METHOD GoNext() Move o cursor para a próxima coluna editável para a direita, ou para a próxima coluna editável da próxima linha.
METHOD GoPos( nNewRow, nNewCol ) Move o cursor para a linha definida em nNewRow e coluna definida em nNewCol.
METHOD GoRight() Move o cursor uma coluna para a direita.
METHOD GotFocus( hCtlLost ) Uso interno, executa ações ao receber o foco no Browse, entre as quais se destaca a avaliação do blóco de código definido em bGotFocus.
METHOD GoTop() Posiciona o cursor na primeira linha do Browse, movendo o ponteiro de registro para primeiro registro no database, ou para o primeiro elemento de outros objetos ( Array, oDbf, Text, Tree, oCtx ).
METHOD GoUp() Posiciona o cursor uma linha acima, movendo o ponteiro para o registro anterior do database, ou para elemento anterior de outros objetos.
METHOD HandleEvent( nMsg, nWParam, nLParam )
METHOD HiliteCell( nCol, nColPix ) Posiciona o cursor na coluna definida em nCol. Se usado quando da ativação do Browse, será exibido com o cursor nesta coluna.
METHOD HScroll( nWParam, nLParam )
METHOD HThumbDrag( nNewCol )
// METHOD Init( hDlg ) INLINE ::Initiate( hDlg )
// METHOD Initiate( hDlg ) INLINE Super:Initiate( hDlg ), ::Default()
METHOD InsColumn( nPos, oColumn ) Insere uma coluna (object TSColumn oColumn ) na posição definida em nPos.
METHOD Insert( cItem, nAt )
METHOD AddItem( cItem )
METHOD IsColVisible( nCol )
METHOD IsColVis2( nCol )
METHOD IsEditable( nCol ) INLINE ::lCellBrw .and. ::aColumns[ nCol ]:lEdit .and. ( ::aColumns[ nCol ]:bWhen == Nil .or.Eval(::aColumns[ nCol ]:bWhen, Self ) )
METHOD KeyChar( nKey, nFlags ) Uso interno. Executa ações dependendo da tecla pressionada nKey. Avalia o código de bloco bKeyChar.
METHOD KeyDown( nKey, nFlags ) Uso interno. - Similar a KeyChar(). Avalia o código de bloco bKeyDown.
METHOD KeyUp( nKey, nFlags )
METHOD LButtonDown( nRowPix, nColPix, nKeyFlags ) Uso interno.- Executa ações relacionadas com o clique no botão esquerdo do mouse. Avalia o código de bloco bLClick.
METHOD LButtonUp( nRowPix, nColPix, nFlags )
METHOD lCloseArea() INLINE If( ::lIsDbf .and. ! Empty( ::cAlias ), ( ( ::cAlias )->( DbCloseArea() ), ::cAlias := "", .T. ), .F. )
METHOD LDblClick( nRowPix, nColPix, nKeyFlags ) Uso interno.- Executa ações relacionadas com o duplo clique no botão esquerdo do mouse. Avalia o código de bloco bLDblClick.
METHOD lEditCol( uVar, nCol, cPicture, bValid, nClrFore, nClrBack ) Executa a edição de dados das células. Você pode usar esse método de seu programa em funções de edição personalizadas. Este método retornará um valor de .T. (True - Verdadeiro) se a edição finalizar normalmente, e .F. (False - Falso) se o usuário cancelar a edição.
METHOD lIgnoreKey( nKey, nFlags )
METHOD LoadFields( lEditable )
METHOD LoadRecordSet() //V90
METHOD LoadRelated( cAlias, lEditable, aNames, aHeaders )
METHOD Look3D( lOnOff, nColumn, nLevel, lPhantom )
METHOD LostFocus( hCtlFocus ) Uso interno. É ativado quando o Browse perde o foco. Avalia o código de bloco bLostFocus.
METHOD lRSeek( uData, nFld, lSoft ) //V90
METHOD MButtonDown( nRow, nCol, nKeyFlags ) Uso interno.- É ativado quando o botão central do mouse é pressionado (em mouses de 3 botões). Avalia o código de bloco bMButtonDown, recebendo os mesmos parametros.
METHOD MouseMove( nRowPix, nColPix, nKeyFlags )
METHOD MouseWheel( nKeys, nDelta, nXPos, nYPos )
METHOD MoveColumn( nColPos, nNewPos ) Muda a posição da coluna dentro do Browse, se a variável ::lMoveCols for .T.
METHOD nAtCol( nColPixel, lActual )
METHOD nAtIcon( nRow, nCol )
METHOD nColCount() INLINE Len( ::aColumns )
METHOD nField( cName ) //V90
METHOD nLogicPos() Retorna a posição lógica para o índice ativo.
METHOD nRowCount() INLINE CountRows( ::hWnd, ::nHeightCell, If( ::lDrawHeaders, ::nHeightHead, 0 ),If( ::lFooting .and. ::lDrawFooters, ::nHeightFoot, 0 ),If( ::lDrawHeaders, ::nHeightSuper, 0 ),If( ::lDrawSpecHd, ::nHeightSpecHd, 0 )) Uso interno.- Conta as linhas exibíveis do Browse.
METHOD PageUp( nLines ) Move o cursor e o ponteiro de registros uma página acima. É executado quando é pressionada a tecla PgUp.
METHOD PageDown( nLines ) Move o cursor e o ponteiro de registros uma página abaixo. É executado quando é pressionada a tecla PgDn.
METHOD Paint() Uso interno.- Pinta o Browse. Chamado a partir do método Display().
METHOD PanHome() Move o cursor para a primeita coluna da linha corrente.É nativado quando pressionadas as teclas Shift+LeftArrow.
METHOD PanEnd() Move o cursor para a última coluna da linha corrente. É ativado quando pressionadas as teclas Shift+RightArrow.
METHOD PanLeft() Move o cursor para a primeira coluna visível da linha corrente. É ativado quando a tecla Home é pressionada.
METHOD PanRight() Move o cursor para a última coluna visível da linha corrente. É ativado quando a tecla End é pressionada.
METHOD PostEdit( uTemp, nCol, bValid )
METHOD RButtonDown( nRowPix, nColPix, nFlags ) Uso interno.- Executa açoes relacionadas com o clique no botão direito do mouse. Avali o código de bloco bRClicked. Se o clique é feito na area do cabeçalho (Header), o TSBrowse exibirá um menu PopUp com opções de coluna e movimento de cursor.
METHOD Refresh( lPaint, lRecount ) //V90
METHOD RelPos( nLogicPos )
METHOD Report( cTitle, aCols, lPreview, lMultiple, lLandscape, lFromPos )
METHOD Reset( ) //V90 Move o cursor e o ponteiro de registro para o topo do Browse e executa o método Refresh(.T.)
METHOD ResetSeek()Restaura o valor da variável cSeek para nulo (Null), assim uma nova pesquisa incremental pode ser executada.
METHOD ResetVScroll( lInit ) //V90
METHOD ReSize( nSizeType, nWidth, nHeight )
METHOD TSBrwScroll( nDir ) INLINE TSBrwScroll( ::hWnd, nDir, ::hFont,::nHeightCell, If( ::lDrawHeaders, ::nHeightHead, 0 ),If( ValType( ::lDrawFooters ) == "L" .and.::lDrawFooters ,::nHeightFoot, 0 ), ::nHeightSuper, ::nHeightSpecHd )
METHOD Seek( nKey ) Este método faz todo o trabalho da pesquisa incremental.
METHOD Set3DText(lOnOff, lRaised, nColumn, nLevel, nClrLight, nClrShadow )
METHOD SetAlign( nColumn, nLevel, nAlign )
METHOD SetAppendMode( lMode ) Ativa a inserção automática após o ultimo registro (Append).
METHOD SetArray( aArray, lGenCols, aHead ) //V90
METHOD SetBtnGet( nColumn, cResName, bAction, nBmpWidth )
METHOD SetColMsg( cMsg, cEditMsg, nCol )
METHOD SetColor( xColor1, xColor2, nColumn )
METHOD SetColSize( nCol, nWidth )
METHOD SetColumns( aData, aHeaders, aColSizes )
METHOD SetDeleteMode( lOnOff, lConfirm, bDelete, bPostDel )
METHOD SetHeaders( nHeight, aCols, aTitles, aAlign , al3DLook, aFonts, aActions )
METHOD SetData( nColumn, bData, aList )
#ifdef _TSBFILTER7_
METHOD SetFilter( cField, uVal1, uVal2 ) //deleted in V90
#endif
METHOD SetFont( hFont )
METHOD SetIndexCols( nCol1, nCol2, nCol3, nCol4, nCol5 )
METHOD SetItems( aItems ) INLINE ::SetArray( aItems, .T. )
METHOD SetDBF( )
METHOD SetOrder( nColumn, cPrefix, lDescend )
METHOD SetRecordSet( oRSet, lEditable ) //V90
METHOD SetSelectMode( lOnOff, bSelected, uBmpSel, nColSel, nAlign )
METHOD SetSpinner( nColumn, lOnOff, bUp, bDown, bMin, bMax )
METHOD ShowSizes()
METHOD Skip( n )
METHOD SortArray( nCol, lDescend )
METHOD SwitchCols( nCol1, nCol2 )
METHOD SyncChild( aoChildBrw, abAction )
METHOD UpAStable()
METHOD UpRStable( nRecNo ) //V90
METHOD UpStable()
METHOD Proper( cString ) Converte o texto cText em iniciais maiúsculas.
METHOD VertLine( nColPixPos, nColInit, nGapp )
METHOD VScroll( nWParam, nLParam )
METHOD Enabled(lEnab) // JP 1.55
METHOD HideColumns( nColumn , lHide) //JP 1.58
METHOD AutoSpec(nCol)
METHOD RefreshARow(xRow) //JP 1.88
sexta-feira, 22 de maio de 2009
Com o usar o ACBr - Monitor (Parte 2)
E aqui a tela de fechamento da venda
Créditos:
JOSÉ JUCÁ DE OLIVEIRA
AV.Capitão Castro, 3294 Centro Vilhena/Ro
69 3321 4575
skype: jose.juca3044
msn : medial@ps5.com.br
Marcelo Brigatti
Sistemas IES
quinta-feira, 14 de maio de 2009
Diferença do e-CNPJ para o Certificado NF-e
No link https://www.identidadedigital.com.br/pergunte, a reposta para a diferença entre os dois certificados é esta:
"Qual é a diferença do e-CNPJ e o Certificado NF-e?
Os dois certificados digitais podem ser utilizados para emissão de Nota Fiscal Eletrônica, pois ambos são emitidos na Infra-Estrutura de Chaves Públicas Brasileira - ICP-Brasil e contêm o número de CNPJ da empresa em seu conteúdo.
A vantagem do certificado NF-e é que ele foi criado unicamente para validar as NF-e e pode ser utilizado pelos funcionários da empresa e não apenas pelo seu representante legal, proporcionando uma maleabilidade na utilização.
Outra diferença é que a estrutura que ele utiliza é mais robusta para verificação e validação dos campos da NF-e, devido ao volume de vezes em que ele é utilizado."
Com a resposta acima, achava que a vantagem era comprar o e-cnpj por ser mais barato, mas neste link
http://robertodiasduarte.blogspot.com/2008/12/certificados-digitais-para-nf-e.html
existe uma explicação de qual a diferença dos dois tipos de certificado.
Leia o trecho abaixo retirado deste link:
"A menos que você seja, o representante legal e o faturista de sua empresa é melhor ter dois certificados: um e-CNPJ para assinar documentos e acessar o e-CAC da RFB e o e-NFe registrado em nome do faturista responsável pela emissão de NF-e.
Se o faturista utiliza um e-CNPJ, ele terá uma procuração em branco de sua empresa.
Com o e-NFe, suas atribuições ficam limitadas representar a empresa no processo de emissão de documentos fiscais.
Contudo, cada faturista deve ter um e-NFe individual e, caso ele seja desligado da empresa, você deve providenciar a revogação do certificado."
Ou seja, por questões de segurança, o indicado para a NFe é usar o certificado específico para NFe, a não ser que quem emita a NFe seja também o representante legal da empresa.
Do site:
http://anfm.blogspot.com/
André Ferreira de Moraes
quarta-feira, 6 de maio de 2009
Como usar o ACBR - Monitor - Passo a Passo
1 - O que é o ACBr Monitor (http://acbr.sourceforge.net/wiki/index.php/Monitor)
Nada mais que um executável que fica residente na SysTray e se comunica com sua aplicação através de arquivos .TXT ou Sockets (TCP/IP), permitindo assim que seu programa fale facilmente com vários modelos / marcas de Impressoras Fiscais, Impressoras de Cheques, Gavetas de Dinheiro, Displays de Mensagens e Leitores de Cod. Barras Serial.
Os comandos podem ser enviados para o ACBrMonitor por arquivo texto ou sockets, a sintaxe dos comandos é identica em ambos os casos. A resposta dos equipamentos de automação controlados pelo ACBrMonitor (Ex: ECF) será devolvida a Aplicação pelo ACBrMonitor também usando um arquivo texto de saida ou sockets, (conforme a configuração).
2 - Para fazer o Download Abaixo está o link da página:
http://sourceforge.net/project/showfiles.php?group_id=109206&package_id=182935
(o Link ACBrMonitor Atual é para Linux)
Abaixo está o passo a passo da instalação: