Estou criando agora meu cadastro de clientes e ao compilar me aparece o seguinte erro:
D:/Vnomad/nomadcli.prg(807) Error E0030 Syntax error "syntax error at '.'"
A rotina que contem esta linha serve pra gravar os dados do formulario no banco de dados a linha é esta:
clinomad->nomecli := inclui_cli.pnome_cli.value
Vou postar a rotina completa para uma melhor avalição, em tempo a rotina em questao esta ainda sendo feita, portanto alguns erros grotescos podem aparecer, tipo nome do arquivo dbf, o meu arquivo de clientes se chama clinomad, em alguns locais esta citado o nome clientes para o arquivo de clientes, isto pq copiei esta rotina de outro sistema.
#include "hmg.ch"
static lGridFreeze := .T.
Func Clientes()
Local aValue := { Nil , Nil }
* DynamicBackColor
Private bColor := { || if ( This.CellRowIndex/2 == int(This.CellRowIndex/2) , { 200,200,200 } , { 255,255,255 } ) }
* Grid Column Controls Definitions
aCtrl_1 := {'TEXTBOX','CHARACTER'}
aCtrl_2 := {'TEXTBOX','CHARACTER'}
aCtrl_3 := {'TEXTBOX','CHARACTER'}
aCtrl_4 := {'TEXTBOX','CHARACTER'}
aCtrl_5 := {'TEXTBOX','CHARACTER'}
aCtrl_6 := {'TEXTBOX','CHARACTER'}
DEFINE WINDOW Form_Cli ;
AT 0,0 ;
WIDTH 800 ;
HEIGHT 510 ;
TITLE 'Cadastro de Clientes' ;
modal;
nosize;
on init Pesq_Cli()
DEFINE SPLITBOX
DEFINE TOOLBAR oBar BUTTONSIZE 042, 042 FLAT
BUTTON oBtb1 ;
CAPTION 'Novo';
PICTURE cPathImagem+"inclui_ico.bmp" ;
ACTION inclui_cli() TOOLTIP "Inclui"
BUTTON oBtb2 ;
CAPTION 'Alt.';
PICTURE cPathImagem+"altera_ico.bmp" ;
ACTION NIL TOOLTIP "Altera"
BUTTON oBtb3 ;
CAPTION 'Exc.';
PICTURE cPathImagem+"exclui_ico.bmp" ;
ACTION NIL TOOLTIP "Exclui"
BUTTON oBtb4 ;
CAPTION 'Imp.';
PICTURE cPathImagem+"printer_ico.bmp" ;
ACTION NIL TOOLTIP "Imprime"
END TOOLBAR
END SPLITBOX
define label lbl_pesquisa
col 011
row 440
width 140
value 'Digite sua pesquisa'
fontname 'tahoma'
fontsize 10
fontbold .F.
transparent .T.
end label
@ 440,125 textbox txt_pesquisa;
width 495;
tooltip 'Digite o começo do nome que deseja encontrar';
size 10;
fontcolor BLACK;
maxlength 40;
uppercase;
on change {|| Pesq_Cli()}
WORKAREA CLINOMAD
@ 070,010 grid grid_cli;
of form_cli;
width 770;
height 348;
HEADERS {'Razão Social','Nome Fantasia','Telefone','Fax','C.N.P.J.','C.N.P.F'} ;
WIDTHS {300,140,140,100,100,100};
DYNAMICBACKCOLOR { bColor , bColor , bColor, bColor, bColor, bColor }
on key F1 action SuporteTecnico()
on key F2 action Calculadora()
on key F3 action Calendario()
END WINDOW
CENTER WINDOW Form_Cli
ACTIVATE WINDOW Form_Cli
Return
*________________________________________________________________________________________________
*________________________________________________________________________________________________
function Pesq_Cli()
local cPesq := upper(alltrim(form_cli.txt_pesquisa.value))
local nTamanhoNomeParaPesquisa := len(cPesq)
local nQuantRegistrosProcessados := 0
dbselectarea('clinomad')
ordsetfocus('NOME_CLI')
dbseek(cPesq)
if lGridFreeze
form_cli.grid_cli.disableupdate
endif
delete item all from grid_cli of form_cli
while .not. eof()
if substr(field->NOME_CLI,1,nTamanhoNomeParaPesquisa) == cPesq
nQuantRegistrosProcessados += 1
add item {clinomad->nome_cli,clinomad->fant_cli,clinomad->tele_cli,clinomad->faxx_cli,clinomad->cnpj_cli,cnpf_cli} to grid_cli of form_cli
elseif substr(field->NOME_CLI,1,nTamanhoNomeParaPesquisa) > cPesq
exit
endif
dbskip()
end
if lGridFreeze
form_cli.grid_cli.enableupdate
endif
return(nil)
*________________________________________________________________________________________________
function Refresh_Cliente()
delete item all from grid_cli of form_cli
dbselectarea('clinomad')
ordsetfocus('nome_cli')
clinomad->(dbgotop())
while .not. eof()
add item {clinomad->nome_cli,clinomad->fant_cli,clinomad->tele_cli,clinomad->faxx_cli,clinomad->cnpj_cli,cnpf_cli} to grid_cli of form_cli
dbskip()
end
return(nil)
*________________________________________________________________________________________________
func Inclui_cli
Define WINDOW cli_inclui ;
AT 0, 0 ;
WIDTH 820 ;
HEIGHT 600 ;
TITLE "Cadastro de Clientes" ;
icon cPathImagem+'display.ico';
modal;
nosize;
DEFINE TAB oFld8 ;
AT 010, 010 ;
WIDTH 766 ;
HEIGHT 484 ;
VALUE 1 ;
font 'tahoma' size 10;
PAGE "Cadastro"
*__________________
DEFINE LABEL lbl_nome_cli
ROW 042
COL 013
WIDTH 126
HEIGHT 26
VALUE "Razão Social"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX pnome_cli
ROW 042
COL 158
WIDTH 594
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite Nome do Cliente"
VALUE ""
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_cnpj_cli
ROW 072
COL 013
WIDTH 126
HEIGHT 26
VALUE "CNPJ:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_cnpj_cli
ROW 072
COL 158
WIDTH 144
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite CNPJ do Cliente"
INPUTMASK "99.999.999/9999-99"
VALUE ""
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_ince_cli
ROW 072
COL 525
WIDTH 126
HEIGHT 26
VALUE "Incr. Estadual:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_ince_cli
ROW 072
COL 608
WIDTH 144
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite Incrição Estadual do Cliente"
INPUTMASK "99.999.999/9999-99"
VALUE ""
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_cnpf_cli
ROW 102
COL 013
WIDTH 126
HEIGHT 020
VALUE "C.P.F.:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_cnpf_cli
ROW 072
COL 158
WIDTH 144
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite CPF do Cliente"
INPUTMASK "999.999.999-99"
VALUE ""
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_rgee_cli
ROW 102
COL 529
WIDTH 126
HEIGHT 020
VALUE "R.G.:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_rgee_cli
ROW 102
COL 608
WIDTH 144
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite R.G. do Cliente"
UPPERCASE .T.
MAXLENGTH 15
VALUE ""
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_ende_cli
ROW 132
COL 013
WIDTH 126
HEIGHT 020
VALUE "Endereço:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_ende_cli
ROW 132
COL 158
WIDTH 490
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite O endereço do Cliente"
VALUE ""
MAXLENGTH 60
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_nume_cli
ROW 132
COL 663
WIDTH 020
HEIGHT 020
VALUE "Nº:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_nume_cli
ROW 132
COL 692
WIDTH 060
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o numero do Cliente"
VALUE ""
MAXLENGTH 06
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_comp_cli
ROW 162
COL 013
WIDTH 126
HEIGHT 020
VALUE "Complemento:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_comp_cli
ROW 162
COL 159
WIDTH 159
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o numero do Cliente"
VALUE ""
MAXLENGTH 60
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_bair_cli
ROW 162
COL 399
WIDTH 062
HEIGHT 020
VALUE "Bairro:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_bair_cli
ROW 162
COL 464
WIDTH 288
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o bairro do Cliente"
VALUE ""
MAXLENGTH 60
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_muni_cli
ROW 192
COL 013
WIDTH 110
HEIGHT 020
VALUE "MunicÃpio:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_muni_cli
ROW 192
COL 159
WIDTH 221
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o municÃpio do Cliente"
VALUE ""
MAXLENGTH 40
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_cepe_cli
ROW 192
COL 399
WIDTH 062
HEIGHT 020
VALUE "CEP:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_cepe_cli
ROW 192
COL 464
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o CEP do Cliente"
VALUE ""
INPUTMASK '99999-99'
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_esta_cli
ROW 192
COL 658
WIDTH 064
HEIGHT 020
VALUE "Estado:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_esta_cli
ROW 192
COL 726
WIDTH 025
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o estado do Cliente"
VALUE ""
MAXLENGTH 02
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_repr_cli
ROW 222
COL 013
WIDTH 142
HEIGHT 020
VALUE "Representante:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_repr_cli
ROW 222
COL 159
WIDTH 212
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o Representante do Cliente"
VALUE ""
MAXLENGTH 40
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_cont_cli
ROW 222
COL 399
WIDTH 065
HEIGHT 020
VALUE "Contato:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_cont_cli
ROW 222
COL 470
WIDTH 282
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o contato do Cliente"
VALUE ""
MAXLENGTH 06
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_tele_cli
ROW 252
COL 013
WIDTH 102
HEIGHT 020
VALUE "Telefone:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_tele_cli
ROW 252
COL 159
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o telefone do Cliente"
VALUE ""
MAXLENGTH 14
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_celu_cli
ROW 252
COL 331
WIDTH 070
HEIGHT 020
VALUE "Celular:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_celu_cli
ROW 252
COL 412
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o celular do Cliente"
VALUE ""
MAXLENGTH 14
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_faxx_cli
ROW 252
COL 582
WIDTH 045
HEIGHT 020
VALUE "Fax:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_faxx_cli
ROW 252
COL 632
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o numero do Cliente"
VALUE ""
MAXLENGTH 06
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_crtc_cli
ROW 282
COL 013
WIDTH 062
HEIGHT 020
VALUE "C.R.T.:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_crtc_cli
ROW 282
COL 159
WIDTH 019
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o CRT do Cliente"
VALUE ""
MAXLENGTH 01
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_sufr_cli
ROW 282
COL 190
WIDTH 070
HEIGHT 020
VALUE "Suframa:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_sufr_cli
ROW 282
COL 260
WIDTH 090
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o numero do Cliente"
VALUE ""
MAXLENGTH 06
INPUTMASK '999999999'
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_codm_cli
ROW 282
COL 375
WIDTH 042
HEIGHT 020
VALUE "CMB:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_codm_cli
ROW 282
COL 417
WIDTH 102
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o CMB do Cliente"
VALUE ""
MAXLENGTH 07
INPUTMASK '9999999'
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_dtcd_cli
ROW 282
COL 534
WIDTH 083
HEIGHT 020
VALUE "Data Cad.:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_dtcd_cli
ROW 282
COL 634
WIDTH 117
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite a data de cadastro do Cliente"
VALUE ""
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_pais_cli
ROW 312
COL 013
WIDTH 070
HEIGHT 020
VALUE "Pais:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_pais_cli
ROW 312
COL 159
WIDTH 264
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o numero do Cliente"
VALUE ""
MAXLENGTH 50
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_copa_cli
ROW 312
COL 541
WIDTH 075
HEIGHT 020
VALUE "Cod.Pais:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_copa_cli
ROW 312
COL 631
WIDTH 120
HEIGHT 020
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o código do pais do Cliente"
VALUE ""
MAXLENGTH 06
UPPERCASE .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_emai_cli
ROW 342
COL 013
WIDTH 078
HEIGHT 020
VALUE "Email:"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_emai_cli
ROW 342
COL 159
WIDTH 591
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o numero do Cliente"
VALUE ""
MAXLENGTH 60
LOWERCASE .T.
END TEXTBOX
*__________________
@ 372, 019 FRAME oGrp1 ;
CAPTION "Observacoes" ;
WIDTH 731 ;
HEIGHT 098 ;
FONT "Tahoma" SIZE 10;
FONTCOLOR { 000, 000, 000 }
BACKCOLOR { 252, 252, 254 }
END PAGE
PAGE "Dados Adicionais"
END PAGE
END TAB
@ 520, 275 BUTTON oBut1 ;
CAPTION "Salvar " ;
picture cPathImagem+'ok.bmp' LEFT;
WIDTH 100 HEIGHT 030 ;
FONT "Ms Sans Serif" SIZE 009
@ 520, 475 BUTTON oBut2 ;
CAPTION "Cancelar " ;
picture cPathImagem+'cancela.bmp' LEFT;
WIDTH 100 HEIGHT 030 ;
FONT "Ms Sans Serif" SIZE 009
END WINDOW
CENTER WINDOW OfORM5
ACTIVATE WINDOW oForm5
Return NIL
*________________________________________________________________________________________________
function Grava_Cliente(pModo)
//pModo = 1 (inclusão)
//pModo = 2 (alteração)
if pModo == 1
dbselectarea('CLINOMAD')
********
if lDemo
if reccount() > nLimite_DEMO
msgexclamation('Limite de informações da cópia DEMO esgotado','Atenção')
return(nil)
endif
endif
*****
clinomad->(dbappend())
clinomad->nome_cli := inclui_cli.pnome_cli.value
clinomad->(dbcommit())
clinomad->(dbgotop())
form_inclui.release
Refresh_Cliente()
elseif pModo == 2
dbselectarea('clinomad')
if LockReg()
clinomad->nome_cli := form_altera.oGet_nome_cli.value
clinomad->(dbcommit())
clinomad->(dbunlock())
endif
form_altera.release
Refresh_Cliente()
endif
return(nil)
Uma outra duvida, a IDE HMG e 100% compativel com a LIB Minigui?, tanto faz eu colocar #include "hmg.ch" ou #include "minigui.ch" visto que eu estou usando a HMG apenas pra compilar meu aplicativo.
Instalei a minigui extended aqui, poderiam me dar um exemplo de como compilar nesta lib visto que ate o momento tenho os seguintes Prgs no meu sistema Vnomad.prg, Nomadfun.prg, Nomadcli.prg.
Sei que é uma pergunta meio boba mas qual Control e melhor, grid ou browse?
A rotina de grid que eu coloquei neste exemplo acima faz busca letra a letra, mas quando tento colocar o dinamic background (fundo zebrado) nela o grid fica piscando e demora pra carregar os dados da tabela, seria algum comando que esqueci de por na rotina?
Existe alguma apostila com os comando da minigui, tipo o ng do clipper? pode ser em ingles
Coloquei o arquivo dbf caso precisem aquihttp://www.oscarafeia.com.br/clinomad.rar
Bom pessoal, por enquanto é só, mais uma vez muito obrigado pela ajuda que venho tendo dos amigos do forum.