quarta-feira, 13 de agosto de 2008

Visualizador de DBFs com CDX - Alterado


O link abaixo é o caminho para download do DBFIES.EXE. Trata-se de um utilitário que estou disponibilizando para aqueles que desejam visualizar um DBF com o respectivo arquivo de índice CDX já aberto.

Adicionado:
Indicador de posição na tabela
Botão para efetuar pack/reorganização de arquivo de índice
Botão para posicionar cursor no registro indicado

Características:
Permite edição dos campos.
Permite inserção de registro novo.
Permite ver a lista das TAGS, as chaves de indexação e selecioná-las.
Permite consultar a estrutura do DBF.
Contém outros utilitários como, calculadora, explorador de objetos windows, info do equipamento, info do processador...

Arquivo: dbfies.exe
DownloadLink:
http://rapidshare.com/files/138258017/dbfies.exe

Sem mais, cordialmente,

Marcelo Brigatti

quarta-feira, 6 de agosto de 2008

Anúncio de atualização da HMGS-IDE 0.6.8 OPEN SOURCE

Olá a Todos,

Os binários e fontes da HMGS-IDE 0.6.8 atualizada estão disponíves na seguinte URL:

http://www.hmgextended.com/files/HMGS-IDE/ide.zip

Abaixo segue o changelog desta versão por Walter Formigoni:2008-08-03: version 0.6.8

*Fixado: bug no saveform.prgGetbox -> Pictures devem ser inicializadas com "" ou NIL
(em todo caso não em branco) de outro modo ocorre o erro E0020.
Getbox -> Valor deve ser declarado na inicialização - 0 ou ""ou NIL
(em todo caso não em branco) de outro modo o programa finaliza.
Bug foi reportado por Arcangelo Molinaro
*Alterado: em Preferences para selecionar ou ambos para fazer
aplicações em modo console, modo gui ou modo mixed.
requesitado por Escobar
*Alterado: mpm.prg usando a função _getshortpathname() e agora compila exemplos na pasta com nomes longos.
requesitado por T.Berci
*Alterado: em mpmc.prg ordem de libs de linkagem para compilar corretamente exemplo de hiperlink.
requesitado por T.Berci
*Fixado: bug em mpmc.prg lib correta para usar em xharbour é hbzip.lib não ZIPARCHIVE.LIB .
requesitado por T.Berci
*Fixado: bug deletando controles dentro da tab, quando do saveform o controle é salvo com um controlname duplicado e o programa aborta.
bug foi reportado por Renaldo
*Fixado: bug no saveform do controle FRAME, propriedade OPAQUE era salva incorreta.
bug foi reportado por Renaldo
*Fixado: bug quando editando propriedade PICTURE dos controles BTNTEXTBOX ou controle BUTTON, se controle estava dentro da TAB então há um crash do programa. Se picture não for encontrado o valor default NIL é usado para prevenir erro.
bug foi reported by Renaldo
*Fixado: bug salvando form com controle GRID com valores default faltando propriedades ITEMS,HEADERS,WIDTHS causa crash do programa quando é compilado.
bug foi reportado por Renaldo
*Fixado: bug quando move/delete/size o controle FRAME.
bug foi reportado porRenaldo
*Fixado: bug salvando a propriedade FONTNAME do controle BTNTEXTBOX sem aspas.
*Novo: propriedade INPUTITEMS e DISPLAYITEMS adicionadas para o controle BROWSE.

--Saudações,
Grigory Filatov[MiniGUI Team]

--Traduzido por Marcelo Brigatti

quinta-feira, 31 de julho de 2008

Dica - Uso da InputWindowEx() na Prática

A InputWindow() é uma caixa de diálogo muito útil para quem precisa por exemplo: parâmetros para geração de um relatório. Pois nesses casos você não necessita criar uma nova janela somente para isso. A InputWindowEx() é uma extensão dessa mesma funcionalidade.Abaixo segue um código de utilização na prática da InputWindowEx().

*****************************************
Function PegaParametros( pAlias, pOrdem )

Local vDia := StrZero( LastDayOM( Date() ), 2 )
Local vMes := StrZero( Month( Date() ), 2 )
Local vAno := StrZero( Year( Date() ), 4 ) )
Local vDatI := CToD( '01' + '/' vMes + '/' + vAno )
Local vDatF :=CToD( vDia + '/' vMes + '/' + vAno )
Local aLabels := {}, aValues := {}, aFormats := {}, aRetx := {}

AAdd( aLabels, 'Data Início' )
AAdd( aValues, vDatI )
AAdd( aFormats, { 70, 'DP', 80, , } )

AAdd( aLabels, 'Data Fim' )
AAdd( aValues, vDatF )
AAdd( aFormats, { 70, 'DP', 80, , } )

AAdd( aLabels, 'Cópias')
AAdd( aValues, 0 )
AAdd( aFormats,{ 70,'TN',80,,'9999'})

