Ir para conteúdo
Fórum Script Brasil

VB6DeveloperJr

Membros
  • Total de itens

    65
  • Registro em

  • Última visita

Tudo que VB6DeveloperJr postou

  1. Juninn, obrigado pela resposta! Então o arquivo esta sendo gravado significa que, por exemplo é uma gravação telefonica. é criado um arquivo com extensão .wav, mas enquanto a pessoa esta falando ao telefone este mesmo arquivo esta aumentando o tamanho em Kbytes, ou seja esta sendo gerado ainda, eu preciso ouvir em tempo real o que a pessoa esta falando entende... Um exemplo claro disso seria, quando você esta baixando uma musica, e ela ainda não esta completa o arquivo aparece la na pasta de Donwloads certo? pois bem eu precisaria abrir esse arquivo e já ir ouvindo ao mesmo tempo que o donwload é feito, assim como quando você faz um donwnload direto pelo WindowsMediaPlayer, ou quando você vê um video no YouTube, que o arquivo ainda esta sendo baixado mas já da pra ir ouvindo/assistindo... Aguardo retorno.
  2. Pessoal, tenho um problemão aqui, preciso abrir um arquivo .wav no momento em que ele esta sendo gravado... Segue o código para exibir o WindowsMediaPlayer na página: <object id = "meuPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player..." type="application/x-oleobject" style="width: 294px; height: 60px"> <param name = "AutoStart" value = "True" /> <param runat="server" id="paramAudioLinkGravacao" name = "URL" /> <embed runat="server" id="EmbedAudioLinkGravacao" type="application/x-mplayer2" width = "294px" height = "60px"></embed> </object> E este é o código no CodeBehind: string caminho = "C:\arquivo.wav"; Page.ClientScript.RegisterStartupScript(this.GetType(), "meuPlayer", caminho, true); this.paramAudioLink.Attributes.Add("value", caminho); this.EmbedAudioLink.Attributes.Add("src", caminho); Não sei se é preciso usar Stream, Buffer, mas acontece que pelo WindowsMedia Player da o erro de que não é possivel abrir o arquivo pois ele esta sendo usado por outro programa. Preciso abrir o conteudo dele mesmo enquanto esta sendo gravado. obrigado.
  3. OSJunior, segue o código completo: if (e.CommandName.ToString() == "ExecutarAudio") { gdvGravacoes.SelectedIndex = Convert.ToInt32(hidNo.Value); FileStream arquivo = new FileStream(@"\\10.6.100.109\D\Folder\File.Wav", FileMode.Open,FileAccess.Read); UpdatePanel4.Update(); Page.ClientScript.RegisterStartupScript(this.GetType(), "meuPlayer", arquivo.Name, true); this.paramAudioLink.Attributes.Add("value", arquivo.Name); this.EmbedAudioLink.Attributes.Add("src", arquivo.Name); oLog.GravarLog(Struct_Usuario.ID, "Execução da gravação: " + arquivo.Name); } if (e.CommandName.ToString() == "SalvarArquivo") { FileInfo arquivo = new FileInfo(@"\\10.6.100.109\D\Folder\File.Wav"); Response.Clear(); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename= " + arquivo.Name + ""); Response.Flush(); try { Response.WriteFile(arquivo.FullName); oLog.GravarLog(Struct_Usuario.ID, "Download da gravação " + arquivo.FullName.ToString()); } catch (Exception ex) { oLog.GravarLog(Struct_Usuario.ID, "Erro " + ex.Message); } Aqui esta meu AspX com o Object do WindowsMediaPlayer que vai abrir o arquivo de audio na aplicação. <object id = "meuPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player..." type="application/x-oleobject" style="width: 294px; height: 60px"> <param name = "AutoStart" value = "True" /> <param runat="server" id="paramAudioLink" name = "URL" /> <embed runat="server" id="EmbedAudioLink" type="application/x-mplayer2" width = "294px" height = "60px"></embed> </object> Para salvar o arquivo, funciona normalmente, apenas para abrir que da o erro de Usuario e Senha.
  4. Pessoal, estou tentando acessar um arquivo que se encontra na rede da seguinte forma FileStream arquivo = new FileStream(e.CommandArgument.ToString(), FileMode.Open,FileAccess.Read); Porém sempre aparece o erro "Falha de logon: nome de usuário desconhecido ou senha incorreta." Caso alguém já tenha passado por isso por favor me avisar! Preciso muito resolver este problema. obrigado...
  5. Testei Quintelab, e nada aindaa.. já tentei de tudo e nada resolve, eu verifiquei no Gerenciador de Tarefas do Windows, e o consumo de memoria do iexplore aumenta quase 1000 k, a cada interval do Timer, e isso faz o navegador travar entende? não sei o que pode estar acumulando tantas requisições assim, porque no evento Tick eu faço uma consulta somente a porta socket e fecho a conexão depois... enfim, alguma sugestão de como resolver??
  6. Ok,seria dessa forma? <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Enabled="true" Interval="3000"> </asp:Timer> <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <Triggers> <asp:AsyncPostBackTrigger ControlID = "Timer1" EventName = "Tick" /> </Triggers> <ContentTemplate> <asp:DataList ID="dtlMonitoracao" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" CellPadding="2" HorizontalAlign="Center" ShowFooter="False" ShowHeader="False" CellSpacing="2"> <ItemTemplate> <asp:Panel ID="pnlCanais" runat="server" BorderWidth = "2" > <table width="200px" height="70px" align="center"> <tr valign="top"> <td> <asp:Label ID="lblStatus" runat="server" CssClass="transparenciaPNG" CommandName="ExibirGravacoes" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("IP").ToString() %>' /> </td> <td> <asp:Label ID="lblCanais" runat="server" Text='<%# "Canal " + Eval("Canal").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> <tr valign="bottom"> <td> <asp:ImageButton ID="imgOuvir" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/falante.png" CommandName="ExecutaAudio" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("CAMINHO").ToString() %>' /> </td> </tr> </table> </asp:Panel> </ItemTemplate> </asp:DataList> </ContentTemplate> </asp:UpdatePanel>
  7. Pessoal, estou com um DataList e dentro do ItemTemplate, possui um label informando o Status do registro, preciso fazer uma atualização a cada 3 seg, nesse status. Para isso eu fiz o seguinte, <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Enabled="true" Interval="3000"> </asp:Timer> <asp:DataList ID="dtlMonitoracao" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" CellPadding="2" HorizontalAlign="Center" ShowFooter="False" ShowHeader="False" CellSpacing="2"> <ItemTemplate> <asp:Panel ID="pnlCanais" runat="server" BorderWidth = "2" > <table width="200px" height="70px" align="center"> <tr valign="top"> <td> <asp:Label ID="lblStatus" runat="server" CssClass="transparenciaPNG" CommandName="ExibirGravacoes" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("IP").ToString() %>' /> </td> <td> <asp:Label ID="lblCanais" runat="server" Text='<%# "Canal " + Eval("Canal").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> <tr valign="bottom"> <td> <asp:ImageButton ID="imgOuvir" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/falante.png" CommandName="ExecutaAudio" CommandArgument='<%# Eval("CANAL").ToString() + ";" + Eval("CAMINHO").ToString() %>' /> </td> </tr> </table> </asp:Panel> </ItemTemplate> </asp:DataList> </ContentTemplate> </asp:UpdatePanel> Existe um Timer com o Interval de 3 seg, dentro do UpdatePanel, e no evento Tick eu faço a verficação do status do registro e percorro o DataList fazendo a devida alteração. Teoricamente era pra tudo funcionar sem problemas, mas o navegador la na barra de status fica como se tivesse carregando a pagina a cada 3 seg, fazendo a aplicação ficar muito lenta! alguém teria alguma ideia de como resolver isto? Obrigado!!!
  8. então Quintelab, eu não consulto a base de dados dentro do Timer, no evento Tick eu consulto uma porta socket que me retorna o status do registro, tipo "Ativo" ou "Inativo", meu evento do Timer inicia assim: protected void Timer1_Tick(object sender, EventArgs e) { if (Session.Count == 0) { Response.Redirect("Login.aspx"); } Timer1.Enabled = false; Eu desabilito ele para não fazer uma solicitação em cima da outra, e só habilito quando termino de fazer a verificação, eu consegui monitorar o tempo que demora para finalizar todo esse evento Tick, e o tempo foi de em media 1 seg. Achei estranho o fato da pagina la no rodape ficar como se tivesse carregando a cada 2 seg, imaginei que o UpdatePanel não deixaria isso acontecer... Se fosse possivel eu jogar o UpdatePanel dentro apenas do ItemTemplate do DataList provavel que não ficaria tão lento...
  9. Não sei se tem alguma coisa haver, mas o Timer faz com que aquela barra de progresso no rodapé do IE fique carregando o tempo todo... não ocorre refresh por causa do UpdatePanel, mas fica como se a página não estivesse completamente carregada! O código é esse : <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DataList ID="dtlMonitoracao" runat="server" RepeatColumns="4" RepeatDirection="Horizontal" OnItemCommand="dtlMonitoracao_ItemCommand"> <ItemTemplate> <asp:Panel ID="pnlCanais" runat="server" CssClass="fundoPainel"> <table width="200px" height="70px" align="center"> <tr valign="top"> <td> <asp:ImageButton ID="imgStatus" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/status_erro.png" CommandName="ExibirGravacoes" CommandArgument='<%# Eval("STATUS").ToString() %>' /> </td> <td> <asp:Label ID="lblCanais" runat="server" Text='<%# "Canal " + Eval("Canal").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> <tr valign="bottom"> <td> <asp:ImageButton ID="imgOuvir" runat="server" CssClass="transparenciaPNG" ImageUrl="/App_Themes/Imagens/falante.png" CommandName="ExecutaAudio" CommandArgument='<%# Eval("CANAL").ToString() %>' /> </td> <td> <asp:Label ID="lblRamais" runat="server" Text='<%# Eval("RAMAIS").ToString() %>' Font-Bold="True"></asp:Label> </td> </tr> </table> </asp:Panel> <cc1:RoundedCornersExtender ID="RoundedCornersExtender1" runat="server" TargetControlID="pnlCanais" Corners="All" BorderColor="#638CB5" Radius="10"> </cc1:RoundedCornersExtender> </ItemTemplate> </asp:DataList> <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Enabled="true" Interval="2000"></asp:Timer> <br /> <br /> </ContentTemplate> </asp:UpdatePanel>
  10. Pessoal, estou desenvolvendo uma aplicação em C#, e estou com um problema. Seguinte, tenho um DataList que esta dentro de um UpdatePanel, criei um Timer nesse UpdatePanel, para fazer a atualização do status do registro a cada 2seg. Este mecanismo esta funcionando muito bem, porém quando fico por volta de 20 minutos nessa tela que executa o Timer, e clico em outro menu para abrir outra pagina, o tempo de resposta fica muito lento e algumas vezes o navegador fica Sem Resposta e é preciso fechar o navegador. já tentei de tudo, fiz o teste com o GridView e permanece com este mesmo problema... se alguém soubeer favoor me da alguma sugestão para resolver... Obrigado!!!
  11. VB6DeveloperJr

    Buffer em C#

    Pessoal, estou com um problema meio complicado, acontece o seguinte... Tenho um arquivo de audio .wav que preciso executar enquanto esta sendo gerado. Na minha aplicação tenho esta ferramenta para exibir o MediaPlayer! http://www.beansoftware.com/Free-ASP.NET-C...er-Control.aspx O problema é que, o WMP não 'deixa' abrir o arquivo de audio enquanto esta sendo gerado (existe o arquivo, mas o tamanho em Kbytes dele esta aumentando a cada seg que passa). Eu preciso fazer como se fosse carregar uma música pela internet, que depois que é carregado um pouco podemos escutar ao mesmo tempo que é carregado! alguém tem alguma ideia de como se fazer isso?? Caso não tenha sido muito claro por favor perguntem!!! obrigado!
  12. Galera, consegui resolver! imaginei que para enviar e receber strings da Porta socket, é necessário um tempo para que a aplicação entenda o que deve ser feito, usando esse código funcionou sem precisar dos BreakPoint! using System.Threading; Thread.Sleep(1000); socket.SendText("10"); Thread.Sleep(1000); strRetorno = socket.ReceivedText; Só fiz a aplicação 'durmir' durante 1 segundo que funcionou!!! :rolleyes:
  13. Pessoal, não faço idéia do que possa ser esse problema, estou usando o System.Net.Sockets, faço a conexão, envio uma mensagem para receber uma string com as informações! agora acreditem!!! quando eu coloco um breakPoint na linha em que é enviado a mensagem, e na linha que retorna a string: socket.SendText("10"); string a = socket.ReceivedText; a string com as informações retorna normalmente, o problema é: Quando eu executo a aplicação sem breakPoint a string não me retorna nada!!!! Não faço ideia onde começar a procurar para resolver isso! porque afinal o código esta certo, pois quando eu debugo funciona, agora se eu tira um dos breakPoints dessas linhas a string retorna vazia!!! Obs. Usei essa classe para trabalhar com socket: http://www.linhadecodigo.com.br/Dica.aspx?id=1288 Mas acho que isso não vem ao caso, meu problema é só saber o que acontece de diferente quando eu debugo e quando eu executo a aplicação sem breakpoint! é eu sei isso é muito estranho...
  14. Pessoal, desculpem eu não havia pesquisado direito antes de postar, a resolução para o meu problema: http://sites.google.com/site/arlen4mysite/...k-for-templatef A unica coisa que acontece agora, é que eu preciso esperar cerca de 3 seg. para clicar novamente no TemplateField, senão não ocorre o PostBack, vai entender esse UpdatePanel não é? talvez seja porque estou usando um Timer de 1,5 seg na pagina <_< Obrigado pela ajuda!!!
  15. quintelab, eu entendi o conceito para adicionar trigger de um controle normal em tela, porém ainda não consegui adicionar uma trigger um ImageButton dentro do ItemTemplate de um GridView, não sei se para isso é necessario fazer pelo Code-Behind no evento RowDataBound assim: protected void gdv_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { ImageButton btnStatus= new ImageButton(); btnStatus = (ImageButton)e.Row.FindControl("imgStatus"); if (btnStatus!= null) { AsyncPostBackTrigger trigger = new AsyncPostBackTrigger(); trigger.ControlID = "btnStatus"; //trigger.EventName = "Click"; UpdatePanel1.Triggers.Add(trigger); if (status == 1 ) { btnStatus.ImageUrl = "/App_Themes/Imagens/status.png"; } else { btnStatus.Visible = false; } } } } ou simplesmente no Aspx : <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode ="Conditional" > <Triggers> <asp:PostBackTrigger ControlID = "imgStatus"/> </Triggers> <ContentTemplate> <asp:GridView ID="gdvCanais" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="Horizontal" onpageindexchanging="gdvCanais_PageIndexChanging" DataKeyNames="SERV_ID,CAMINHO" onrowdatabound="gdvCanais_RowDataBound" PageSize="15" Width="769px" onrowcommand="gdvCanais_RowCommand"> <Columns> <asp:TemplateField HeaderText="Status"> <ItemTemplate> <asp:ImageButton ID="imgStatus" runat="server" CommandArgument = '<%Eval("CANAL")%>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </ContentTemplate> </asp:UpdatePanel> Colocando direto no Aspx aparece o erro: A control with ID 'imgStatus' could not be found for the trigger in UpdatePanel 'UpdatePanel1'. Enfim, alguma ideia?
  16. Pessoal, tenho um gridview, <asp:GridView ID="gdvCanais" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="Horizontal" onpageindexchanging="gdvCanais_PageIndexChanging" DataKeyNames="SERV_ID,CAMINHO" onrowdatabound="gdvCanais_RowDataBound" PageSize="15" Width="769px" onrowcommand="gdvCanais_RowCommand"> <Columns> <asp:TemplateField HeaderText="Status"> <ItemTemplate> <asp:ImageButton ID="imgStatus" runat="server" CommandArgument = '<%# Eval("CANAL") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> e preciso que o ItemTemplate = 'imgStatus' trabalhe como uma Trigger dentro do UpdatePanel, é possível fazer isso?? Obrigado.
  17. Veja se isto te ajuda: http://www.codeproject.com/Articles/37297/...on-Pattern.aspx Utilizando o padrão Singleton, você terá apenas uma instância da classe, e poderá acessar suas propriedades em qualquer form!
  18. é a classe SingleTon que estou usando no momento, só que andei pesquisando e as pessoas preferem usar Session ou ViewState nesses casos, imaginei que teria alguma maneira mais adepta ao OO ou desenvolvimento em n- camadas. Então você me aconselha que qualquer informação que eu necessitar em toda a aplicação (como se fosse uma variável global) eu criar a classe SingleTon??
  19. Pessoal, estou com uma dúvida até que um pouco simples, tenho que armazenar o ID do usuário durante toda a aplicação, pois a cada página que o usuário acessa eu preciso fazer um Insert no Banco de Dados para o Log! Agora minha dúvida, o aconselhável para esses casos é ? * criar uma Session ou uma ViewState no momento do Login armazenando essa informação Struct_Usuario objUsuario = new Struct_Usuario() Session["UsuarioID"] = objUsuario.ID; * em minha classe de Struct, usar o static para a propriedade ID, sendo assim não sera preciso uma instancia para o acesso a esta propriedade. private static int _ID = 0; public static int ID { get { return _ID; } set { _ID = value; } } * usar o padrão SingleTon nesta classe para que seja feito apenas uma instância e eu não perca esses dados? private static Struct_Usuario m_instance = null; // Construtor privado private Struct_Usuario() { } public static Struct_Usuario Instance { get { if (m_instance == null) { m_instance = new Struct_Usuario(); } return m_instance; } } Enfim, qual dessas formas seria a mais adequada ou a correta para o meu caso??
  20. Era exatamente isso que eu queria, tinha pensado em criar uma variavel auxiliar mas estava tentando criar um SqlDataReader não conhecia ainda o IDataReader!!! Valeuu Obrigadooo!!
  21. então Bruno isso foi a primeira coisa que eu tentei fazer, mas não sei como! olha só para eu atribuir o DataReader ao Label faço da seguinte forma: Lembrando que o lbl.Usuario possui o ID do usuário que passo como parametro para a função retornar o nome! lblUsuario.Text = objDal.GetByUsuario(Convert.ToInt32(lblUsuario.Text))["NOME"].ToString(); Agora para eu chamar o Read fora do metodo teria que ser dessa forma: lblUsuario.Text = objDal.GetByUsuario(Convert.ToInt32(lblUsuario.Text)).Read() A minha dúvida é como eu faço a chamada do metodo com o Read() e depois faço a leitura dos dados? Valeuu!!
  22. Pessoal, consegui resolver o problema em termos... no metodo eu adicionei o .Read(), ficou assim oDr = oComm.ExecuteReader(); oDr.Read(); return oDr; Mas eu utilizo esse mesmo metodo para o DataSource de um DetailsView, e agora ele não funciona como DataSource, enfim alguma idéia?? para que essa função funcine tanto acessando Read() direto, como acessando por DataSource. []'s
  23. Pessoa, possuo em uma classe DAL, o metodo GetByUser, que me retorna um DataReader. public SqlDataReader GetByUsuario(Int32 id) { SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["strConn"].ConnectionString); using (SqlCommand oComm = new SqlCommand("SELECT * FROM TB_USUARIOS WHERE ID = @ID", oConn)) { SqlDataReader oDr; try { oConn.Open(); oComm.Parameters.Add("@ID", SqlDbType.BigInt).Value = id; oDr = oComm.ExecuteReader(); return oDr; } catch (Exception) { throw; } } } Esse metodo sempre me retornará um registro apenas, eu tenho um label que contém o ID do usuário e preciso pegar esse ID e mostrar o Nome, fiz dessa forma: DAL_Usuario objDal = new DAL_Usuario(); lblUsuario.Text = objDal.GetByUsuario(Convert.ToInt32(lblUsuario.Text))["NOME"].ToString(); Mas esta aparecendo o erro: Invalid attempt to read when no data is present. alguém poderia me ajudar??
  24. Pessoal, em um DetailsView, eu crio os botões para Insert em tempo de execução! da seguinte forma: dtvUsuarios.AutoGenerateInsertButton = true; Porém esses botões ficam com o text default(Insert e Cancel) gostária de saber como fazer para alterar o text desse botões pelo código C# ! Caso alguém saibaa!!
  25. Pessoal, tenho um DetailsView e não utilizo nenhum SqlDataSource vinculado, estou manipulando ele atráves do CodeBehind mesmo! Existe uma maneira para fazer o Update via código?? Meu código esta assim, o meu maior problema é como pegar os parametros!!! protected void dtvServidores_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) { using (SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["strConn"].ConnectionString)) { using (SqlCommand oComm = new SqlCommand("UPDATE SERVIDORES SET NOME = @NOME WHERE ID = @ID", oConn)) { try { oComm.CommandType = CommandType.Text; oComm.Parameters.Add("@ID",SqlDbType.BigInt,5,"ID"); oComm.Parameters.Add("@NOME", SqlDbType.Text,100,"NOME"); oConn.Open(); oComm.ExecuteNonQuery(); } catch (Exception) { throw; } } } } Agradeço caso alguém saibaa!!!
×
×
  • Criar Novo...