Jump to content
Fórum Script Brasil

hencker

Membros
  • Posts

    165
  • Joined

  • Last visited

Everything posted by hencker

  1. Alguém sabe como funciona a função logn do Delphi? Ela é uma função para logaritmo na base dez ou para logaritmo neperiano (natural). Tipo, a função abaixo faz o que: ac := 0.71*(logn(10,(79.4/ac1))); ou
  2. Bom dia! Tenho a seguinte SP no meu banco: ALTER PROCEDURE dbo.RetornaID @NATUREZA Int, @FOLHA Char(5), @LIVRO Char(5), @ABERTURA Char(1), @ENCERRAMENTO Char(1), @SE Char(1), @DATA Char(10), @Identity int OUT AS Insert Into tblFichas (NATUREZA_ID, FOLHA, LIVRO, ABERTURA, ENCERRAMENTO, SE, DATA) Values (@NATUREZA, @FOLHA, @LIVRO, @ABERTURA, @ENCERRAMENTO, @SE, @DATA) SET @Identity = SCOPE_IDENTITY() RETURN E estou usando o seguinte código para acessar a SP: public DataTable AdicionaRegistro(string NATUREZA, string FOLHA, string LIVRO, string ABERTURA, string ENCERRAMENTO, string SE, string DATA) { SqlCommand command = new SqlCommand("RetornaID", conSisAr); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@NATUREZA", SqlDbType.Int, 4, "NATUREZA_ID").Value = NATUREZA.ToString(); command.Parameters.Add("@FOLHA", SqlDbType.Char, 5, "FOLHA").Value = FOLHA.ToString(); command.Parameters.Add("@LIVRO", SqlDbType.Char, 5, "LIVRO").Value = LIVRO.ToString(); command.Parameters.Add("@ABERTURA", SqlDbType.Char, 1, "ABERTURA").Value = ABERTURA.ToString(); command.Parameters.Add("@ENCERRAMENTO", SqlDbType.Char, 1, "ENCERRAMENTO").Value = ENCERRAMENTO.ToString(); command.Parameters.Add("@SE", SqlDbType.Char, 1, "SE").Value = SE.ToString(); command.Parameters.Add("@DATA", SqlDbType.Char, 10, "DATA").Value = DATA.ToString(); SqlParameter parameter = command.Parameters.Add("@Identity", SqlDbType.Int, 0, "ID"); parameter.Direction = ParameterDirection.Output; try { conSisAr.Open(); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable dt = new DataTable(); adapter.Fill(dt); return dt; } finally { conSisAr.Close(); } } No entanto quando eu uso o método abaixo para recuperar os dados o resultado é nulo (dt não restorna nenhum valor...) DataTable dtb = AdicionaFicha.AdicionaRegistro(cmbIDAto.Text, txtFolha.Text, txtLivro.Text, "1", "0", "0", dtpDataAto.Text); int indice = dtb.Rows.Count; label1.Text = dtb.Rows[indice]["ID"].ToString(); Erro apresentado (esse erro dá no DataTable dtb, quando eu tento executar): Alguém poderia dar alguma luz?
  3. Estou criando um sistema em C#, com a base de dados Microsoft SQL Server 2000. Estou usando o segunte parâmetro para adicionar um novo registro ao meu banco de dados: public string AdicionaRegistro(string NATUREZA, string FOLHA, string LIVRO, string ABERTURA, string ENCERRAMENTO, string SE, string DATA) { SqlCommand sc = new SqlCommand("Insert Into tblFichas (NATUREZA_ID, FOLHA, LIVRO, ABERTURA, ENCERRAMENTO, SE, DATA) Values (@NATUREZA, @FOLHA, @LIVRO, @ABERTURA, @ENCERRAMENTO, @SE, @DATA)", conSisAr); sc.Parameters.Add("@NATUREZA", SqlDbType.Int, 4, "NATUREZA_ID").Value = NATUREZA.ToString(); sc.Parameters.Add("@FOLHA", SqlDbType.Char, 5, "FOLHA").Value = FOLHA.ToString(); sc.Parameters.Add("@LIVRO", SqlDbType.Char, 5, "LIVRO").Value = LIVRO.ToString(); sc.Parameters.Add("@ABERTURA", SqlDbType.Char, 1, "ABERTURA").Value = ABERTURA.ToString(); sc.Parameters.Add("@ENCERRAMENTO", SqlDbType.Char, 1, "ENCERRAMENTO").Value = ENCERRAMENTO.ToString(); sc.Parameters.Add("@SE", SqlDbType.Char, 1, "SE").Value = SE.ToString(); sc.Parameters.Add("@DATA", SqlDbType.Char, 10, "DATA").Value = DATA.ToString(); conSisAr.Open(); try { sc.ExecuteNonQuery(); } finally { conSisAr.Close(); } } No entanto eu necessito retornar o ID, que é gerado automaticamente, que esse novo registro recebeu... Alguém tem alguma idéia por favor? P.s.: Não estou usando StoredProcedures, portanto acredito que o @@IDENTITY não vá funcionar...
  4. Muito obrigado, deu tudo certo!
  5. Exatamente Gray, mas eu não sei como fazer... tentei de tudo quanto é jeito...
  6. Eu tenho uma ListBox com vários valores, como eu faço para ler item por item dessa ListBox? Eu preciso ir passando esses itens um a um para uma string, pois vou usá-los em um eveto While.
  7. Bom dia pessoal. Não sou tão familiarizado com Flash, mesmo assim estou tentando fazer uma pequena animação, um "filminho". Eu gostaria de saber como eu faço esse "filminho" iniciar em tela cheia. Qual o código do ActionScript eu devo usar para iniciar ele em tela cheia? Estou usando o Flash 8 para produzir essa animação! Um forte abraço!
  8. Galera, por favor... Estou desesperado.... Não sei mais o que fazer... Alguém me ajude por favor! Estou quase perdendo o prazo!
  9. Bom dia pessoal, Eu tenho um DataGridView carregado com os dados de um arquivo XML. Gostaria de saber como eu faço para que os dados alterados no DataGridView sejam salvos no XML (sejam "commitados"). Obrigado!
  10. Fazendo um FeedBack, consegui da seguinte forma: Onde dizia: 'Adiciona para o dgvEstacas os dados da estrutura criada dtGeometria = New DataTable("Estacas") dtGeometria.Columns.Add("ID") dtGeometria.Columns.Add("X") dtGeometria.Columns.Add("Y") dtGeometria.Columns.Add("Z") dtGeometria.Columns.Add("A") dtGeometria.Columns.Add("W") dtGeometria.Columns.Add("S") dtGeometria.ReadXml("C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml") dgvEstacas.DataSource = dtGeometria dgvEstacas.Refresh() Eu alterei para: 'Inicia a leitura do arquivo XML contendo os dados das estacas Dim xmlDatadoc = New XmlDataDocument() xmlDatadoc.DataSet.ReadXml("C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml") 'Carrega para o DataGridView os dados das estacas da estrutura Dim dsGeometria = New DataSet("Geometria DataSet") dsGeometria = xmlDatadoc.DataSet dgvEstacas.DataSource = dsGeometria.DefaultViewManager dgvEstacas.DataMember = "ESTACA" Mudei ainda a parte que gerava meu segundo arquivo XML para: While y < x Dim Ident As Integer Ident = y + 1 'Cria elemento com o nome da estaca em questão writerEstaq.WriteStartElement("ESTACA") 'Seta atributos da estaca em questão writerEstaq.WriteElementString("ID", "E" + Ident.ToString()) writerEstaq.WriteElementString("X", txtAlturaCoroamento.Text) writerEstaq.WriteElementString("Y", "0") writerEstaq.WriteElementString("Z", "0") writerEstaq.WriteElementString("A", "0") writerEstaq.WriteElementString("W", "0") writerEstaq.WriteElementString("S", "1") 'Encerra elemento da estaca em questão writerEstaq.WriteEndElement() 'Incrementa contador y += 1 End While Isso funcionou! :D :D :D
  11. Bom dia pessoal, Tenho o seguinte código em um programa que eu fiz (segue abaixo): Basicamente, o que ele faz é criar dois arquivos XML. No final do código preciso que seja carregado em um DataGridView os dados gerados dentro do segundo arquivo XML. Ele até carrega as colunas bonitinho, mas não carrega os dados do meu arquivo XML. Não sei se estou gerando o arquivo XML errado ou algo assim. O arquivo XML gerado abre pelo XMLNotePad, o que significa que ele é um arquivo XML valido. Alguém poderia me dar uma luz? Private Sub btnCria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCria.Click 'btnGrava.Enabled = True Try 'Cria o arquivo XML contendo os dados da estrutura Dim writer As New XmlTextWriter(lblCaminhoProjeto.Text, Nothing) 'Cria a inicialização do arquivo XML writer.WriteStartDocument() 'Seta os comentários das linhas iniciais writer.WriteComment("Arquivo contendo dados gerais do projeto de fundações") writer.WriteComment("Arquivo gerado pelo programa SCE-BARONI.") 'Cria o elemento raiz writer.WriteStartElement("GeneralidadesEstaqueamento") 'Cria o elemento com os dados gerais da estrutura writer.WriteStartElement("DadosGerais") 'Preenche com os dados gerais informados writer.WriteElementString("NomeObra", txtNomeObra.Text) writer.WriteElementString("Observacoes", rtbObservacoes.Text) writer.WriteElementString("Data", dtpData.Text) 'Encerra o elemento DadosGerais writer.WriteEndElement() 'Cria o elemento com os dados dos arquivos writer.WriteStartElement("Arquivos") 'Cria vinculo com o arquivo de projeto writer.WriteElementString("Projeto", lblCaminhoProjeto.Text) 'Cria, caso selecionado pelo usuário, o vínculo com o memorial de cálculos If (lblLSimNao.Text = "Sim") Then writer.WriteElementString("Calculo", lblCaminhoFolhaCalculo.Text) Else writer.WriteElementString("Calculo", "NS") End If 'Cria elemento contendo o caminho dos dados geométricos da estrutura writer.WriteElementString("Geometria", "C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml") 'Encerra elemento Arquivos writer.WriteEndElement() 'Encerra o elemento raiz writer.WriteEndElement() 'Escreve o XML para o arquivo e fecha o objeto escritor writer.Close() 'Cria XML com os dados geométricos do estaqueamento Dim writerEstaq As New XmlTextWriter("C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml", Nothing) 'Cria inicialização do arquivo XML writerEstaq.WriteStartDocument() 'Seta os comentários das linhas iniciais writerEstaq.WriteComment("Arquivo contendo dados geométricos do projeto de fundações") writerEstaq.WriteComment("Arquivo gerado pelo programa SCE-BARONI.") 'Cria elemento geral dos estaqueamentos writerEstaq.WriteStartElement("Estacas") 'Cria atributo com o tipo de cálculo selecionado para a fundação 'writerEstaq.WriteAttributeString("MetodoCalculo", "Schiel") 'Cria tantos elementos de estacas quanto informado pelo usuário 'Declara a variável do contador Dim x, y As Integer x = Convert.ToInt64(txtQtdEstacas.Text) y = 0 'Cria os elementos While y < x Dim Ident As Integer Ident = y + 1 'Cria elemento com o nome da estaca em questão writerEstaq.WriteStartElement("E" + Ident.ToString()) 'Seta atributos da estaca em questão writerEstaq.WriteElementString("ID", "E" + Ident.ToString()) writerEstaq.WriteElementString("X", txtAlturaCoroamento.Text) writerEstaq.WriteElementString("Y", "0") writerEstaq.WriteElementString("Z", "0") writerEstaq.WriteElementString("A", "0") writerEstaq.WriteElementString("W", "0") writerEstaq.WriteElementString("S", "1") 'Encerra elemento da estaca em questão writerEstaq.WriteEndElement() 'Incrementa contador y += 1 End While 'Encerra elemento Estacas writerEstaq.WriteEndElement() 'Escreve o XML para o arquivo e fecha o objeto escritor writerEstaq.Close() MsgBox("Arquivos gerados com sucesso.") Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "Erro!") End Try 'Adiciona para o dgvEstacas os dados da estrutura criada dtGeometria = New DataTable("Estacas") dtGeometria.Columns.Add("ID") dtGeometria.Columns.Add("X") dtGeometria.Columns.Add("Y") dtGeometria.Columns.Add("Z") dtGeometria.Columns.Add("A") dtGeometria.Columns.Add("W") dtGeometria.Columns.Add("S") dtGeometria.ReadXml("C:\Arquivos de programas\SCE-BARONI\Estruturas\est" + frmNovo.txtNomeProjeto.Text + ".xml") dgvEstacas.DataSource = dtGeometria dgvEstacas.Refresh()
  12. Bom dia pessoal! Na minha classe de negócios estou utilizando o seguinte método para recuperar dados do meu banco (acho que vale a pena dizer que meu banco é MS-SQL Server 2000): public DataTable BuscaVendedor(string Vendedor) { SqlDataAdapter da = new SqlDataAdapter("select NumeroAto, LivroID, Folha, DataAto, Vendedor, CPFVendedor, Assinante, CPFAssinante, PlacaAuto, Observacao from tblAut where UPPER(Assinante) like @Assinante", conSisAr); da.SelectCommand.Parameters.Add("@Assinante", SqlDbType.Char, 50, "Assinante").Value = "%"+Vendedor.ToUpper()+"%"; conSisAr.Open(); try { DataTable dt = new DataTable(); da.Fill(dt); return dt; } finally { conSisAr.Close(); } } Já no meu formulário de buscas estou utilizando a seguinte codificação para recuperar dos dados: public override void Buscar() { clAcessoSisAr cl = new clAcessoSisAr(); dt = cl.BuscaVendedor(txtItem.Text); base.Buscar(); } O problema é que se eu digitar, por exemplo, o nome “DIORACI TORTORELO” no “txtItem “ e faço buscar, ele retorna o registro, porém se eu digito somente “DIORACI” ele não retorna nada, ou seja, ele só encontra no banco caso o texto digitado no “txtItem” for exatamente igual ao existente no banco... Como eu faço para que essa busca seja parcial, ou seja, se eu digitar “a” ele me retorne qualquer registro que tenha “a” no nome, nesse caso, se eu digitar “Dio” ele me retornaria todos os nomes que tenham “dio" em qualquer parte do nome? Valeu galera!
  13. Bom dia paulobergo, Acho muitíssimo importante saber a opinião de outros colegas sobre o assunto, mas me reservo do direito de discordar. Realmente até certo tempo atrás não era viável o armazenamento de imagens em banco de dados. Isso ocorria, pois os bancos de dados disponíveis não davam suporte direto a tal função e, quando davam, o faziam de forma precária. Levando em consideração o problema de backups, disponibilidade, portabilidade e tempo de acesso a tais objetos, vários bancos de dados passaram a dar suporte nativo a tal função. Hoje em dia quase todos os bancos de dados vêm preparados para isso. Podemos citar os que, em minha opinião, melhor fazem: Oracle, PostGreSQL, FireBird e InterBase. O PostGreSQL, projeto o qual acompanho de perto, tem um tempo de acesso, em média, 0,032 segundos mais rápido do que acesso direto, ou seja, o tempo de acesso a uma imagem armazenada dentro desse banco de dados é mais rápido do que se essa imagem estivesse guardada dentro de uma pasta. Isso ocorre graças a forma que o banco guarda as imagens em seu corpo. Levando em consideração que meus clientes, tal como a grande maioria dos clientes de nossa profissão, acaba esquecendo-se de fazer backup e justo no dia que se esquece de fazer backup o sistema dá problemas (Lei de Murphy), achei interessante, e menos trabalhoso que fazer um sistema que se comunique via FTP, instalar um sistema de replicação no banco de dados do cliente. Assim as informações, sejam elas imagens ou dados, tem uma cópia realizada automaticamente em um servidor remoto, sem que haja prejuízo de velocidade da internet ou do sistema. Pela internet você vai encontrar vários artigos sobre tal discussão que valem a pena serem lidos. Continuo aguardando um exemplo... :unsure:
  14. Pelo que diz a terceira linha do seu erro a função TLocate não suporta inteiros (tipo de dados que está sendo passado). Tente saber com qual tipo de dados essa função trabalha e converta-os antes de usá-los na função.
  15. Gostaria de saber se alguém tem um exemplo de armazenamento de imagens em BD funcionando.
  16. hencker

    Web Update

    Micheus posso tomar esse seu exemplo como GNU e modificar, para depois redistribuir aqui no fórum (com os devidos créditos, claro)?
  17. hencker

    Portal Asp

    É fato que existem portais "prontos" em PHP, como o Joomla por exemplo. Eu pesquisei pela internet mas não achei nada do tipo em ASP... Gostaria de saber dos colegas mais experientes se existe algo do tipo.
  18. É fato que o código abaixo adiciona o site aberto como favorito: <script language=JavaScript1.2> <!-- var bookmarkurl=document.location var bookmarktitle=document.title function addbookmark(){ if (document.all) window.external.AddFavorite(bookmarkurl,bookmarktitle) } // --> </SCRIPT> <FORM> <INPUT name=BTN_Bookmark onclick=java script:addbookmark() type=button value="Adicionar aos favoritos"> </FORM> Porém, se eu quiser colocat um outro site como favorito, por exemplo o UOL, como devo proceder? Ficaria assim, um botão escrito: "Adicione a UOL como favorito" e, ao clicar, ele adiciona http://www.uol.com.br como um favorito.
  19. hencker

    Web Update

    Yugi Moto, eu até achei... mas parei de programar em Delphi... Vou ver nos meus repositórios se eu encontro algo... qualquer. coisa eu posto aqui...
  20. Como assim Beraldo ??? É que eu to engatinhando ainda com o PHP... Como essa função funciona???
  21. Bom dia pessoal, Alguém sabe como extrair os "[" e "]" de uma variável, e tudo que estiver entre os colchetes? Por exemplo: Eu tenho a seguinte mensagem no meu banco: "Teste de [b:0d3bb13013]negrito[/b:0d3bb13013]" Gostaria de uma função que, ao processar essa entrada do banco me retornasse a seguinte mensagem: Entenderam? Ela tem que sumir com os colchetes e tudo que estiver dentro dele... Alguém sabe como fazer por favor???
  22. D4n1l0d dá para usar sim, exceto se for ECF (impressora fiscal). Caso seja um mero relatório em uma impressoa pequena basta contigurar a largura do papel... No caso de ser imprssora fiscal entre no site do fabrocante, eles sempre deixam um exemplo disponíveis.
  23. Você alterou as configurações do porta? O GMail usa a 465 para envio. Não se esqueça de habilitar o SSL.
  24. Para poder entender os exemplo, antes tem que se entender que 'Flags' funcionam como seu nome sugere. São como bandeiras sinalizadoras de um evento ou um estado do software. Exemplos [1] - No caso de serem dois Forms da mesma aplicação pode se usar variáveis globais. Uma forma bem sucinta de fazer é criar uma nova Unit, nessa nova Unit criar uma variável que é alterada pelos forms em tempo de execussão. [2] - No caso de serem duas aplicações distintas pode-se usar dois métodos. 1º seria usar um campo em uma banco de dados para isso. Vantagens: esse método permite controle por rede. Desvantagens: Esse método pode se tornar lento em grandes aplicações. É bem trabalhoso. 2º Usar arquivos de texto para controle. Vantagens: Programação mais simples. Desvantagens: Um "engraçadinho" pode apagar acidentalmente esse arquivo. Pode ocorrer erros na gravação e alteração desses arquivos. Uma alternativa, complexa, mas com resultados satisfatórios é usar o registro do windows como flag. Porém fica um alerta: A aplicação deve ser bem testada e ter os erros tratados, pois se alguém fecha um programa de forma inesperada e a modificação da flag não acontecer a contento o programa pode apresentar erros estranhos (experiência própria).
  25. Outra forma interessante e bem palpável é o uso de "Flags" para indicar a execussão ou não de uma dessas janelas.
×
×
  • Create New...