AAdd( aLabels, 'Motivo do Cancelamento' )
AAdd( aValues, Nil )
AAdd( aFormats, { , , , ,'BOLD' } )

AAdd( aLabels, 'Motivo 1' )
AAdd( aValues, Space( 70 ) )
AAdd( aFormats, { 70, 'TX', 200, , } )

AAdd( aLabels, 'Motivo 2' )
AAdd( aValues, Space( 70 ) )
AAdd( aFormats, { 70, 'TX', 200, , } )

aRetx := InputWindowEx( 'Parâmetros Listagem', aLabels, aValues, aFormats, , , .T. )
// aRetx[1] -> Data inicial -> Data
// aRetx[2] -> Data inicial -> Data
// aRetx[3] -> Número de cópias -> Numérico
// aRetx[4] -> Label -> Sem efeito
// aRetx[5] -> Motivo 1 -> Caracter
// aRetx[6] -> Motivo 2 -> Caracter
If aRetx[1] == Nil
Return
Else
xNCopias := 1
Do While xNCopias <= aRetx[3] ( pAlias )->( DBSetOrder( pOrdem )
( pAlias )->( DBSeek( DToS( aRetx[1] ) ) )
ProceLista( aRetx[1], aRetx[2] )
xNCopias++
EndDo
EndIf
( pAlias )->( RLock() )
( pAlias )->Motivo1 := aRetx[5]
( pAlias )->Motivo2 := aRetx[6]
( pAlias )->( DBUnLock() )

Return

quarta-feira, 30 de julho de 2008

Anúncio da MiniGUI 1.5 Extended Edition (Build 54)

Olá a Todos,

O setup da Harbour MiniGUI 1.5 Extended Edition (Build 54) setup está disponível na seguinte URL:

http://hmgextended.com/files/CONTRIB/hmg-1.5-54-setup.zip

e a Lite build 54 pelo FreeExtractor na seguinte URL: http://hmgextended.com/files/CONTRIB/hmg-1.5-54-setup-lite.zip

Este release da MiniGUI é considerada estável e pronta para uso em produção. Segue-se abaixo o changelog para este build:2008/07/30: Build 54 (HMG 1.5 Extended Edition) Published.

* Fixado: Problemas com números negativos decimais e erro no posicionamento do cursor ao pressionar a tecla End no controle GetBox. Contribuição de Pierpaolo Martinello
pier.martinello[at]alice.it> (veja demo na pasta \samples\Basic\GetBox)
* Novo: Tradução para a língua Bulgara em h_init.prg e no comando SET LANGUAGE TO BULGARIAN. Tradução para a língua Bulgara nas libraries HbPrinter e MiniPrint . Contribuição de Sasho Savov <savovs@gmail.com>
* Atualizado: Sincronizada e Extendida HMG com a Oficial HMG 2.5.3:
- Novo: Propriedades de InputItems e DisplayItems para o controle Browse no modo InplaceEdit. (veja demos na pasta \samples\Basic\Browse_5)
* Atualizado: HBPrinter library (veja fonte na pasta \source\HbPrinter):
- Fixado: divide by zero na inicialização da Preview window. Reportado por J.Rudnicki <J_Rudnicki@wp.pl>. Contribuição de Grigory Filatov <gfilatov@freemail.ru>
* Atualizado: Compilador Harbour 1.0.0 (SVN 2008-07-30 03:31):
* Atualizado: Código fonte da library AdoRDD (veja na pasta \Source\AdoRDD);
* Atualizado: Código fonte da library HbODBC (veja na pasta \Source\HbODBC);
* Atualizado: Código fonte da library MySQL (veja na pasta \Source\MySQL). Contribuição de Grigory Filatov <gfilatov@freemail.ru> (procurem pelo ReadMe.txt na pasta \harbour e WhatsNew.txt na pasta \harbour\doc)
* Atualizado: Código fonte da library HbSQLite3 (veja na pasta \Source\HbSQLite3):
- atualizado para uso da SQLITE3 version 3.6.0 Contribuição de Grigory Filatov <gfilatov@freemail.ru> (veja demos nas pastas \samples\Advanced\SQLITE e \samples\Advanced\SQLITE_2)
* Novo: Exemplo de 'interação com 7-Zip' . Este exemplo requer que o 7-Zip archiver esteja instalado http://www.7-zip.org/. Contribuição de Vladimir Chumachenko mailto:ChVolodymyr@yandex.ru> (veja na pasta \samples\Advanced\7-Zip)
* Novo: Exemplo 'ActiveX User Component' . Baseado num código emprestado da Oficial HMG 2.5.3. Contribuição de Grigory Filatov <gfilatov@freemail.ru> (veja demos na pasta \samples\Basic\ActiveX)
* Novo: Exemplo 'Zip Component'. Baseado num código emprestado da Oficial HMG 2.0.032. Contribuição de Grigory Filatov <gfilatov@freemail.ru> (veja demo na pasta \samples\Basic\Zip_2)
* Novo: Exemplo 'MiniZip usage'. Baseado num código emprestado da Oficial HMG 2.5.3. Contribuição de Grigory Filatov <gfilatov@freemail.ru> (veja demo na pasta \samples\Basic\Zip_3)
* Novo: Exemplo 'Dynamic Context Menu'. Contribuição de Janusz Pora <januszpora@onet.eu> (veja menudemo5.prg na pasta \samples\Basic\Menu)
* Atualizado: Exemplo de versão multilingue 'MiniGUI Biorhythms' 1.0.3. Contribuição de Christian T. Kurowski <xharbour@wp.pl> (veja na pasta \samples\Applications\Biorhythm)
* Atualizado: Os exemplos de Applicações são revisados pelos seguintes comandos: \CompileAllApplications.bat /e /s /es2 para remoção de warnings de compilação. Sugerido por Kevin Carmody <i@kevincarmody.com>. Contribuição de Grigory Filatov <gfilatov@freemail.ru>

--Saudações, Grigory Filatov[MiniGUI Team]

--Tradução - Marcelo Brigatti

terça-feira, 29 de julho de 2008

Dica - Códigos de auxílio para travamento de sistema

Pelo ID do processador:
**********************************************
Local oTrava, oObjeto, xMsg := ""
oTrava := WmiService()
For Each oObjeto In ;
oTrava:ExecQuery( "SELECT * FROM Win32_Processor" )

xMsg := "ID: " + oObjeto:ProcessorID

Next
MsgInfo( xMsg )

Pelo Signature do HD:
**********************************************
Local oTrava, oObjeto, xMsg := ""
oTrava := WmiService()
For Each oObjeto In ;
oTrava:ExecQuery( "SELECT * FROM Win32_DiskDrive" )

Msg := "Signature: " + LTrim( Str( ABs( oObjeto:Signature ), 20, 0 ) )

Next
MsgInfo( xMsg )
**********************************************
Static Function WmiService()
Static oWmiLocal, oLocator
IF oWmi == Nil
oLocator := CreatObject( "wbemScripting.SwbemLocator" )
oWmi := oLocator:ConnectServer()
EndIf
Return oWmi

quinta-feira, 24 de julho de 2008

Demonstração do refresh da tela

Vejam aqui a demora ao fazer o refresh da tela quando se muda a aba de uma tab, alguém ai tem alguma idéia para acelerar esse processo, talvez algo do tipo BeginDisplay() ?

terça-feira, 8 de julho de 2008

Anúncio da MiniGUI 1.5 Extended Edition (Build 53a)

Olá a Todos,

O setup da Harbour MiniGUI 1.5 Extended Edition (Build 53a) está disponível na seguinte URL:http://hmgextended.com/files/CONTRIB/hmg-1.5-53a-setup.zip

e a Lite build 53a pelo FreeExtractor na seguinte URL:http://hmgextended.com/files/CONTRIB/hmg-1.5-53a-setup-lite.zip

Este release da MiniGUI é considerado estável e pronto para uso em produção.
Este é o changelog desta build:2008/07/07: Build 53a (HMG 1.5 Extended Edition) Published.

* Novo: O Harbour GPF aponta para o erro no C-code:
- Set( _SET_HBOUTLOGINFO [, ] ) -> Default value: MiniGUIVersion() string
Este texto definido pelo usuário será incluído em cada mensagem do error.log. Desta maneira será possível incluir informações customizadas nestas entradas para ajudar a identificar e localizá-las.
* Atualizado: Compilador Harbour 1.0.0rc2 (SVN 2008-07-07 06:57):
* Atualizado: Código fonte da library HbODBC (veja na pasta \Source\HbODBC);
* Atualizado: Código fonte da libraryMySQL (veja na pasta \Source\MySQL). Contribuição de Grigory Filatov (procure em ReadMe.txt na pasta \harbour e WhatsNew.txt na pasta \harbour\doc)
* Novo: Exemplo 'ODBC com Access'. Contribuição de Grigory Filatov Baseado em um código contribuído pelo forum Spanish HMG. (veja na pasta \samples\Basic\ODBC_2)
* Novo: Exemplo 'AdoRDD-3 MySql Browse'. Emprestado da Official HMG 2.0.032.(veja na pasta \samples\Basic\ADORDD_3)
* Atualizado: Exemplo 'MiniSql Basic'. Contribuição de Grigory Filatov (veja na pasta \samples\Advanced\MiniSql)
* Atualizado: Os exemplos Básicos são revisados pelo seguinte comando: samples\CompileAllBasic.bat /e /s /es2 e utilitários da 'Lista de Funções' e 'Analisador de Projeto' são revisados pelo seguinte comando: utils\CompileAllUtils.bat /e /s /es2 para remover avisos de compilação. Sugestão de Kevin Carmody i@kevincarmody.com. Contribuição de Grigory Filatov gfilatov@freemail.ru

--Saudações, Grigory Filatov[MiniGUI Team]

--Traduzido por: Marcelo Brigatti