Ir para conteúdo
Fórum Script Brasil

sergio.lima

Membros
  • Total de itens

    32
  • Registro em

  • Última visita

Tudo que sergio.lima postou

  1. Olá a todos, Estou com um problema que não consigo detectar o que é, estou precisando de ajuda. Estava escrevendo o acesso ao banco através de um arquivo externo dbxconnections.ini, mas como a senha do banco ficava exposta em um arquivo texto resolvi configurar no próprio componente zconnection. O problema é que gerei a base de dados a princípio em interbase 6.5, depois lembrei de algumas limitações do interbase, daí fiz um backup e restore em uma base firebird 1.5. Daí começou a dar erro de acentuação, fiz tantas tentativas até que finalmente começoa a funcionar novamente. A aplicação continua funcionando sem problema, mas o zconnection está apontando para o driver do Interbase. Se troco para Firebird dá erro logo ao iniciar a aplicação. Agora já nem sei mais se é melhor usar dbxconnections ou dentro do data module no zconnection. Como faço para que o Delphi/Zeus abra a base de dados usando o Firebird 1.5 e não o Interbase 6.5 (há instalação de ambos na minha máquina - já desinstalei o Interbase inclusive). Estou usando Delphi 7/componente Zeus e Firebird 1.5 Alguém poderia me ajudar e me esclarecer a melhor opção? Obrigado a todos. Sergio procedure TdtmdlLab.DataModuleCreate(Sender: TObject); begin zcnctnPrincipal.Connected := False; zcnctnPrincipal.Database := 'C:\Lab\Dados\LAB.FDB'; zcnctnPrincipal.HostName := 'localhost'; zcnctnPrincipal.LoginPrompt := False; zcnctnPrincipal.User := 'SYSDBA'; zcnctnPrincipal.Password := 'masterkey'; zcnctnPrincipal.Port := 3050; zcnctnPrincipal.Protocol := 'interbase-6'; zcnctnPrincipal.Properties.Add('Codepage=ISO8859_1'); zcnctnPrincipal.SQLHourGlass := True; zcnctnPrincipal.Connect; end;
  2. Olá, Pessoal, Estou desenvolvendo uma aplicação com Delphi 7, Zeuslib e Interbase 6.5 Na máquina em que trabalho (Windows Seven), a aplicação funciona muito bem. Quando fiz um backup deste sistema em outra máquina (Windows XP), a aplicação continua funcionando porém se incluo qualquer registro com palavras acentuadas aparece o erro: 'arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets '. Como mencionei acima o banco foi gerado em Interbase 6.5, utilizo character set WIN1252 e collate PXW_INTL850. Tenho instalado nestas 2 máquinas o Interbase 6.5 e Firebird 1.5.3, o Delphi 7 e o componente Zeuslib. Ou seja, as instalações são idênticas com exceção do sistema operacional (Seven e XP). Ainda assim, trouxe a aplicação para minha casa, instalei tudo no meu computador (também XP) e o problema com acentuação continua. Estou ficando sem saber o que fazer para arrumar isso. Tenho que instalar este sistema em outro lugar e estou com receio de acontecer a mesma coisa. Já troquei o nome do projeto, recompilei inúmeras vezes e o erro persiste. Ou seja, só funciona em uma máquina (windows seven). Daí instalei a aplicação em outro computador (também Windows Seven) e o erro persiste, ou seja, só funciona na máquina em que trabalho, em outras 2 máquinas e também na minha casa ocorre erro com palavras acentuadas. Se alguém puder ajudar, agradeço muito. Obrigado. Sergio
  3. Olá, Aproveitando a dica indicada pelo Jonathan consegui fazer uma rotina funcionar em php aplicando as minhas tabelas de grupo e subgrupo. Único problema é que no <SELECT> do subgrupo os nomes acentuados aparecem deformados e não consegui arrumar isso. Li aqui que conseguiu resolver o problema da acentuação - pode me dizer como fez isso - eu agradeceria muito. Sergio
  4. Obrigado, Jonathan. Vou tentar resolver o problema com esta dica. Acredito que dê certo sim. Muito obrigado. Sergio
  5. O campo "QUANTIDADE" recebe números inteiros, preciso multiplicar este número pelo preço unitário do produto e apresentar o valor total no fim do formulário. É isso.
  6. Olá, Galera. Fiz um formulário PHP e neste formulário tem um campo chamado QUANTIDADE. Eis o problema, como preciso calcular o total dos itens e mostrar ao final do formulário, eu preciso capturar o conteúdo do campo quantidade sem que seja necessário sair do formulário. Alguém poderia por favor ajudar, fornecendo alguma dica, sugestão ou rotina que consiga fazer isso? Desde já agradeço. Sergio
  7. Olá Pessoal, Estou precisando apresentar valores de uma tabela em um dbgrid e estes valores tem 0, 1, 2, 3 ou 4 casas decimais. Como é que eu faço para formatar os campos da tabela como se eu estivesse usando o FormatFloat('#####0.0000',valor)? Por favor, se alguém puder ajudar agradeço desde já. Valeu. Sergio
  8. Dejota, É exatamente o que estou precisando, a única diferença é que no meu caso, tenho Departamento e Setor, e ainda estou trabalhando com banco de dados Postgree. Já tentei algumas rotinas em ajax postadas aqui, mas não consegui colocar para funcionar não. Vamos ver se algum colega nos ajuda e nos fornece alguma rotina pronta para isso. Valeu. Sergio
  9. André, Coloquei a tag select dentro do arquivo busca_1.php e busca_2.php, mas continua com o mesmo problema - não aparece nada. É como se não passasse pelo busca_1.php já que não aparece nenhum departamento. Por favor, se tiver mais alguma sugestão, poste aqui. Valeu. Sergio
  10. Olá, Não sou lá grandes coisas em aplicações web, mas sempre preciso fazer alguns formulários simples. Estou precisando fazer uma coisa simples, mas não sei como fazer. Preciso que o input type="text" fique em azul e o label CPF fique em preto. Do jeito que está agora, tudo está com a cor preta. <tr> <td width="20%"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CPF nº : </font></div></td> <td width="80%"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="NR_CPF" size="11" value="<? echo $nr_cpf ?>" readonly="true"> </font></td> </tr> Tentei colocar color na tag font, mas não fez diferença nenhuma. Alguém por obséquio pode me dar um help? Valeu. Sergio
  11. Prezados Colegas, Não consigo implementar uma rotina de ajax para selecionar um select (Setor) a partir de outro select (Departamento). Já fiz várias tentativas com os códigos postados aqui, mas não consegui entender como funciona direito. Deve ser alguma coisa que ainda não detectei, mas preciso disso com urgência e bate aquele desespero - aí é que não vai mesmo. Estou postando o código abaixo, me ajudem por favor. formulario.php <html> <head> <title>Formulario</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> function RetornoAjax(id, url, container) { var xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Este browser não suporta HTTP Request") return } var url=url; url=url+"?id="+id; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=function() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById(container).innerHTML=xmlHttp.responseText } } xmlHttp.open("GET",url,true) xmlHttp.send(null) } function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) objXMLHttp=new XMLHttpRequest() else if (window.ActiveXObject) objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") return objXMLHttp } </script> </head> <body bgcolor="#EBEDED" text="#000000"> <form> <table width="40%" border="2" cellspacing="0" cellpadding="0" align="center"> <tr bgcolor="#006699"> <td colspan="4"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#FFFFFF">Lotação do Servidor</font></b></font></div></td> </tr> <?PHP include_once "conexao.php"; // Lotação Departamento $sql = "SELECT DISTINCT sg_departamento FROM tb_lotacao order by sg_departamento"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>Departamento : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_DEPARTAMENTO' id='SG_DEPARTAMENTO' onchange='RetornoAjax(this.value, 'busca_1.php', 'SG_DEPARTAMENTO')'>"; echo " </select>"; echo " </font></td>"; echo "</tr>"; } // Lotação Setor $sql = "SELECT DISTINCT sg_setor FROM tb_lotacao where sg_departamento='SG_DEPARTAMENTO' order by sg_setor"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>* Setor : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_SETOR' id='SG_SETOR' onchange='RetornoAjax(this.value, 'busca_2.php', 'SG_SETOR')'>"; echo " </select>"; echo " </font></td>"; echo "</tr>"; } ?> </table> </form> </body> </html> busca_1.php <?PHP $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_departamento'].'">'.trim($rs[$x]['nome_departamento']).'</option>'; } ?> busca_2.php <?PHP $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_setor'].'">'.trim($rs[$x]['nome_setor']).'</option>'; } ?>
  12. Guilherme, mais uma vez obrigado. Mas, sou meio inexperiente ainda e não entendi onde coloco um botão submit dentro de uma combobox para desviar para outro programa onde recebo a diretoria selecionada para depois montar o sql filtrando. Se puder me ajudar mais um pouco fico muito grato porque realmente tenho que montar isso aqui. []'s Sergio <select name="Supervisao"> <? //Aqui vem o q eu estava falando.. você vai imaginar que pode ter vindo um $_POST["Diretoria"], e vai fazer o seguinte: if($_POST["Diretoria"]) { $Query = "SELECT campos from t_supervisao where diretoria = '" . $_POST["Diretoria"] . "''; //roda e percorre.... } else { $Query = "SELECT campos from t_supervisao ''; //roda e percorre.... } ?> </select> </form>
  13. Oi, Guilherme. Obrigado pela ajuda. Não olhei todo o seu código, mas me parece que você precisa carregar um combo, baseado no valor selecionado no combo anterior, por exemplo, escolher a diretoria 1, e ai então, carregar apenas as supervisões da diretoria 1. Isso mesmo, você entendeu. Para isso, você vai precisar acessar sua base de dados após a escolha, ou guardar isso tudo em algum vetor na aplicação ou algo do tipo. Suas opções. 1) Guardar em html, ou javascript, as seleções para cada escolha, e exibir de acordo com a escolha (jeito mais gambiarra, não recomendo) Eu não sei como capturar a seleção anterior, mas se não recomenda não deve ser lá grande coisa. 2) Fazer um post para cada escolha, e trazer no combo só o que interessa. (solução mais simples, porém esse negócio de ficar postando não é muito recomendado por mim) Também não sei como obter a seleção anterior. Se puder ajudar, acho que seria a minha melhor opção por agora. 3) Ajax. conhece? Não, não conheço. Infelizmente acho que não tenho tempo para aprender e colocar para funcionar. Obrigado. Se puder me ajudar mais um pouco ... estou realmente precisando. Sergio
  14. Olá, Estou com um problema sério e urgente, espero que alguns dos colegas possam me ajudar a filtrar isso. Tenho uma tabela de centro de custo que tem 3 quebras, diretoria, departamento e supervisão. Fiz um formulário para o funcionário selecionar primeiro a sua diretoria, depois seu departamento e finalmente sua supervisão. O problema é que não sei, aliás não sei se tem jeito de fazer isso, como capturar o que foi informado em um campo para servir de filtro no campo seguinte sem sair do formulário principal. Do jeito que fiz, o formulário aparece todos os departamentos da empresa e eu gostaria que mostrasse apenas os departamentos da diretoria que foi selecionada anteriormente. O mesmo acontece com a supervisão, aparece todas as supervisões da empresa enquanto eu gostaria que aparecesse apenas as supervisões do departamento e diretoria informados nos campos anteriores. A tabela é tb_lotacao (cd_diretoria, sg_lotacao_di, sg_lotacao_dp, sg_lotacao_sp, ds_lotacao) Vejam o código: // Lotação Departamento $sql = "SELECT DISTINCT sg_lotacao_dp FROM tb_lotacao order by sg_lotacao_dp"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>* Departamento : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_LOTACAO_DP'>"; // if ($sg_lotacao_dp!=0) // { echo ' <option value="'.$sg_lotacao_dp.'" selected>'.$sg_lotacao_dp.'</option>'; echo " <option value=\"\">&nbsp;</option>"; // } $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_lotacao_dp'].'">'.trim($rs[$x]['sg_lotacao_dp']).'</option>'; } echo " </select>"; echo " </font></td>"; echo "</tr>"; } // Lotação Supervisão $sql = "SELECT DISTINCT sg_lotacao_sp FROM tb_lotacao order by sg_lotacao_sp"; if ($conexao->query($sql)) { echo "<tr>"; echo " <td> <div align='right'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>* Supervisão : </font></div></td>"; echo " <td colspan='2'> <font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"; echo " <select name='SG_LOTACAO_SP'>"; // if ($sg_lotacao_sp!=0) // { echo ' <option value="'.$sg_lotacao_sp.'" selected>'.$sg_lotacao_sp.'</option>'; echo " <option value=\"\">&nbsp;</option>"; // } $rs = $conexao->query($sql)->fetchAll(PDO::FETCH_ASSOC); $linhas = count($rs); for ($x=0; $x < $linhas; $x++) { echo '<option value="'.$rs[$x]['sg_lotacao_sp'].'">'.trim($rs[$x]['sg_lotacao_sp']).'</option>'; } echo " </select>"; echo " </font></td>"; echo "</tr>"; } Se alguém puder ajudar, por favor agradeço muito Sergio
  15. Olá, Pessoal Estou com um problema em vários formulários. É que estou usando uma function em javascript para formatar o conteúdo de campo numérico. Abrindo o formulário com o browser InternetExplorer funciona bem, mas se tento abrir com o Mozila por exemplo, nada funciona. Como resolvo isso? Alguém pode me ajudar? Obrigado a todos. Sergio <td width="70%"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <input type="text" name="txtCPF" size="11" maxlength="11" onKeyPress="return txtBoxFormat(this, '99999999999', event);"> </font> </td> function txtBoxFormat(objeto, sMask, evtKeyPress) { var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla; if(document.all) { // Internet Explorer nTecla = evtKeyPress.keyCode; } else if(document.layers) { // Nestcape nTecla = evtKeyPress.which; } sValue = objeto.value; // Limpa todos os caracteres de formatação que já estiverem no campo. sValue = sValue.toString().replace( "-", "" ); sValue = sValue.toString().replace( "-", "" ); sValue = sValue.toString().replace( ".", "" ); sValue = sValue.toString().replace( ".", "" ); sValue = sValue.toString().replace( "/", "" ); sValue = sValue.toString().replace( "/", "" ); sValue = sValue.toString().replace( ":", "" ); sValue = sValue.toString().replace( ":", "" ); sValue = sValue.toString().replace( "(", "" ); sValue = sValue.toString().replace( "(", "" ); sValue = sValue.toString().replace( ")", "" ); sValue = sValue.toString().replace( ")", "" ); sValue = sValue.toString().replace( " ", "" ); sValue = sValue.toString().replace( " ", "" ); fldLen = sValue.length; mskLen = sMask.length; i = 0; nCount = 0; sCod = ""; mskLen = fldLen; while (i <= mskLen) { bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":")) bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ")) if (bolMask) { sCod += sMask.charAt(i); mskLen++; } else { sCod += sValue.charAt(nCount); nCount++; } i++; } objeto.value = sCod; if (nTecla != 8) { // backspace if (sMask.charAt(i-1) == "9") { // apenas números... return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9 else { // qualquer caracter... return true; } } else { return true; } }
  16. Olá, Galera Estou precisando urgente de gerar um arquivo texto na unidade C da máquina cliente. Tentei usar a função fopen, mas não consigo gerar na máquina cliente. Já consegui inclusive gerar um arquivo texto no servidor, mas por toda questão da dificuldade de acesso ao servidor para migrar o arquivo para minha máquina para depois usá-lo fica difícil. Alguém sabe como me ajudar? Agradeço muitíssimo. Sergio
  17. Bem, acho que a propriedade Glyph do componente é onde se coloca uma imagem tipo bitmap no bitbtn. Agora eu não sei se isso funciona em tempo de execução, eu nunca tentei fazer isso. []'s Sergio
  18. :rolleyes: Olá, Galera. Depois de muito quebrar a cabeça descobri como obter o retorno da função sum, talvez alguém precise utilizar algum dia: dtmdlClube.clntdtstAuxiliar.Open; if dtmdlClube.clntdtstAuxiliar.RecordCount > 0 then fSaldo := dtmdlClube.clntdtstAuxiliar.FieldByName('SUM').AsFloat; E funciona muito bem. Valeu. Sergio
  19. Olá, Micheus Sempre disposto a ajudar! Obrigado. Mas, ainda não é a questão que eu levanto. Eu costumo usar a parametrização também (neste caso em particular eu não estou usando). Talvez os colegas não estão me entendendo, mas é que eu quero pegar é o resultado da função sum. Estou tentando ler o resultado após a execução do comando, assim: dtmdlClube.clntdtstAuxiliar.Open; if dtmdlClube.clntdtstAuxiliar.RecordCount > 0 then fSaldo := dtmdlClube.clntdtstAuxiliar.FieldByName('VALOR').AsFloat; só que está apresentando erro de campo inexistente VALOR na última linha. Continuo com esta dúvida, se alguém puder ajudar, agradeço muito mesmo. Valeu. Sergio
  20. Caro William, Obrigado pelo retorno. Mas, era exatamente isso que eu estava tentando evitar, ou seja, um loop no clientdataset para apurar o total. A instrução sql já retorna o que eu preciso e de forma muito mais rápida. Inclusive já testei isso utilizando o ibexpress e funciona perfeitamente. Eu gostaria de saber como retornar o valor diretamente da instrução sql. Mesmo assim, obrigado. Valeu Sergio
  21. Oi, Galera. Estou com um probleminha simples que eu ainda não havia precisado com relação a consulta SQL. Estou usando delphi 7 + client data set com banco de dados Firebird. Todos comandos SQL que uso sempre faço assim: dtmdlClube.clntdtstAuxiliar.Close; dtmdlClube.SQLdtstAuxiliar.CommandText := 'select * from CAIXA where TIPO='+QuotedStr('E'); dtmdlClube.clntdtstAuxiliar.Open; if dtmdlClube.clntdtstAuxiliar.RecordCount > 0 then ... Só que agora preciso do valor total em uma determinada data, apenas não sei como pego o resultado disso. dtmdlClube.clntdtstAuxiliar.Close; dtmdlClube.SQLdtstAuxiliar.CommandText := 'select sum(VALOR) from CAIXA where DATA='+QuotedStr(FormatDateTime('mm/dd/yyyy',fData))+' and TIPO='+QuotedStr('E')+' order by DATA,TIPO_MOV,NOME'; dtmdlClube.clntdtstAuxiliar.Open; A instrução SQL está perfeita e funciona sem problema, mas não sei como obter o resultado. Alguém poderia me dar uma ajuda, desde já agradeço muito. Valeu Sergio
  22. sergio.lima

    Erro no SQL

    Não entendi ... onde? O que posso fazer para arrumar?
  23. sergio.lima

    Erro no SQL

    Olá, Colegas. Estou com um problema aqui e não consegui. Tem dado erro de sintaxe porque estou usando uma variável para montar a consulta. $proposto = "select * from PAGAMENTO"; if (!empty($fornecedor)) { $proposto = $proposto." where MATRICULA_FORNECEDOR='$fornecedor'"; } $proposto = $proposto." order by VENCIMENTO,MATRICULA_FORNECEDOR,MATRICULA_LOJA"; // Abre Banco . .. ... $result = mysql_query('$proposto',$db); O erro aparece nesta última linha, tentei sem a aspa simples e não dá erro, mas também não funciona. Alguém sabe como montar uma consulta parametrizada para resolver este meu problema, desde já agradeço muito qualquer ajuda. []'s Sergio
  24. Caros Colegas, Estou com um problema simples, mas não sei resolver. É que no formulário de inclusão tenho um campo assim: <tr> <td width="35%"> <div align="right">Pagamento :</div> </td> <td width="65%"> <input type="radio" name="TIPO" id="TIPO" value="1" onclick="java script:habilita(this.value);" checked>a Vista <input type="radio" name="TIPO" id="TIPO" value="3" onclick="java script:habilita(this.value);">a Prazo </td> </tr> E funciona legal. Porém, no formulário de alteração, eu gostaria que o campo TIPO aparecesse já selecionado o tipo de pagamento quando este foi incluso, e ainda que o usuário pudesse alterar o tipo. Tentei fazer isso com a cláusula 'value' e tirando a cláusula 'checked' assim: value="<? echo $tipo ?>;" Mas, deu erro acho que foi porque coloquei esta cláusula nas duas alternativas e fiz várias maneiras diferentes e nenhuma delas eu consegui fazer como eu gostaria. Será que alguém pode me dar um help, desde já agradeço muito. Um abraço Sergio
×
×
  • Criar Novo...