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

quarta-feira, 25 de junho de 2008

Lançado o Build 53 da HMG 1.5 Extended

Olá a Todos,

O setup do (Build 53) do Harbour MiniGUI 1.5 Extended Edition está disponível no seguinte URL: http://hmgextended.com/files/CONTRIB/hmg-1.5-53-setup.zip
e o build 53 pelo FreeExtractor na seguinte URL:
http://hmgextended.com/files/CONTRIB/hmg-1.5-53-setup-lite.zip

Este release da MiniGUI é considerado estável e pronto para uso em produção.

Segue abaixo o changelog deste build:
2008/06/25: Build 53 (HMG 1.5 Extended Edition) Published.

* Fixado: O controle ComboBox control tem um valor inicial errado nacláusula ItemSource (introduzido no build 50).Reportado por Marcelo A. L. Carli <malcarli@terra.com.br>.Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja demos na pasta \samples\Basic\COMBO_2)
* Fixado: Problema com Horizontal RadioGroup na janela Virtual Dimensionada.Ele existe na versão oficial também.Reportado por Rogerio L. Momente <momente_34@yahoo.com.br>.Baseado numa contribuição de Walter Formigoni <walter.formigoni@uol.com.br>
* Fixado: Problema com cálculo da Posição Zero Position em grandes valores negativos no Graph control.Contribuição de Eladio Bravo <eladibravo@yahoo.es>
* Melhorado: Regra de sintaxe alternativa para Cláusula NOTABSTOP.Requesitado porTolvaj Bertalan <ujproghu@freemail.hu>.Contribuição de Jacek Kubica <kubica@wssk.wroc.pl>
* Mudado: A função interna And(arg1,arg2) foi trocada com a função do [x]Harbour HB_BitAnd().Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja i_pseudofunc.ch na pasta Include\)

* Atualizado: Código fonte da library PropGrid:
-Novo: Cláusula SINGLEEXPAND para expandir item quando ele está selecionado e para fechar quando se torna não selecionado.
- Novo: Propriedade item type 'userfun' para obter valor com qualquer função de usuário.
- Novo: Propriedade item type 'list', como item 'enum' mas com campo de edição e adicionando um novo valor para o combo list.
- Novo: Comando TOGGLE, EXPAND e COLLAPSE CATEGORY
- Novo: Comando ENABLE e DISABLE PROPERTYITEM
- Novo: Comando REDRAW PROPERTYITEM
- Novo: Cláusula SUBITEM no comando GET PROPERTYITEM para obter valor pelo Item type FONT
- Fixado: Código fonte na entrada de dados da área testada. Contribuição de Janusz Pora <januszpora@onet.eu>(veja Changelog.txt na pasta folder \Source\PropGrid e demo2.prg na pasta \samples\Advanced\PropGrid)

* Atualizado: HBPrinter library v.2.12 (see source in folder \source\HbPrinter):- Novo: Comando SET PREVIEW RECT MAXIMIZED.
- Novo: Comando SET USER PAPERSIZE WIDTH HEIGHT .Emprestado da HBPrinter v.3.01. Requesitado por Rene Koot <rene@plantenkennis.com>.Contribuição de Grigory Filatov <gfilatov@freemail.ru>
* Atualizado: WinReport library (veja fonte na pasta \Source\WinReport).Contribuição de Pierpaolo Martinello (veja demo na pasta \samples\Advanced\REPORT_INTERPRETER e help em WinReport.chm na pasta \Doc)
* Atualizado: Compilador Harbour RC1 build (SVN 2008-06-24 07:00):
* Atualizado: Código fonte da HbODBC library (veja na pasta \Source\HbODBC);
* Atualizado: Código fonte da HbOLE library (veja na pasta \Source\HbOLE);
* Atualizado: Código fonte da HbSQLite3 library (veja na pasta \Source\HbSQLite3);
* Atualizado: Código fonte da MySQL library (veja na pasta \Source\MySQL).Contribuição de Grigory Filatov <gfilatov@freemail.ru>(procure por ReadMe.txt na pasta \harbour e WhatsNovo.txt na pasta \harbour\doc)

