Jump to content
Fivewin Brasil

walter

Membros
  • Posts

    96
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

walter's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Olá pessoal, estou querendo um browse, onde eu possa incluir os dados diretamente no browse. tipo assim: o browse tem os seguintes campos: ítem, codigo, descricado, quantidade, valor unitário, vlr. total, cfop, desconto, etc. Depois que eu digitasse os dados do cabeçalho, já entrasse na browse, com o ítem constanto "01", o código eu digitasse e fizesse a busca no arquivo, se constar no arquivo, já trazer para o browse, a descrição, o preço de venda, o cfop, e a quantidade quando eu digitasse já fizesse a multicação pelo preço unitário gravando no campo valor total. Para acrescentar uma linha no browse, utilizando a seta para baixo, e já trazendo o item "02". Para cancelar a nova linha, a sete para cima, se ela estivesse sem nenhum item digitado. Para cancelar a linha digitada, usar o delete. Alguém tem algo parecido. Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  2. Olá pessoal, estou querendo um browse, onde eu possa incluir os dados diretamente no browse. tipo assim: o browse tem os seguintes campos: ítem, codigo, descricado, quantidade, valor unitário, vlr. total, cfop, desconto, etc. Depois que eu digitasse os dados do cabeçalho, já entrasse na browse, com o ítem constanto "01", o código eu digitasse e fizesse a busca no arquivo, se constar no arquivo, já trazer para o browse, a descrição, o preço de venda, o cfop, e a quantidade quando eu digitasse já fizesse a multicação pelo preço unitário gravando no campo valor total. Para acrescentar uma linha no browse, utilizando a seta para baixo, e já trazendo o item "02". Para cancelar a nova linha, a sete para cima, se ela estivesse sem nenhum item digitado. Para cancelar a linha digitada, usar o delete. Alguém tem algo parecido. Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  3. citação:Pessoal nao consigo deletar um arquivo quando estou tentando atualizar a versão do sistema. Na função abaixo se eu tirar a linha ? cFile (SE EU COMENTAR ESSA LINHA NÃO DELETA) ou seja o sistema mostra o nome do arquivo, ele não deleta. Tentei Ferase(), Delete file e so funciona se dar uma parada e mostrar o nome do arquivo. Grato, Function CopiaArquivos(cOrigem,cFile) Local xOrigem,xDestino,lNewFile //-> Se o arquivo existir deleta para atualizar If file(".\"+cFile) ? cFile (SE EU COMENTAR ESSA LINHA NÃO DELETA) If Ferase(cFile) = -1 ? "Erro. Arquivo nao eliminado:", FERROR() ENDIF //-> se o arquivo não for excluído retorna .f. If file(".\"+cFile) return(.f.) Endif Endif xOrigem := cOrigem+cFile // "_TUP_LIMPEZA.XLS" xDestino := cFile //".\_TUP_LIMPEZA.XLS" Copy File &xOrigem To &xDestino return(.t.) Geraldo B. Silva FWH 2.6 Junho/2005, xHarbour 0.99.50 (Simplex), Bcc55, Pelles, xDev, MyMake, Sqllib e MySql. lucgera@terra.com.br São Paulo - SP id=quote>id=quote>Olá Geraldo, também já tive problemas para apagar arquivos, hoje faço assim, e tem dado certo. If File ("TempItem.DBF") Erase("\Five\Dados\TempItem.Cdx") Erase("\Five\Dados\TempItem.DBF") Else ? "Arquivo não Encontrado" Endif Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  4. citação:Vincule o seu compilador para compilar... Vá em "Projeto\propriedades" selecione a opção "selecionar compiladores" clique em "FiveWin 32 bits &[x]Harbour + BorlandC++" escolha o compilador que vc. configurou antes, o seu depois lá em baixo marque "usar este scrip....." Abraços.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmai.com id=quote>id=quote>Valeu Ico, o problema eraque estava pegando um projeto antigo, e aí já viu. Só podia dar erro. Obrigado. Abraços Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  5. Olá pessoal o sistema ta dando um erro na compilação: projeto vinculado ao Compilador 83825 que não foi inicilizado. Que compilado é esse. Obrigado pela ajuda. Walter Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  6. Olá pessoal o sistema ta dando um erro na compilação: projeto vinculado ao Compilador 83825 que não foi inicilizado. Que compilado é esse. Obrigado pela ajuda. Walter Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  7. Olá Alberto, funcionou na mosca. Muito Obrigado pela dica. Walter citação:Ola Walter E se fizer assim: cArq:=cCampo+"\"+cTemp+".dbf" FRename("&cArq","&cCampo\TempItem.dbf") Alberto Zamai - SP albertozamai@hotmail.com Fwh + WS id=quote>id=quote>Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  8. Olá pessoal, estou criando um arquivo no diretorio path corrente, quero renomeá-lo após criado, mas não estou conseguindo, algum poder dar uma mãozinha. Veja o código abaixo: //------------------------------------- FUNCTION CriarTempo(cTemp) //------------------------------------- private Campo:="\five\dados" //cTemp:= "Temp"+substr(Dtoc(Date()),1,2)+Substr(Dtoc(Date()),4,2)+Substr(Dtoc(Date()),9,2 ); // +substr(time(),1,2)+substr(time(),4,2)+substr(time(),7,2) cTemp:= "T"+ substr(time(),1,2)+substr(time(),4,2)+substr(time(),7,2) dbCreate( cTemp , { { "ITEM" , "C" ,03, 0 }, ; { "CODIGO" , "C", 06, 0 }, ; { "QUANTIDADE" , "N", 12, 2 }, ; { "DESCRICAO" , "C", 50, 0 }, ; { "UNIDADE" , "C", 02, 0 }, ; { "PVENDA" , "N", 12, 2 }, ; { "VLRTOTAL" , "N", 13, 2 } } ) Close Data DbCloseArea() cArq:= (cTemp+".dbf") FRENAME("&Campo\T222220.DBF", "&Campo\TempItem.dbf" ) //Assim renomeia FRENAME("&Campo\cArq", "&Campo\TempItem.dbf" ) //Assim não renomeia Na segunda opção usando a variável, não consigo renomear o arquivo. Tem que ser assim, pois cada vez que entra no programa ele cria o arquivo. RETURN NIL Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  9. Olá pessoal, estou criando um arquivo no diretorio path corrente, quero renomeá-lo após criado, mas não estou conseguindo, algum poder dar uma mãozinha. Veja o código abaixo: //------------------------------------- FUNCTION CriarTempo(cTemp) //------------------------------------- private Campo:="\five\dados" //cTemp:= "Temp"+substr(Dtoc(Date()),1,2)+Substr(Dtoc(Date()),4,2)+Substr(Dtoc(Date()),9,2 ); // +substr(time(),1,2)+substr(time(),4,2)+substr(time(),7,2) cTemp:= "T"+ substr(time(),1,2)+substr(time(),4,2)+substr(time(),7,2) dbCreate( cTemp , { { "ITEM" , "C" ,03, 0 }, ; { "CODIGO" , "C", 06, 0 }, ; { "QUANTIDADE" , "N", 12, 2 }, ; { "DESCRICAO" , "C", 50, 0 }, ; { "UNIDADE" , "C", 02, 0 }, ; { "PVENDA" , "N", 12, 2 }, ; { "VLRTOTAL" , "N", 13, 2 } } ) Close Data DbCloseArea() cArq:= (cTemp+".dbf") FRENAME("&Campo\T222220.DBF", "&Campo\TempItem.dbf" ) //Assim renomeia FRENAME("&Campo\cArq", "&Campo\TempItem.dbf" ) //Assim não renomeia Na segunda opção usando a variável, não consigo renomear o arquivo. Tem que ser assim, pois cada vez que entra no programa ele cria o arquivo. RETURN NIL Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  10. Onde consigo baixar a funcao display 2.0, em dicas não aparece para o download. Se puder enviar para o meu e-mail lcwrf@hotmail.com citação:ok Kapi, vou acrescentar essas mudancas que o Alfonso fez na nova versao da funcao. Muchas Gracias William Xharbour 1.0 - Fwh - Sqlrdd , Mysql 5.0, PHP, WS , Timprime 4.0 , Display 2.0 id=quote>id=quote>Walter lcwrf@hotmail.com FWH 2.6 xHarbour 00.99.61 WorkShop.Exe
  11. citação:Falta o & antes do parenteses no 2º caso, pois o caracter "=" é diferente do operador = Email: SamirSSabreu@gmail.com MSN: samirabreu@hotmail.com Skype: Samirid=red>Abreu xHarbour 1.1.0 + FwXh 8.02 id=black> id=quote>id=quote>Samir, obrigado pelo apoio, porém usando avariável como operador não funcionou,useio &(cRelacao), na execução dá erro de argumento &. Aí usei como abaixo, fiz um paliativo. IF lFiltrar = .T. cFiltro += AddFiltro( acTitulos, acCampos, acTipos, ; cCampo1, cRelacion1, cValor1 ) If cTipos = "D" If cRelacao= "=" Set Filter to (Dtos(Dtnascim) = Dtos(Ctod(cValor1))) ElseIf cRelacao = ">=" Set Filter to (Dtos(Dtnascim) >= Dtos(Ctod(cValor1))) ElseIf cRelacao = "<=" Set Filter to (Dtos(Dtnascim) <= Dtos(Ctod(cValor1))) ElseIf cRelacao = "<" Set Filter to (Dtos(Dtnascim) < Dtos(Ctod(cValor1))) ElseIf cRelacao = ">" Set Filter to (Dtos(Dtnascim) > Dtos(Ctod(cValor1))) Endif Else SET FILTER TO &cFiltro Endif dbGoTop() ENDIF Gostaria de saber se tem um porque do não funcionamento , se mando imprimir a varial ela mostra o operador corretamente. Obrigado por tudo Walter FWH 2.6 xHarbour 00.99.61 WorkShop.Exe Blinker 5.0 Editado por - walter on 11/04/2010 19:38:39
  12. Por que assim funciona o filtro. Set Filter to (Dtos(Dtnascim) = Dtos(Ctod(cValor1))) E assim não funciona, Set Filter to (Dtos(Dtnascim) +(cRelacao)+ Dtos(Ctod(cValor1))) Onde cRelacao é uma variavel que contem o caractere "= " Criei cRelacao como Public Aguardo Walter Walter FWH 2.6 xHarbour 00.99.61 WorkShop.Exe Blinker 5.0
  13. citação:Você tem que verificar o tipo de cada dado... Se for data você vai ter que fazer o DTOS Exemplo: If Tipo = "Data" Set Filter to DTOS(DTNASC) > DTOS(cValor) else Set Filter to NOME = "WALTER" end id=code>id=code>Email: SamirSSabreu@gmail.com MSN: samirabreu@hotmail.com Skype: Samirid=red>Abreu xHarbour 1.1.0 + FwXh 8.02 id=black> id=quote>id=quote>Olá Samiretambém pessoal do fórum. Não abandonei o meu tópico, estou apenas, tentando resolver o problema de acôrdo com as dicas recebidas. Mas tá dificel acertar. Assim que resolver reportarei. Obrigado a todos Walter Walter FWH 2.6 xHarbour 00.99.61 WorkShop.Exe Blinker 5.0
  14. citação:Passe a rotina completa.... Set Filter não pode ter allTrim DTOS é para data, veja o exemplo que eu passei dTos(cTod("01/04/2010")) Essa sentença que você estava criando onde concatena a data e outros campos... para filtrar por mais de um campo você tem que usar .AND. Exemplo: Set Filter to ( ( dTos(CADASTRO) = dTos(cTod("01/04/2010")) ) .And. ( UPPER(NOME) = PadR("SAMIR",40) ) ) Email: SamirSSabreu@gmail.com MSN: samirabreu@hotmail.com Skype: Samirid=red>Abreu xHarbour 1.1.0 + FwXh 8.02 id=black>Editado por - sambomb on 06/04/2010 10:21:35 id=quote>id=quote>Olá Samir, o meu arquivo é pequeno, é apenas para funcionários, não dá talveznem 100 registros. Por isso quero usar o Set Filter. A rotina que estou mandando, permite filtrar por varios campos: nome, endereço, cidade, valor do salário, cep, e por fim queria filtar a data de nascimento. Onde cCampo é o nome do campo que vai ser filtrado, depois é a relação - se igual, se <>, e por fim cValor é nome, endereço, cidade e cep. Não sendo data está fazendo tudo beleza, mas quando vou fazer a data dá pau. Já transformei o campo cValor1 para data, mas não adiantou. veja o *.prg // ----------------------------------------------------------------------- // Programa ..: Filtrar.prg // // Descripci¢n: Rutina de filtrado de prop¢sito general. // // Autor .....: Angel Canudas Rey // // Funciones Comentario // ------------ ----------------------------------------------------------- // Filtrar Funci¢n principal. // AddFiltro A¤ade una expresi¢n de Filtro. // DelFiltro Elimina el Filtro activo. // // Fecha Comentario // ------------ ----------------------------------------------------------- // ------------------------------------------------------------------------ #include "..\INCLUDE\FiveWin.ch" // ----------------------------------------------------------------------- // Funci¢n ...: Filtrar // Descripci¢n: Funci¢n principal de Filtrar. // Par metros : axArray -> Array con los t¡tulos, campos y tipos. // Devuelve ..: Nada. // ----------------------------------------------------------------------- FUNCTION Filtrar( axArray ) LOCAL oDlg LOCAL i := 0 LOCAL lFiltrar := .F. LOCAL cFiltro := "" LOCAL acTitulos := {} LOCAL acCampos := {} LOCAL acTipos := {} LOCAL cCampo1 := Space( 20 ) LOCAL cRelacion1 := Space( 20 ) LOCAL cValor1 := Space( 20 ) LOCAL acOpRelacion := { " ", ; "<> Diferente ", ; "$ Contem ", ; "< Menor que ", ; "<= Menor o igual a ", ; "> Maior que ", ; ">= Maior o igual a ", ; "= Igual ", ; "== Exatamente igual " } LOCAL cAlias := Alias() IF Empty( cAlias ) MsgStop( OemToAnsi( "No ha seleccionado ning£n Fichero de Datos (*.dbf)" ) ) RETURN NIL ENDIF aAdd( acCampos , Space( 10 ) ) aAdd( acTitulos, Space( 20 ) ) aAdd( acTipos , Space( 01 ) ) FOR i := 1 TO Len( axArray ) aAdd( acCampos , PadR( axArray[ i, 2 ], 10 ) ) aAdd( acTitulos, PadR( OemToAnsi( axArray[ i, 3 ] ), 20 ) ) aAdd( acTipos , axArray[ i, 4 ] ) NEXT // Caja Di logo ------------------------------------------------------- DEFINE DIALOG oDlg RESOURCE "FILTRAR" oDlg:lHelpIcon := .F. REDEFINE COMBOBOX cCampo1 ITEMS acTitulos ID 20 OF oDlg REDEFINE COMBOBOX cRelacion1 ITEMS acOpRelacion ID 21 OF oDlg REDEFINE GET cValor1 ID 22 OF oDlg REDEFINE BUTTON ID 701 OF oDlg ACTION( oDlg:End(), lFiltrar := .T. ) REDEFINE BUTTON ID 702 OF oDlg ACTION( oDlg:End() ) REDEFINE BUTTON ID 40 OF oDlg ACTION( oDlg:End(), DelFiltro() ) WHEN !Empty( dbFilter() ) ACTIVATE DIALOG oDlg CENTERED // -------------------------------------------------------------------- IF lFiltrar = .T. cFiltro += AddFiltro( acTitulos, acCampos, acTipos, ; cCampo1, cRelacion1, cValor1 ) SET FILTER TO &cFiltro dbGoTop() ENDIF RETURN NIL // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Funci¢n ...: AddFiltro // Descripci¢n: A¤ade una expresi¢n de Filtro. // Par metros : acTitulos -> Array con los t¡tulos. // acCampos -> Array con los nombres de campo. // acTipos -> Array con los tipos (C, N, D, L, M) // cNomCampo -> Nombre campo de la expresi¢n. // cOpRelacion -> Operador de Relaci¢n. // cLiteral -> Valor. // Devuelve ..: cFiltro -> Expresi¢n de filtro. // ----------------------------------------------------------------------- FUNCTION AddFiltro( acTitulos, acCampos, acTipos, ; cNomCampo, cOpRelacion, cValor1 ) LOCAL i := 0 LOCAL cCampo := "" LOCAL cFiltro := "" PRIVATE cData := Date() IF Empty( cNomCampo ) .OR. Empty( cOpRelacion ) .OR. Empty( cValor1 ) MsgStop( "Entrada Incorreta. Repita, por favor.", "ERRO!" ) ELSE cOpRelacion := Left( cOpRelacion, 2 ) // Hallamos Nombre Campo ------------------------------------------- FOR i := 1 TO Len( acTitulos ) IF AllTrim( acTitulos[ i ] ) == AllTrim( cNomCampo ) cCampo := acCampos[ i ] IF AllTrim( acTipos[ i ] ) = "C" cCampo := "Upper( " + cCampo + " )" cValor1 := "Upper( " + Chr(34) + AllTrim( cValor1 ) + Chr( 34 ) + " )" cFiltro += AllTrim( cCampo ) + " " + AllTrim( cOpRelacion ) + " " + ; Alltrim( cVAlor1 ) ELSEIF AllTrim( acTipos[ i ] ) = "N" cFiltro += AllTrim( cCampo ) + " " + AllTrim( cOpRelacion ) + " " + ; Alltrim( cVAlor1 ) ELSEIF AllTrim( acTipos[ i ] ) = "D" cData := CTOD(cValor1) cValor1:= Dtos(cData) cFiltro += Alltrim(cCampo) + " " + AllTrim( cOpRelacion ) + " " + ; Alltrim( cValor1 ) ENDIF EXIT ENDIF NEXT MsgInfo( "Filtro: " + cfiltro ) ENDIF RETURN cFiltro // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // Funci¢n ...: DelFiltro // Descripci¢n: Elimina el Filtro actual. // Par metros : Ninguno. // Devuelve ..: Nada. // ----------------------------------------------------------------------- FUNCTION DelFiltro() IF !Empty( dbFilter() ) SET FILTER TO DbGoTop() ENDIF RETURN NIL // ----------------------------------------------------------------------- Walter FWH 2.6 xHarbour 00.99.61 WorkShop.Exe Blinker 5.0
  15. citação:Para fazer o filtro use o DTOS(dData) Exemplo: Set Filter to ( dTos(CADASTRO) = dTos(cTod("01/04/2010")) ) Email: SamirSSabreu@gmail.com MSN: samirabreu@hotmail.com Skype: Samirid=red>Abreu xHarbour 1.1.0 + FwXh 8.02 id=black> id=quote>id=quote>Olá Samir, obrigado pela ajuda, mas não funcionou, estou fazendo assim: cFiltro += Dtos(cCampo) + " " + AllTrim( cOpRelacion ) + " " + ; Alltrim(cValor1) Está dando erro Parametro invalido (DTos), já tentei de varias formas e não funciona. O que está errado. Walter FWH 2.6 xHarbour 00.99.61 WorkShop.Exe Blinker 5.0
×
×
  • Create New...