Application Internal Error - C:\SGF\Sgf.exe
Terminated at: 2013.03.25 15:23:30
Unrecoverable error 9006: hb_xgrab can't allocate memory
Called from GETWINDOWTEXT(0)
Called from _GETVALUE(195) in source\h_controlmisc.prg
Called from GETPROPERTY(6939) in source\h_controlmisc.prg
Called from BUSQUEDA(314) in D:\SGF1\indeferidos.prg
Called from (b)ADMINISTRADORDETIPOS(145) in D:\SGF1\indeferidos.prg
Called from _DOCONTROLEVENTPROCEDURE(5383) in source\h_windows.prg
Called from EVENTS(1946) in source\h_windows.prg
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5042) in source\h_windows.prg
Called from ADMINISTRADORDETIPOS(246) in D:\SGF1\indeferidos.prg
Called from (b)MAIN(57) in D:\SGF1\main.prg
Called from _DOCONTROLEVENTPROCEDURE(5383) in source\h_windows.prg
Called from EVENTS(1498) in source\h_windows.prg
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(5042) in source\h_windows.prg
Called from MAIN(93) in D:\SGF1\main.prg
------------------------------------------------------------------------
MAIN
#include "hmg.ch"
Function Main
///////////////////////////////////////////////////////////////////////////////
// Inicializacion RDD DBFCDX Nativo
///////////////////////////////////////////////////////////////////////////////
REQUEST DBFCDX , DBFFPT
RDDSETDEFAULT( "DBFCDX" )
///////////////////////////////////////////////////////////////////////////////
SET DATE FRENCH
SET CENTURY ON
*------------------------------------------------------------------------------*
* INICIO DO FORMULARIO DO WINDOWS
*------------------------------------------------------------------------------*
DEFINE WINDOW Principal ;
AT 0,0 ;
WIDTH 640 ;
HEIGHT 480 ;
TITLE 'Sistema dos Indeferidos - Banco de Dados: 2009 - 2012' ;
MAIN
*------------------------------------------------------------------------------*
* IMAGEM DE FUNDO
*------------------------------------------------------------------------------*
DEFINE IMAGE Fundo
ROW 0
COL 0
WIDTH 1390
HEIGHT 670
PICTURE "Fundo.jpg"
HELPID Nil
VISIBLE .T.
STRETCH .T.
ACTION Nil
END IMAGE
*------------------------------------------------------------------------------*
* BARRA DO MENU
*------------------------------------------------------------------------------*
DEFINE MAIN MENU
DEFINE POPUP '&Programas'
MENUITEM '&Sistema dos Indefiridos' ACTION AdministradorDeTipos()
SEPARATOR
MENUITEM '&Sair' ACTION EXIT PROGRAM
END POPUP
DEFINE POPUP '&Ajuda'
MENUITEM '&Reindexar Arquivos' ACTION Reindexar()
SEPARATOR
MENUITEM 'Sobre' ACTION Ajuda()
END POPUP
END MENU
*------------------------------------------------------------------------------*
* BARRA DE STATUS
*------------------------------------------------------------------------------*
DEFINE STATUSBAR
STATUSITEM " Hacker 2013© - V. 1.1 - Banco de Dados: 2009 - 2012 "
CLOCK
DATE
END STATUSBAR
*------------------------------------------------------------------------------*
* FIM DO FORMULARIO DO WINDOWS
*------------------------------------------------------------------------------*
END WINDOW
MAXIMIZE WINDOW Principal
ACTIVATE WINDOW Principal
*------------------------------------------------------------------------------*
* MENU AJUDA
*------------------------------------------------------------------------------*
FUNCTION AJUDA
MsgInfo ('Produzido por' + Chr(13) + Chr(10) + 'Hacker 2013© - V. 1.1', [Sobre] )
*CLOSE ALL
*REQUEST DBFCDX
*RDDSETDEFAULT( "DBFCDX" )
*DBUSEAREA(.T.,,"SGF.dbf","dbf",,.f.)
*SET INDEX TO "SGF.cdx"
*dbf->( OrdSetFocus(0) )
*WAIT WINDOW "Aguarde..... Convertendo Arquivos... Podendo Demorar..." NOWAIT
*DO WHILE .NOT. EOF()
*
* cAData = NASC
* cDia := SUBSTR(cAData, 7, 2)
* cMes := SUBSTR(cAData, 5, 2)
* cAno := SUBSTR(cAdata, 1, 4)
* cNData := cDia + cMes + Cano
*
* cAData1 = DER
* cDia1 := SUBSTR(cAData1, 7, 2)
* cMes1 := SUBSTR(cAData1, 5, 2)
* cAno1 := SUBSTR(cAdata1, 1, 4)
* cNData1 := cDia1 + cMes1 + Cano1
*
* cAData2 = DTIND
* cDia2 := SUBSTR(cAData2, 7, 2)
* cMes2 := SUBSTR(cAData2, 5, 2)
* cAno2 := SUBSTR(cAdata2, 1, 4)
* cNData2 := cDia2 + cMes2 + Cano2
*
* REPLACE NASC WITH cNData,;
* DER WITH cNData1,;
* DTIND WITH cNData2
* SKIP
*ENDDO
* CLOSE ALL
* WAIT CLEAR
*MSGBOX ("ARQUIVOS CONVERTIDOS COM SUCESSO")
*MSGBOX(CURDIR())
RETURN
*------------------------------------------------------------------------------*
RETURN // GERAL DO MAIN - NAO APAGAR //
INDEFERIDOS
#include 'hmg.ch'
PROCEDURE AdministradorDeTipos
*------------------------------------------------------------------------------*
* FORMULARIO DO WINDOWS
*------------------------------------------------------------------------------*
DEFINE WINDOW Win_1 ;
AT 43,4 ;
WIDTH 1350 ;
HEIGHT 660 ;
TITLE 'Sistema dos Indefiridos - By Hacker©' ;
MODAL ;
FONT 'ARIAL' SIZE 9 ;
NOSIZE
*------------------------------------------------------------------------------*
* BANCO DE DADOS
*------------------------------------------------------------------------------*
CLOSE ALL
REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )
DBUSEAREA(.T.,,"SGF.dbf","dbf",,.f.)
If !File("SGF.cdx")
WAIT WINDOW "Aguarde..... Reindexando Arquivos... Podendo Demorar..." NOWAIT
dbf->(OrdCreate("SGF.cdx" , "Muncipio" , "dbf->mun" ,{|| dbf->mun } ))
dbf->(OrdCreate("SGF.cdx" , "UF" , "dbf->uf" ,{|| dbf->uf } ))
WAIT CLEAR
MsgBox( "Arquivos Reindexados com Sucesso !!!" + CHR(13) + "Continue Trabalhando..." )
Endif
SET INDEX TO "SGF.cdx"
dbf->( OrdSetFocus(0) )
Private aPesq:={"MUNICIPIO", "SIGLA - UF"}
*------------------------------------------------------------------------------*
* MODO PESQUISA
*------------------------------------------------------------------------------*
DEFINE LABEL Label_ModoPesquisa
ROW 5
COL 20
WIDTH 300
HEIGHT 15
VALUE 'Modo Pesquisa - Campo Pesquisa'
FONTBOLD .T.
END LABEL
*------------------------------------------------------------------------------*
* LABEL - TEXTO COMUM DO MUNICIPIO
*------------------------------------------------------------------------------*
DEFINE LABEL Label_Exportando
ROW 580
COL 10
VALUE 'Exportando:'
WIDTH 70
END LABEL
*------------------------------------------------------------------------------*
* COMBOBOX - COMBOPESQ
*------------------------------------------------------------------------------*
DEFINE COMBOBOX ComboMudaPesq
ROW 25
COL 20
WIDTH 90
HEIGHT 100
ITEMS aPesq
VALUE 0
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE MudaPesq(This.Value)
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
TABSTOP .T.
VISIBLE .T.
SORT .F.
ONENTER Nil
ONDISPLAYCHANGE Nil
DISPLAYEDIT .F.
IMAGE Nil
DROPPEDWIDTH 0
ONDROPDOWN Nil
ONCLOSEUP Nil
END COMBOBOX
*------------------------------------------------------------------------------*
* PROGRESSBAR - BARRA DE PROGRESSO DA EXPORTACAO
*------------------------------------------------------------------------------*
DEFINE PROGRESSBAR BarraProgresso
ROW 580
COL 90
WIDTH 1240
HEIGHT 20
RANGEMIN 1
RANGEMAX 100
VALUE 0
TOOLTIP ""
HELPID Nil
VISIBLE .T.
SMOOTH .F.
VERTICAL .F.
BACKCOLOR Nil
FORECOLOR Nil
END PROGRESSBAR
*------------------------------------------------------------------------------*
* BARRA DE STATUS
*------------------------------------------------------------------------------*
DEFINE STATUSBAR
STATUSITEM ""
END STATUSBAR
*------------------------------------------------------------------------------*
* TEXTBOX - GET PARA INSERIR TEXTO DAS PESQUISAS
*------------------------------------------------------------------------------*
DEFINE TEXTBOX Text_1
ROW 25
COL 130
WIDTH 600
*ONENTER If ( Busqueda() == .T. , ( Win_1.Grid_1.Value := 1 , Win_1.Grid_1.SetFocus ) , Nil )
ONENTER (If(WIN_1.BotaoPesq.Enabled, Busqueda(),))
TOOLTIP ' Digite aqui o que vai ser pesquisado conforme o Modo de Pesquisa. '
UPPERCASE .T.
END TEXTBOX
*------------------------------------------------------------------------------*
* BUTTON - BOTAO PARA INICIAR A PESQUISA
*------------------------------------------------------------------------------*
DEFINE BUTTON BotaoPesq
ROW 10
COL 800
WIDTH 140
HEIGHT 50
CAPTION "Pesquisar"
ACTION If ( Busqueda() == .T. , ( Win_1.Grid_1.Value := 1 , Win_1.Grid_1.SetFocus ) , Nil )
* VISIBLE .F.
TOOLTIP 'Pesquisar'
FONTSIZE 9
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
END BUTTON
*------------------------------------------------------------------------------*
* BUTTON - BOTAO PARA EXPORTAR DADOS
*------------------------------------------------------------------------------*
DEFINE BUTTON BotaoExportar
ROW 10
COL 980
WIDTH 140
HEIGHT 50
CAPTION "Exportar"
ACTION If ( Exportar() == .T. , ( Win_1.Grid_1.Value := 1 , Win_1.Grid_1.SetFocus ) , Nil )
* VISIBLE .F.
TOOLTIP 'Exportar para Excel'
FONTSIZE 9
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
END BUTTON
*------------------------------------------------------------------------------*
* BUTTON - ABRIR PASTA ONDE ESTÃO GRAVADOS OS ARQUIVOS
*------------------------------------------------------------------------------*
DEFINE BUTTON BotaoPasta
ROW 10
COL 1160
WIDTH 140
HEIGHT 50
CAPTION "Arquivos"
ACTION Pasta()
* VISIBLE .F.
TOOLTIP 'Pasta Arquivos Gravados'
FONTSIZE 10
FONTBOLD .T.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
END BUTTON
*------------------------------------------------------------------------------*
* GRID - FORMULARIO COM OS DADOS DA PESQUISA
*------------------------------------------------------------------------------*
DEFINE GRID Grid_1
ROW 65
COL 10
WIDTH 1325
HEIGHT 500
HEADERS { 'Beneficio' , 'Nome' , 'Municipio', 'UF', 'CPF', 'DDD', 'Telefone', 'Data Indeferimento', 'Data Nascimento' }
WIDTHS { 80 , 400, 300, 40, 90, 40, 100, 130, 130}
END GRID
END WINDOW // FIM DA FUNCAO FORMULÁRIO DO WINDOWS WINDOWS //
*------------------------------------------------------------------------------*
* HABILITAR E DESABILITAR OS BOTOES E MUDAR DE FOCO
*------------------------------------------------------------------------------*
*Public nVal
Win_1.ComboMudaPesq.SetFocus // POSICIONAR O MOUSE NO COMBO MUDAPESQ //
Win_1.StatusBar.Item(1) := ' Selecione o Modo Pesquisa clicando na Seta acima e utilize as opções: Municipio ou SIGLA - UF (AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO). '
Win_1.BotaoPesq.Enabled :=.F. // DESABILITA O BOTAO PESQUISA //
Win_1.Botaoexportar.Enabled :=.F. // DESABILITA O BOTAO EXPORTAR //
Win_1.BotaoPasta.Enabled :=.F. // DESABILITA O BOTAO DA PASTA //
* nVal:=GetProperty("Win_1","ComboMudaPesq","Value")
*------------------------------------------------------------------------------*
* COMANDOS DO FORMULARIO DO WINDOWS
*------------------------------------------------------------------------------*
CENTER WINDOW Win_1
ACTIVATE WINDOW Win_1
RETURN // FIM DO PROCEDURE AdministradorDeTipos //
*------------------------------------------------------------------------------*
* FUNCAO MUDA PESQUISA
*------------------------------------------------------------------------------*
Function MudaPesq(nVal)
Win_1.Grid_1.DeleteAllItems
Win_1.Text_1.SetFocus // POSICIONAR O MOUSE NO COMBO MUDAPESQ //
Win_1.BotaoPesq.Enabled :=.T. // HABILITA O BOTAO PESQUISA //
Win_1.Botaoexportar.Enabled :=.F. // DESABILITA O BOTAO EXPORTAR //
Win_1.BotaoPasta.Enabled :=.F. // DESABILITA O BOTAO DA PASTA //
Win_1.Text_1.value := ""
Win_1.StatusBar.Item(1) := ' Digite aqui o nome do Município ou a Unidade Federativa que deseja pesquisar. '
Return Nil
*------------------------------------------------------------------------------*
* FUNCAO BUSQUEDADOS
*------------------------------------------------------------------------------*
FUNCTION Busqueda
Public RetVal := .F. , nRecCountB := 0, cIndex := "", nVal := 0
Public cProcura:=GetProperty("WIN_1","text_1","Value") // DECLARA A VARIAVEL E GRAVA O VALOR NA VARIAVEL //
nVal:=GetProperty("Win_1","ComboMudaPesq","Value")
dbf->( OrdSetFocus( nVal) )
If Empty ( Win_1.Text_1.Value )
Return
EndIf
Win_1.Grid_1.DeleteAllItems
Win_1.StatusBar.Item(1) := ' Aguarde...... Localizando Registros... Podendo Demorar... '
WAIT WINDOW "Aguarde..... Localizando Registros... Podendo Demorar..." NOWAIT
Do Case
Case nVal = 1
cIndex := "DBF->MUN"
Case nVal = 2
cIndex := "DBF->UF"
Endcase
If DbSeek(AllTrim(Win_1.Text_1.Value))
RetVal := .T.
Do While Upper(&cIndex) = AllTrim(Win_1.Text_1.Value)
nRecCountB++
Win_1.Grid_1.AddItem ( { DBF->NB , DBF->NOME, DBF->MUN, DBF->UF, DBF->CPF, DBF->DDD, DBF->TEL, DBF->DTIND, DBF->NASC } )
Skip
EndDo
WAIT CLEAR
RetVal := .T.
Win_1.StatusBar.Item(1) := AllTrim(Str(nRecCountB)) + ' - Registros Localizados com Sucesso !!! Para Gravar em Arquivo, Clique no Botão Exportar.'
MsgInfo( AllTrim(Str(nRecCountB)) + ' - Registros Localizados com Sucesso !!! ' + Chr(13) + ' Para Gravar em Arquivo, Clique no Botão Exportar.', [Registros Localizados])
Win_1.BotaoExportar.Enabled:=.T.
Else
Win_1.StatusBar.Item(1) := ' Registros não Localizados'
WAIT CLEAR
MsgStop( ' R e g i s t r o s n ã o L o c a l i z a d o s !!! ' + Chr(13) + ;
' Faça uma nova pesquisa para localizar o que deseja.', [Registros não Localizados])
Win_1.BotaoExportar.Enabled :=.F.
Win_1.BotaoPasta.Enabled :=.F. // DESABILITA O BOTAO DA PASTA //
EndIf
Return
*------------------------------------------------------------------------------*
* FUNCAO EXPORTACAO
*------------------------------------------------------------------------------*
Function Exportar()
PUBLIC nRecCountE := 0, AndProgresso := 0, PercProgresso := 0, CentoProgresso := 0
PUBLIC cPastaArq := GetCurrentFolder() + "\ARQUIVOS", cPastaSgf := GetCurrentFolder()
Win_1.BotaoPasta.Enabled :=.t. // DESABILITA O BOTAO DA PASTA //
CentoProgresso := nRecCountB / 100
AndProgresso := nRecCountB / 100
Win_1.StatusBar.Item(1) := ' Aguarde...... Exportando ' + AllTrim(Str(nRecCountB)) + ' Registros para o arquivo: ' + cProcura + ".CSV"
WAIT WINDOW "Aguarde..... Exportando " + AllTrim(Str(nRecCountB)) + ' Registros... Podendo Demorar...' NOWAIT
SET DEFAULT TO "&cPastaArq"
SET DEVICE TO PRINTER
SET PRINTER TO (cProcura + ".CSV")
@ PROW() ,000 SAY CHR(34) + "BENEFICIO" + CHR(34) + ";" ;
+ CHR(34) + "NOME" + CHR(34) + ";" ;
+ CHR(34) + "DATA NASCIMENTO" + CHR(34) + ";" ;
+ CHR(34) + "CPF" + CHR(34) + ";" ;
+ CHR(34) + "NIT" + CHR(34) + ";" ;
+ CHR(34) + "ESPECIE" + CHR(34) + ";" ;
+ CHR(34) + "DATA REQUERIMENTO" + CHR(34) + ";" ;
+ CHR(34) + "DESPACHO" + CHR(34) + ";" ;
+ CHR(34) + "AG.INSS CONECESSAO" + CHR(34) + ";" ;
+ CHR(34) + "AG.INSS INDEFERIM." + CHR(34) + ";" ;
+ CHR(34) + "MOTIVO INDEFERIM." + CHR(34) + ";" ;
+ CHR(34) + "MOTIVO INDEFERIM.2" + CHR(34) + ";" ;
+ CHR(34) + "DATA INDEFERIM." + CHR(34) + ";" ;
+ CHR(34) + "ENDERECO" + CHR(34) + ";" ;
+ CHR(34) + "BAIRRO" + CHR(34) + ";" ;
+ CHR(34) + "CEP" + CHR(34) + ";" ;
+ CHR(34) + "MUNICIPIO" + CHR(34) + ";" ;
+ CHR(34) + "UF" + CHR(34) + ";" ;
+ CHR(34) + "DDD" + CHR(34) + ";" ;
+ CHR(34) + "TELEFONE" + CHR(34)
@ PROW()+1,000 SAY ""
If DbSeek(AllTrim(Win_1.Text_1.Value))
Do While Upper(&cIndex) = AllTrim(Win_1.Text_1.Value)
nRecCountE++
IF nRecCountE > ANDPROGRESSO
AndProgresso := CENTOPROGRESSO + NRecCountE
Win_1.BarraProgresso.value := AndProgresso / NrecCountB * 100
else
ENDIF
@ PROW() ,000 SAY CHR(34) + NB + CHR(34) + ";" ;
+ CHR(34) + NOME + CHR(34) + ";" ;
+ CHR(34) + NASC + CHR(34) + ";" ;
+ CHR(34) + CPF + CHR(34) + ";" ;
+ CHR(34) + NIT + CHR(34) + ";" ;
+ CHR(34) + ESP + CHR(34) + ";" ;
+ CHR(34) + DER + CHR(34) + ";" ;
+ CHR(34) + DESP + CHR(34) + ";" ;
+ CHR(34) + CONC + CHR(34) + ";" ;
+ CHR(34) + IND + CHR(34) + ";" ;
+ CHR(34) + MOTIND + CHR(34) + ";" ;
+ CHR(34) + MOTINDS + CHR(34) + ";" ;
+ CHR(34) + DTIND + CHR(34) + ";" ;
+ CHR(34) + END + CHR(34) + ";" ;
+ CHR(34) + BAIRRO + CHR(34) + ";" ;
+ CHR(34) + CEP + CHR(34) + ";" ;
+ CHR(34) + MUN + CHR(34) + ";" ;
+ CHR(34) + UF + CHR(34) + ";" ;
+ CHR(34) + DDD + CHR(34) + ";" ;
+ CHR(34) + TEL + CHR(34)
@ PROW()+1,000 SAY ""
Skip
EndDo
Endif
SET PRINTER TO
SET DEFAULT TO "&cPastaSgf"
WAIT CLEAR
Win_1.StatusBar.Item(1) := AllTrim(Str(nRecCountE)) + ' - Registros Exportados com sucesso para o arquivo: ' + cProcura + ".CSV" + ' - Para consultá-los clique no Botão "Arquivos".'
MsgInfo( AllTrim(Str(nRecCountE)) + " - Registros Exportados com sucesso para o arquivo: " + Chr(13) + cProcura + ".CSV" + ' - Para consultá-los clique no Botão "Arquivos".', [Registros Exportados])
Win_1.BarraProgresso.value := 0
Win_1.Text_1.SetFocus // POSICIONAR O MOUSE NO GET TEXT_1 //
Return
*------------------------------------------------------------------------------*
* FUNCAO BOTAO PASTA DE ARQUIVOS
*------------------------------------------------------------------------------*
Function Pasta()
RUN Explorer "&cPastaArq"
Return
*------------------------------------------------------------------------------*
* FUNCAO REINDEXAR
*------------------------------------------------------------------------------*
Function REINDEXAR()
CLOSE ALL
REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )
DBUSEAREA(.T.,,"SGF.dbf","dbf",,.f.)
WAIT WINDOW "Aguarde..... Reindexando Arquivos... Podendo Demorar..." NOWAIT
dbf->(OrdCreate("SGF.cdx" , "Muncipio" , "dbf->mun" ,{|| dbf->mun } ))
dbf->(OrdCreate("SGF.cdx" , "UF" , "dbf->nb" ,{|| dbf->uf } ))
WAIT CLEAR
MsgBox( "Arquivos Reindexados com Sucesso !!!" + CHR(13) + "Continue Trabalhando...", [Arquivos Reindexados] )
CLOSE ALL
Return