* Atualizado: HMGS-IDE v.0.6.7. Project Manager e Two-Way Visual Form Designer.Contribuição de Walter Formigoni <walter.formigoni@uol.com.br>(procure pelo changelog.txt na pasta \Ide)
* Atualizado: Código fonte da HbSQLite3 library (veja na pasta \Source\HbSQLite3):
- Atualizado para uso da SQLITE3 version 3.5.9Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja demos nas pastas \samples\Advanced\SQLITE e \samples\Advanced\SQLITE_2)
* Novo: Exemplo 'BrowseForFolder function'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Advanced\BrowseForFolder)
* Novo: Exemplo 'Property Grid Creator'. Contribuição de Janusz Pora <januszpora@onet.eu>(veja na pasta \samples\Advanced\PgCreator)
* Novo: Exemplo 'Charts ADO'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Basic\Charts)
* Novo: Exemplo 'Contactos ADO'. Baseado numa contribuição de MigSoft <fugaz_cl@yahoo.es>(veja na pasta \samples\Basic\CONTACTOS_3)
* Atualizado: Exemplo 'Contactos'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Basic\CONTACTOS)
* Atualizado: Exemplo MsgArray. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Basic\MsgArray)
* Atualizado: Exemplo MsgEdit. Contribuição de Grigory Filatov <gfilatov@freemail.ru>Baseado no código Contribuição de Bingen Ugaldebere para Xailer.(veja na pasta \samples\Basic\MsgEdit)
* Atualizado: Exemplo 'Multi Instance'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Basic\MULTI_INSTANCE)
* Atualizado: Exemplo 'Browse scopes'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Basic\Browse_4)
* Atualizado: Exemplo 'Display Mode'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Advanced\DisplayMode)
* Atualizado: Exemplo 'FreeImage Viewer'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>Para este exemplo é requerida a library FreeImage.Dll de http://freeimage.sourceforge.net(veja na pasta \samples\Advanced\Freeview)
* Atualizado: Exemplo 'Transparent Form'. Contribuição de Grigory Filatov <gfilatov@freemail.ru>(vejam demos na pasta \samples\Advanced\Transparency)
* Atualizado: Exemplo Multilingue 'MiniGUI Biorhythms' version 1.0.2. Contribuição de Christian T. Kurowski <xharbour@wp.pl>
+ Atualizado: para compatibilidade com xHarbour.Contribuição de Grigory Filatov <gfilatov@freemail.ru>(veja na pasta \samples\Applications\Biorhythm)
* Atualizado: Exemplo MiniLabel. Contribuição de Pierpaolo Martinello (veja demo na pasta \samples\Advanced\MiniLabel)

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

- Traduzido por: Marcelo Brigatti

sexta-feira, 20 de junho de 2008

Anúncio - HMGS-IDE 0.6.7 OPEN SOURCE atualizada - Em Português

Olá a todos,

Os binários e fontes da HMGS-IDE 0.6.7 estão disponíveis na seguinte URL:http://www.hmgextended.com/files/HMGS-IDE/ide.zip

Este é o changelog desta versão por Walter Formigoni:2008-06-19: version 0.6.7

*Fixado: bug ao excluir frame, foco estava indo para outro controle.
*Fixado: Controle não pegava foco e não mostrava propriedades no inspetor de objetos quando ativado pelo QAC, somente depois de adicionar novo controle. Bug foi reportado por Bruno Luciani . Bug foi introduzido na versão 0.5.5
*Fixado: bug na ordem das propriedades ACTION/TOOLTIP do controle TOOLBAR. Bug foi reportado por Marcelo A. L. Carli malcarli@terra.com.br
*Fixed: bug não selecionava o frame correto no form
*Fixed: bug no tamanho do controle COMBOBOX.
*Fixed: bug no saveform.prg da propriedade ITEMSORCE do controle COMBOBOXEX.
*Fixed: bug no saveform.prg da propriedade IMAGELIST do controle COMBOBOXEX. Bug foi reportado por Arcangelo Molinaro arcangelo.molinaro@fastwebnet.it

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

-Traduzido por: Marcelo Brigatti