fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 luiz essa é a funçao que vai cahmara a tela principal de stores onde vai ter o botao novo altera deleta imprime sair e a listview ela estácom a codificaçao que voce me passou nao alterei muita coisa ainda nao.... Local cNome:=Space(40), cEnde:=Space(55), oGet[2] Define Dialog oDLG RESOURCE "SETORESPRINCIPAL" Title "Cadastramento/Manutenção de Setores/Locais" Redefine ListBox Olbx Fields Setor->Nome,Setor->Endereço; Headers "NOME","Endereco" ID 4001 oF oDLG ; On change PegaDados(cNome,cEndereco,oget) Redefine Get oGet[1] Var cNome ID of odlg Redefine Get oGet[2] Var cEnde ID od odlg Redefine BTNBMP obtn3 Prompt "" RESOURCE "NOVO","NOVO2"; ID 4002 of oDLG Action SETORES_PRINCIPAL_BOTAONOVO(oDLG) Redefine BTNBMP obnt1 Prompt "Altera" RESOURCE "ALTERA1" Right ; ID 4003 of oDLG Action SETORES_PRINCIPAL_BOTAOALTERA(oDLG) Redefine BTNBMP obnt1 Prompt "DELETA" RESOURCE "DEL1" Right; ID 4004 of oDLG Action SETORES_PRINCIPAL_BOTALDELETA(oDLG) Redefine BTNBMP obnt1 Prompt "Procura" RESOURCE "PROCURA" Right; ID 4005 of oDLG Action SETORES_PRINCIPAL_BOTAOPROCURA(oDLG) Redefine BTNBMP obnt1 Prompt "Imprime" RESOURCE "PRINT" Right; ID 4006 of oDLG Redefine BTNBMP obnt2 Prompt "Sair" RESOURCE "EXIT","EXIT2" RIGHT; ID 4007 of oDLG Action oDLG:end() Activate Dialog oDLG CENTERED Return Nilid=code>id=code>e criei outras funçoes para chamr telas do botao novo altera.... tendeu os gets que voce mepassou que nao estou entendendo, que devo fazer sendo que so há a listview e os botoes nao tela Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 Eu é que não to entendendo o que vc. não está entendendo.. Se vc. fez chamada para outra dialog os controles tem que estar nela Por exemplo; vc. fez uma chamada para SETORES_PRINCIPAL_BOTAONOVO(oDLG) então os gets tem que estar lá nela... * Function SETORES_PRINCIPAL_BOTAONOVO(oDLG) cNome=Nome cEnde=Endereco Define Dialog odlg2 Resource "Sua Nova Dialog " * Redefine Get oGet Var cNOme ID Redefine Get oGet Var cEnde ID * Redefine Button obtn prompt "Salvar" ID Action SalvaAlteracao(cNome,cEnde) Redefine Button obtn Prompt "Voltar" ID Action odlg2:end() * Activate Dialog odlg2 Return .t. //------------------------ Function SalvaAlteracao(cNome,cEnde) Replace Nome with cNome, Endereco With cEnde Return .t. id=code>id=code>Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 entao luiz quero pegar os dados salvo nessa tela do botao novo e jogar na listview q esta na principal entendeu? ai o usuario dando odois cliques sobre o item do listview vai aparecer a tela de alteraçao entendeu? e é isso que to querendo aprender codigo da funçao botaonovo Private cCodigo:=0;cNome:=Space(50);cDescricao:=Space(100) Select 1 Use SETOR Define Dialog oDLG RESOURCE "SETORESPRINCNOVO" Title "Inclusão de Novo Setor / Local" Redefine Get oGet Var cCodigo ID 4005 Picture "99.999" Redefine Get oGet Var cNome ID 4006 Picture "@!" Redefine Get oGet Var cDescricao ID 4007 Picture "!@" Redefine BTNBMP obnt1 Prompt "" RESOURCE "GRAVA"; ID 4008 of oDLG Action Gravar() Redefine BTNBMP obtn2 Prompt "" RESOURCE "EXIT","EXIT2"; ID 4009 of oDLG Action oDLG:end() Activate Dialog oDLG CENTERED Return Nil Function Gravar() Replace CODIGO with cCodigo,NOME with cNOme,DESCRICAO with cDESCRICAO commit unlock all return .t.id=code>id=code>valews Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Editado por - fabin01 on 18/08/2009 09:45:54 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 Veja se é isto.. oLbx:bLDblClick := {|| ChamaSuaFunction(olbx)} Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 este comando seria para que luiz?? to querendo que os itens salvos na tabela setor apareça no listview... esse comando vai fazer isso? Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 Ai seria o Redefine ListBox como está + acima, vc. mesmo já postou um exemplo com o Redefine ListBox, o que tá acontecendo não mostra os registro na tela ?? Ponha uma imagem da tela, quem sabe entendo o que tá acontendo.. Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 citação:Ai seria o Redefine ListBox como está + acima, vc. mesmo já postou um exemplo com o Redefine ListBox, o que tá acontecendo não mostra os registro na tela ?? Ponha uma imagem da tela, quem sabe entendo o que tá acontendo.. Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> id=quote>id=quote>esta dando este erro parse error at 'ListBox' o codigo da funçao que chama a tela Function SETORES_PRINCIPAL(oDLG)Local cNome:=Space(40), cEnde:=Space(55), oGet[2]Define Dialog oDLG RESOURCE "SETORESPRINCIPAL" Title "Cadastramento/Manutenção de Setores/Locais"Redefine BTNBMP obtn3 Prompt "" RESOURCE "NOVO","NOVO2";ID 4002 of oDLG Action SETORES_PRINCIPAL_BOTAONOVO(oDLG) Redefine BTNBMP obnt1 Prompt "Altera" RESOURCE "ALTERA1" Right ;ID 4003 of oDLG Action SETORES_PRINCIPAL_BOTAOALTERA(oDLG) Redefine BTNBMP obnt1 Prompt "DELETA" RESOURCE "DEL1" Right;ID 4004 of oDLG Action SETORES_PRINCIPAL_BOTALDELETA(oDLG) Redefine BTNBMP obnt1 Prompt "Procura" RESOURCE "PROCURA" Right;ID 4005 of oDLG Action SETORES_PRINCIPAL_BOTAOPROCURA(oDLG) Redefine BTNBMP obnt1 Prompt "Imprime" RESOURCE "PRINT" Right;ID 4006 of oDLGRedefine BTNBMP obnt2 Prompt "Sair" RESOURCE "EXIT","EXIT2" RIGHT;ID 4007 of oDLG Action oDLG:end()Redefine ListBox olbx Fields Setor->Nome,Setor->Endereço;Headers "NOME","Endereco" ID 4001 oF oDLG;Activate Dialog oDLG CENTERED erro --> aponta essa linhaid=red>Return Nil[/cod]Obrigado pela ATENÇÃO e AJUDA!"O homem deve criar as oportunidades e não somente encontrá-las."Fábio Igor (BH-MG)fabio.igor@hotmail.comInicianteFWH 2.8[x]Harbour 9.61xdev 0.70Pelles C Quote Link to comment Share on other sites More sharing options...
Luisão Posted August 18, 2009 Report Share Posted August 18, 2009 Tira esse ponto e vÃrgula que está depois de 'OF ODLG' da linha acima da linha do erro. Tá faltando um pouco de lógica de programação e analisar primeiro o que você precisa. Creio que você está querendo ir muito depressa e perdendo muitos conceitos. Veja este exemplo de um programa rodando (com todos os fontes inclusos): http://www.fivewin.com.br/exibedicas.asp?id=1001 Luis Fernando Jr.(Luisão) "Seize the day or die regretting the time you lost" FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 Headers "NOME","Endereco" ID 4001 oF oDLG;id=red> Retire o ;id=red> do final... Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 Luisão -- desculpe ai mas acho que passar um programa usando Minigui como exemplo vai complicar + ainda a cabeça dele.. Abraços.. Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 aponta para mesma linha ma sagora o erro é id=code>id=code>brtoher nao to indo depressa nao; o que quero somente é colocar dados do bd em uma listview isso acho que deve ser bem simples ou nao? valews Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 Zipa tudo e me manda... mas antes renomeia o exe para EX_ meu email não recebe executaveis... Já já vamos ver o que tá ocorrendo.. Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
Luisão Posted August 18, 2009 Report Share Posted August 18, 2009 Luiz, o que eu quis dizer é mais para pegar os conceitos dos tratamentos que fazemos no FiveWin em relação a arquivos e telas por exemplo. Na criação dos controles, aà não tem como mesmo. Eu uso @SAY, vocês usam recursos, então aà vai de cada um mesmo. Mas por exemplo: telas de cadastro, geralmente você traz uma tela com todos os registros (LISTBOX) e através dela você chama uma outra função/tela com os dados para visualização(GETs). O que quero dizer é que dá para padronizar isso, que é a maneira mais simples de se trabalhar. (Posso estar enganado, mas acho que é aà que o Fábio está se "perdendo"). Do Listbox, você chama uma função passando um parâmetro para sua função: Visualiza( cTipo ) Essa função visualiza é a tela com todos os campos em GETs. cTipo = 'A' = Alteração / Habilita GETs Necessários cTipo = 'E' = Exclusão / Desabilita todos os GETs cTipo = 'I' = Inclusão / Habilita GETs Necessários cTipo = 'V' = Visualização / Desabilita todos os GETs Desculpa se estou falando coisas que já foram ditas, pois não estou acompanhando de perto as "aulas", mas era isso o que eu tinha pra dizer. =D Luis Fernando Jr.(Luisão) "Seize the day or die regretting the time you lost" FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY Quote Link to comment Share on other sites More sharing options...
Luisão Posted August 18, 2009 Report Share Posted August 18, 2009 Vou chutar o que é esse parser erro 'O' Acho que era algum OF oDLG que você tirou o F por engano... Me parece que é isso já que no código que você postou não tem a letra O perdida em nenhum lugar =D Luis Fernando Jr.(Luisão) "Seize the day or die regretting the time you lost" FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 luizao o que eu quero saber é como vou chamra dados salvos de uma tela em uma listview entendeu? luiz ja enviei para seu email valews Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Editado por - fabin01 on 18/08/2009 13:34:36 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 citação:Luiz, o que eu quis dizer é mais para pegar os conceitos dos tratamentos que fazemos no FiveWin em relação a arquivos e telas por exemplo. Na criação dos controles, aà não tem como mesmo. Eu uso @SAY, vocês usam recursos, então aà vai de cada um mesmo. Mas por exemplo: telas de cadastro, geralmente você traz uma tela com todos os registros (LISTBOX) e através dela você chama uma outra função/tela com os dados para visualização(GETs). O que quero dizer é que dá para padronizar isso, que é a maneira mais simples de se trabalhar. (Posso estar enganado, mas acho que é aà que o Fábio está se "perdendo"). Do Listbox, você chama uma função passando um parâmetro para sua função: Visualiza( cTipo ) Essa função visualiza é a tela com todos os campos em GETs. cTipo = 'A' = Alteração / Habilita GETs Necessários cTipo = 'E' = Exclusão / Desabilita todos os GETs cTipo = 'I' = Inclusão / Habilita GETs Necessários cTipo = 'V' = Visualização / Desabilita todos os GETs Desculpa se estou falando coisas que já foram ditas, pois não estou acompanhando de perto as "aulas", mas era isso o que eu tinha pra dizer. =D Luis Fernando Jr.(Luisão) "Seize the day or die regretting the time you lost" FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY id=quote>id=quote>Realmente.. eu tb. tinha entendido isso, mas ficamos dando voltas até enrrolar o meio de campo.. eu não sabia mas explicar e ele não conseguia mas entender.. e toma voltas.. e eu quase pinel Acho que agora vai... Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
Luisão Posted August 18, 2009 Report Share Posted August 18, 2009 Fábio, vou tentar explicar meio por cima: Essa função que está abaixo, eu chamo ela de um LISTBOX (Duplo-clique, ENTER ou um Botão Selecionar) Eu passo um parâmetro para ela (cOp, que seria o que eu expliquei anteriormente) O que eu faço é carregar os dados do Cliente em variáveis e depois fazer todos os tratamentos necessários com base nessas variáveis. Veja o código: FUNCTION MANUTCL(cOP) //OBJETOS PRIVATE oMTCL PRIVATE oCOMBOP:=NIL PRIVATE oCOMBOUF:=NIL PRIVATE oCAD:=NIL PRIVATE oCLACEITAR:=NIL PRIVATE oCLCANCELAR:=NIL PRIVATE oCLCOD:=NIL PRIVATE oCLNOME:=NIL PRIVATE oCLTEL:=NIL PRIVATE oCLCEL:=NIL PRIVATE oCLFAX:=NIL PRIVATE oCLCEP:=NIL PRIVATE oCLEND:=NIL PRIVATE oCLBAIR:=NIL PRIVATE oCLCID:=NIL PRIVATE oCDBC:=NIL PRIVATE oNOMEBC:=NIL PRIVATE oPBC:=NIL //MATRIZES PRIVATE aCLUF:={' ','AC','AM','AP','BA','CE','DF','ES','GO','MA','MG','MS','MT','PA','PE','PI','PR','RJ','RN','RO','RR','RS','SC','SE','SP','TO'} PRIVATE aBC:={} //NUMÉRICOS PRIVATE nCLUF:= 1 //INDICE DO COMBO DA UF PRIVATE nCLCOD:= CLCDCL PRIVATE nCLCEP:= CLECEP PRIVATE i:=1 PRIVATE nIBC:=1 PRIVATE nCDBC:=CLBCPG //STRINGS PRIVATE sCLNOME:=CLNOME PRIVATE sCLTEL:= CLTELE PRIVATE sCLFAX:= CLNFAX PRIVATE sCLCEL:= CLNCEL PRIVATE sCLEND:= CLERUA PRIVATE sCLBAIR:=CLEBAI PRIVATE sCLESTA:=CLEEST PRIVATE sCLCID:= CLECID PRIVATE sNOMEBC:='' *////////////////////////////* *///////TELA CADASTROS///////* *////////////////////////////* define DIALOG oMTCL from 01,01 to 400,600 title 'Cadastro de Clientes'; COLOR 255 pixel ICON cICO //FRAME DADOS NECESSARIOS @ 5,5 TO 160, 295 LABEL 'Dados Necessários' OF oMTCL pixel FONT oFONT2 @ 15,15 SAY ANSITOOEM('Código:') of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 12,75 GET oCLCOD VAR nCLCOD of oMTCL size 50,12 FONT oFONT1 pixel; VALID PESQUISA(nCLCOD) // oCLCOD:bGOTFOCUS := { || oCLCOD:SETCOLOR(0,12314866) } // oCLCOD:bLOSTFOCUS:= { || oCLCOD:SETCOLOR(oCLCOD:nCLRDEF()) } @ 30,15 SAY 'Nome:' of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 27,75 GET oCLNOME VAR sCLNOME of oMTCL size 200,12 FONT oFONT1 pixel // oCLNOME:bGOTFOCUS := { || oCLNOME:SETCOLOR(0,12314866) } // oCLNOME:bLOSTFOCUS:= { || oCLNOME:SETCOLOR(oCLNOME:nCLRDEF()) } @ 45,15 SAY 'Cidade:' of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 42,75 GET oCLCID VAR sCLCID of oMTCL size 70,12 FONT oFONT1 pixel // oCLCID:bGOTFOCUS := { || oCLCID:SETCOLOR(0,12314866) } // oCLCID:bLOSTFOCUS:= { || oCLCID:SETCOLOR(oCLCID:nCLRDEF()) } @ 45,150 SAY ANSITOOEM('Cód. Banco') of oMTCL SIZE 35,12 FONT oFONT2 RIGHT pixel @ 42,190 BUTTON oPBC PROMPT '...' OF oMTCL SIZE 15,12; FONT oFONT3 ACTION (PBANCO('CL'),oCLTEL:SETFOCUS()) CANCEL PIXEL @ 42,210 GET oCDBC VAR nCDBC of oMTCL size 65,12 FONT oFONT1 RIGHT pixel; VALID CHBC() oCDBC:bKeyChar := { | nKey, nFlags | KEYCLM(nKey) } // oCDBC:bGOTFOCUS := { || oCDBC:SETCOLOR(0,12314866) } // oCDBC:bLOSTFOCUS:= { || oCDBC:SETCOLOR(oCDBC:nCLRDEF()) } @ 57,150 GET oNOMEBC VAR sNOMEBC of oMTCL size 125,12; FONT oFONT1 CENTER READONLY pixel @ 60,15 SAY 'Telefone:' of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 57,75 GET oCLTEL VAR sCLTEL of oMTCL size 70,12 FONT oFONT1 pixel // oCLTEL:bGOTFOCUS := { || oCLTEL:SETCOLOR(0,12314866) } // oCLTEL:bLOSTFOCUS:= { || oCLTEL:SETCOLOR(oCLTEL:nCLRDEF()) } @ 75,15 SAY 'Fax:' of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 72,75 GET oCLFAX VAR sCLFAX of oMTCL size 70,12 FONT oFONT1 PIXEL // oCLFAX:bGOTFOCUS := { || oCLFAX:SETCOLOR(0,12314866) } // oCLFAX:bLOSTFOCUS:= { || oCLFAX:SETCOLOR(oCLFAX:nCLRDEF()) } @ 90,15 SAY 'Celular:' of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 87,75 GET oCLCEL VAR sCLCEL of oMTCL size 70,12 FONT oFONT1 pixel // oCLCEL:bGOTFOCUS := { || oCLCEL:SETCOLOR(0,12314866) } // oCLCEL:bLOSTFOCUS:= { || oCLCEL:SETCOLOR(oCLCEL:nCLRDEF()) } @ 105,15 SAY 'CEP:' of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 102,75 GET oCLCEP VAR nCLCEP of oMTCL size 70,12 FONT oFONT1 pixel // oCLCEP:bGOTFOCUS := { || oCLCEP:SETCOLOR(0,12314866) } // oCLCEP:bLOSTFOCUS:= { || oCLCEP:SETCOLOR(oCLCEP:nCLRDEF()) } @ 120,15 SAY ANSITOOEM('Endereço:') of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 117,75 GET oCLEND VAR sCLEND of oMTCL size 200,12 FONT oFONT1 pixel // oCLEND:bGOTFOCUS := { || oCLEND:SETCOLOR(0,12314866) } // oCLEND:bLOSTFOCUS:= { || oCLEND:SETCOLOR(oCLEND:nCLRDEF()) } @ 135,15 SAY 'Bairro:' of oMTCL SIZE 55,12 FONT oFONT2 RIGHT pixel @ 132,75 GET oCLBAIR VAR sCLBAIR of oMTCL size 100,12 FONT oFONT1 pixel // oCLBAIR:bGOTFOCUS := { || oCLBAIR:SETCOLOR(0,12314866) } // oCLBAIR:bLOSTFOCUS:= { || oCLBAIR:SETCOLOR(oCLBAIR:nCLRDEF()) } @ 135,180 SAY 'UF' OF oMTCL SIZE 15,12 FONT oFONT2 CENTER PIXEL @ 133,195 COMBOBOX oCLCOMBOUF VAR nCLUF ITEMS aCLUF size 25,12 FONT oFONT1 of oMTCL pixel //BOTAO GRAVAR @ 165,10 BUTTON oCLACEITAR PROMPT '&Gravar' OF oMTCL SIZE 130,20; FONT oFONT3 ACTION (GRAVARCL(cOP),SAIRCL2()) PIXEL //BOTAO CANCELAR @ 165,160 BUTTON oCLCANCELAR PROMPT '&Cancelar' OF oMTCL SIZE 130,20; FONT oFONT3 ACTION (SAIRCL()) PIXEL CANCEL ABRIR(cOP) //WHILE PARA SETAR UF WHILE i<29 IF aCLUF = CLEEST nCLUF:=i i:=30 oCLCOMBOUF:REFRESH() END IF i:=i+1 LOOP END activate dialog oMTCL centered VALID SAIRCL2() RETURN FUNCTION ABRIR(cOP) LOCAL NPOS:=0 IF cOP = 'A' oCLCOD:DISABLE() aBC:=BANCO() //SETAR NOME DO BANCO Npos=ASCAN(aBC,{|X| X[1]=nCDBC }) IF NPOS != 0 sNOMEBC:=aBC[NPOS,2] ELSE sNOMEBC:='' ENDIF END IF IF cOP = 'I' oCLCOD:ENABLE() SET ORDER TO 1 GO BOTTOM nCLCOD:= CLCDCL +1 SKIP + 1 nCLCEP:= CLECEP sCLNOME:=CLNOME sCLTEL:= CLTELE sCLFAX:= CLNFAX sCLCEL:= CLNCEL sCLEND:= CLERUA sCLBAIR:=CLEBAI sCLESTA:=CLEEST sCLCID:= CLECID sCLCID:= CLECID nCDBC:= CLBCPG oCLCOD: REFRESH() oCLNOME:REFRESH() oCLTEL: REFRESH() oCLCEL: REFRESH() oCLFAX: REFRESH() oCLCEP: REFRESH() oCLEND: REFRESH() oCLBAIR:REFRESH() oCLCID: REFRESH() oCDBC: REFRESH() END IF RETURN FUNCTION GRAVARCL(cOP) SET ORDER TO 1 IF cOP = 'I' DBAPPEND() IF NETERR() msginfo('Nao foi possivel incluir um novo registro') ENDIF IF .NOT. sCLNOME = '' .and. .not. sCLNOME = SPACE(LEN(sCLNOME)) REPLACE CLCDCL WITH nCLCOD REPLACE CLNOME WITH ALLTRIM(sCLNOME) REPLACE CLTELE WITH ALLTRIM(sCLTEL) REPLACE CLNFAX WITH ALLTRIM(sCLFAX) REPLACE CLNCEL WITH ALLTRIM(sCLCEL) REPLACE CLERUA WITH ALLTRIM(sCLEND) REPLACE CLEBAI WITH ALLTRIM(sCLBAIR) REPLACE CLECEP WITH nCLCEP REPLACE CLEEST WITH aCLUF[nCLUF] REPLACE CLECID WITH ALLTRIM(sCLCID) REPLACE CLBCPG WITH nCDBC COMMIT MSGINFO("Cadastro realizado com Sucesso!") oLCL:REFRESH() oMTCL:END() ELSE ? 'O campo "Nome" deve ser preenchido' oCLNOME:SETFOCUS() ENDIF END IF IF cOP = 'A' IF RLOCK() REPLACE CLCDCL WITH nCLCOD REPLACE CLNOME WITH ALLTRIM(sCLNOME) REPLACE CLTELE WITH ALLTRIM(sCLTEL) REPLACE CLNFAX WITH ALLTRIM(sCLFAX) REPLACE CLNCEL WITH ALLTRIM(sCLCEL) REPLACE CLERUA WITH ALLTRIM(sCLEND) REPLACE CLEBAI WITH ALLTRIM(sCLBAIR) REPLACE CLECEP WITH nCLCEP REPLACE CLEEST WITH aCLUF[nCLUF] REPLACE CLECID WITH ALLTRIM(sCLCID) REPLACE CLBCPG WITH nCDBC COMMIT oLCL:REFRESH() oMTCL:END() ELSE MSGINFO('Registro não pode ser alterado agora. tente mais tarde!','Erro') END IF END IF RETURN FUNCTION SAIRCL() oDLGCL:REFRESH() oLCL:REFRESH() GO TOP oMTCL:END() RETURN FUNCTION SAIRCL2() oLCL:REFRESH() oDLGCL:REFRESH() RETURN .T. FUNCTION CHBC() LOCAL NPOS:=0 aBC:=BANCO() Npos=ASCAN(aBC,{|X| X[1]=nCDBC }) IF NPOS != 0 sNOMEBC:=aBC[NPOS,2] oNOMEBC:REFRESH() RETURN .T. ELSE sNOMEBC:='' MSGINFO('Banco não cadastrado') nCDBC:=0 oCDBC:SETFOCUS() oCDBC:REFRESH() RETURN .F. ENDIF FUNCTION KEYCLM(TECLA) IF TECLA = -3 PBANCO('CL') ENDIF id=code>id=code>Qualquer duvide, pergunte. Este programa tem uns 2 anos, fiz ele quando estava aprendendo também, espero que ajude. Luis Fernando Jr.(Luisão) "Seize the day or die regretting the time you lost" FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 luizao é para uma listview errei ao pronunciar no topico acima? mesmo assim funciona? valews Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Quote Link to comment Share on other sites More sharing options...
Luisão Posted August 18, 2009 Report Share Posted August 18, 2009 Então cara, acho que fui eu que confundi. Na verdade, quando eu quero exibir todos os registros num "GRID", eu uso o LISTBOX. O LISTVIEW eu nunca usei, por isso não posso te dizer nada a respeito. Mas de qualquer forma, esta rotina que eu postei, serve para qualquer caso, pois basta que o registro desejado esteja posicionado ele vai fazer tudo certo. Luis Fernando Jr.(Luisão) "Seize the day or die regretting the time you lost" FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 é pq é o seguinte aqui na empresa o chefe pediu para fazer um programa igual a um que ele fez aqui antes estava fazendo um pelo vb (achu q é bem mais facil q fw hehehe) e passei pra esse e fiquei meio perdido mas agora to sacando algumas coisas, o meu problema é este listview que nao sei como vou associar dados de uma tabela nele para quando o usuario clicar ele poder alterar e tals... mas valews pela atençao ai.. essa funçao que voce passou seria no caso somente para listbox neh? Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Quote Link to comment Share on other sites More sharing options...
Eduardo Bilato Posted August 18, 2009 Report Share Posted August 18, 2009 Ja tentou procurar na classe desse objeto algum método como "SetRDD()" ou coisa parecida? Eu também nunca trabalhei com esse listview, se estiver falando alguma besteira me desculpem =) Quote Link to comment Share on other sites More sharing options...
Luisão Posted August 18, 2009 Report Share Posted August 18, 2009 Então Fábio, eu diria (e acho que muitas pessoas aqui no fórum concordariam) para você usar o LISTBOX. Veja no HELP do xDev, tem a sintaxe bem explicada lá. Muitos aqui usam o xBrowse, que é bem mais completo, aà você poderia criar um tópico "xBrowse" e a galera iria ajudar em peso! Sobre a função que eu te passei, eu chamo ela daqui: #INCLUDE 'FiveWin.ch' #INCLUDE 'SQLLIB.CH' //TELA COM O GRID DE CLIENTES FUNCTION CLIENTES() //OBEJETOS PRIVATE oDLGCL:=NIL PRIVATE oPESQ:=NIL PRIVATE oLCL:=NIL PRIVATE oALTCL:=NIL PRIVATE oDELCL:=NIL PRIVATE oINCCL:=NIL PRIVATE oCB:=NIL PRIVATE oGETCOD:=NIL PRIVATE oCLIMP:=NIL PRIVATE oCBIMP:=NIL PRIVATE oCLMODO:=NIL PRIVATE oPACK:=NIL //STRINGS PRIVATE cCLSTAT:='' PRIVATE cORD:='Código' //MATRIZES PRIVATE aI:={'Código','Nome','Cidade','Rua'} PRIVATE aRPT:={'Relatório Padrão','Report'} PRIVATE aCLMODO:={'Gráfico','Matricial'} //NUMÉRICOS PRIVATE nR:=0 PRIVATE nRIMP:=1 PRIVATE nCLMODO:=1 PRIVATE i:=0 PRIVATE nCODIGO:=0 define DIALOG oDLGCL from 01,01 to 500,750 title 'Clientes'; pixel ICON cICO IF OPENCL() GO TOP //GRID DOS CLIENTES @ 5,5 LISTBOX oLCL ; FIELDS ; TRANS(CL->CLCDCL,"99999") ,; CL->CLNOME ,; CL->CLERUA ,; CL->CLEBAI ,; CL->CLECID ,; CL->CLEEST ,; TRANS(CL->CLECEP,"99999999") ,; CL->CLTELE ,; CL->CLNCEL ,; CL->CLNFAX ; HEADERS; AnsiToOem("Código") ,; "Nome" ,; ANSITOOEM("Endereço") ,; "Bairro" ,; "Cidade" ,; "UF" ,; "CEP" ,; "Telefone" ,; "Celular" ,; "FAX" ; FONT oFONT1 SIZE 365,200 PIXEL OF oDLGCL oLCL:lCellStyle := .T. oLCL:bLdblClick := {|| MANUTCL('A') } oLCL:bKeyChar := { | nKey, nFlags | TECLACL(nKey) } oLCL:aJustify := { .F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F. } oLCL:cToolTip := "ENTER - Alterar"+CHR(13)+; "Backspace - Incluir" +CHR(13)+; "Ctrl+BS - Deletar" +CHR(13)+; "Espaço - Pesquisar" oLCL:refresh() //GO TOP //FOR i=1 TO LEN(oLCL) // IF CLCDCL= 20 // oLCL:SETCOLOR(nRGB(0,50,170),nRGB(50,150,50)) // oLCL:REFRESH() // ENDIF //SKIP+1 //NEXT //GO TOP //BOTÃO INCLUIR @ 210, 12 BUTTON oINCCL PROMPT 'Incluir' OF oDLGCL SIZE 73,14; FONT oFONT3 ACTION (MANUTCL('I'))PIXEL //BOTÃO ALTERAR @ 210, 90 BUTTON oALTCL PROMPT 'Alterar' OF oDLGCL SIZE 73,14; FONT oFONT3 ACTION (MANUTCL('A')) PIXEL id=code>id=code>Funciona assim: A função OPENCL é responsável por abrir o arquivo DBF dos clientes (É aquela função que eu postei há algum tempo atrás com o nome de ABRE_SETOR, se não me engano) Com o arquivo aberto, eu exibos todos os registros usando a classe LISTBOX. Quando eu dou 2 cliques (blDblClick), eu chamo a função MANUTCL (que postei mais acima) passando o parâmetro 'A' de alteração. E quando eu clico no botão INCLUIR, passo o parâmetro 'I' de inclusão, entendeu ? Esse é o raciocÃnio geral. O código tá bem simples porque fiz ele há quase 2 anos atrás, quando comecei a trabalhar com FW, mas acho que ele está fácil de entender. Luis Fernando Jr.(Luisão) "Seize the day or die regretting the time you lost" FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted August 18, 2009 Report Share Posted August 18, 2009 Putz!!! agora boiei++... o que vc. chama de listview ??? Esse controle listview que tem no PellesC eu uso para Mostrar os registros na Tela tipo browse.. To usabdo ele como TwBrowse nativo do FW que é o ListBox.. Se não for isso me explique.. Luiz Arruda - Corumba(MS) FiveWin 9.04 [x]Harbour xDev WS -- Não existe nada de completamente errado no mundo mesmo um relógio parado consegue estar certo duas vezes por dia. - Não Abandone Seu Tópicoid=red> Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 18, 2009 Report Share Posted August 18, 2009 Ola, Para usar LISTVIEW em FiveWin, veja no \samples: TESTLVW.PRG Espero que te ajude. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
fabin01 Posted August 18, 2009 Author Report Share Posted August 18, 2009 mas kapi no samples ta como codigo e mao tem nada de recurso nele e no caso criei um listview pelo pelles e queria chamar os dados cadastrados nele tendeu? Obrigado pela ATENÇÃO e AJUDA! "O homem deve criar as oportunidades e não somente encontrá-las." Fábio Igor (BH-MG) fabio.igor@hotmail.com Iniciante FWH 2.8 [x]Harbour 9.61 xdev 0.70 Pelles C Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.