
alexandremanowar
Membros-
Total de itens
634 -
Registro em
-
Última visita
Tudo que alexandremanowar postou
-
Certo entendi. Valeu pela dica pessoal. Abraços
-
E a e beleza Então já estou estudando algo sobre esse o mono, porém eu precisa saber se a microsoft tem alguma versão do próprio Visual Studio para linux? Será que a microsoft deixou as ferramentas ou uma versão do framework para linux?
-
E ae pessoal beleza! Gostaria de saber se é possível (ou existe alguma versão) rodar o Visual Studio .Net 2005 Express no linux? Se for onde baixo e como instalo? Valeu
-
E ae pessoal beleza Então estou quase conseguindo resolver o problema de como capturar várias webcam no winform! Esta dando um problema de thread pelo menos é essa a mensagem de erro que estou recebendo. Modifiquei um pouco o código para se adapatar melhor ao que estou fazendo, ele esta assim: Imports System.Runtime.InteropServices Imports System.Threading Public Class Form1 Public Class captura Public dev As Integer Public pic As PictureBox Public Sub New(ByVal idev As Integer, ByVal opic As PictureBox) dev = idev pic = opic End Sub End Class Const WM_CAP As Short = &H400S Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10 Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11 Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30 Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50 Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52 Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53 Const WS_CHILD As Integer = &H40000000 Const WS_VISIBLE As Integer = &H10000000 Const SWP_NOMOVE As Short = &H2S Const SWP_NOSIZE As Short = 1 Const SWP_NOZORDER As Short = &H4S Const HWND_BOTTOM As Short = 1 'câmera 1 Dim iDevice As Integer = 0 ' ID do dispositivo atual Dim hHwnd As Integer ' manipulador da janela do visualizador Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, <MarshalAs(UnmanagedType.AsAny)> ByVal lParam As Object) As Integer Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, _ ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer 'A função DestroyWindow destroi a janela especificada. 'Envia as mensagens WM_DESTROY e WM_NCDESTROY para a 'janela para destivá-la e remove o foco do teclado da mesma 'Library - User32 'Parametros - hWnd - (identica a janela a ser destruida) 'Retorna um valor diferente de zero se for executada com sucesso, 'caso contrario retorna zero Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Integer, _ ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Short, ByVal hWndParent As Integer, ByVal nID As Integer) As Integer Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, _ ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, ByVal cbVer As Integer) As Boolean Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'verifica e carrega os dispositivos carregaDispositivos() ' se encontrou dispostivos instalados então exibe If lstDispositivos.Items.Count > 0 Then btnIniciar.Enabled = True lstDispositivos.SelectedIndex = 0 btnIniciar.Enabled = True Else lstDispositivos.Items.Add("Não existe dispositivo de captura instalado.") btnIniciar.Enabled = False End If btnParar.Enabled = False btnSalvar.Enabled = False picCaptura.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub carregaDispositivos() Dim strNome As String = Space(100) Dim strVer As String = Space(100) Dim bRetorna As Boolean Dim x As Integer = 0 '' Carrega os dispositivos em lstDevices Do ' Obtem o nome e a versão Driver bRetorna = capGetDriverDescriptionA(x, strNome, 100, strVer, 100) ' se existir um dispositivo inclui o nome da lista If bRetorna Then lstDispositivos.Items.Add(strNome.Trim) x += 1 Loop Until bRetorna = False End Sub Private Sub abreJanelaVisualizacao(ByVal cap As Object) Dim iHeight As Integer = cap.pic.Height Dim iWidth As Integer = cap.pic.Width ' Abre a janela de visualização no picturebox hHwnd = capCreateCaptureWindowA(cap.dev, WS_VISIBLE Or WS_CHILD, 0, 0, 640, _ 480, cap.pic.Handle.ToInt32, cap.dev) ''mudar aqui a variavel. ' Conecta com o drive If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, cap.dev, 0) Then ' 'Define a escala de previsão SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0) 'Define a taxa de visualização em milisegundos SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0) 'Iniciar a visualização da imagem a partir da camara SendMessage(hHwnd, WM_CAP_SET_PREVIEW, True, 0) ' Redimensiona a janela para se ajustar no picturebox SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, cap.pic.Width, cap.pic.Height, SWP_NOMOVE Or SWP_NOZORDER) btnSalvar.Enabled = True btnParar.Enabled = True btnIniciar.Enabled = False Else ' ' Erro de conexão fecha a janela de dispostivos DestroyWindow(hHwnd) btnSalvar.Enabled = False End If End Sub Private Sub btnIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click iDevice = lstDispositivos.SelectedIndex Dim th As New Thread(New ParameterizedThreadStart(AddressOf abreJanelaVisualizacao)) th.Start(New captura(0, picCaptura)) Dim th2 As New Thread(New ParameterizedThreadStart(AddressOf abreJanelaVisualizacao)) th2.Start(New captura(1, picCaptura2)) End Sub End Class Então se vocês observarem o código criei uma class que recebe o device e os picturebox do thread que crei no botão iniciar do projeto. Tenho dois picturebox, logo criai 2 thread para mandar as informações para a class captura que vai mandar a informação para o método abreJanelaVisualizacao. Porém quando eu executo o programa e clico no botão iniciar do programa, ele marca a seguinte linha: hHwnd = capCreateCaptureWindowA(cap.dev, WS_VISIBLE Or WS_CHILD, 0, 0, 640, _ 480, cap.pic.Handle.ToInt32, cap.dev) e coloca a seguinte mensagem de erro: Operação entre threads inválida: controle 'picCaptura' acessado de um thread que não é aquele no qual foi criado. Eu tenho duas picturebox no form uma é a picCaputra e outra a picCaptura2 e é nessa parte da linha cap.pic.Handle.ToInt32 que recebe o nome do picturebox que ele deve jopar a imagem, ou seja pelo que estou entendo esta tendo um problema entre a informação que thread esta jogando, mas ainda não consegui resolver. Alguém tem idéia de onde pode estar o erro? Acredito que resolvendo isso o programa fique funcionando. Se alguém poder me ajudar eu agradeço. Valeu Valeu.
-
E a e beleza! Ficou bem mais limpo e simples esse modo que você criou. Bacana mesmo valeu pela força e a explicação. At+
-
E a e pessoal beleza. Então pessoal desde que terminei esse código acima estou tentando melhorar ele. Estou tentando fazer com que ele captura 6 webcams na tela. Para isso estou fazendo o seguinte: 1)Aumentei a quantidade de picturebox para 6 noemando conforme o nome que já tem ficou de picCapura .... picCaptura5 2)Aí vem a parte que estou me complicando acredito que vou ter que trabalhar em um loop para ele lançar as câmeras na picturabox ou trabalhar com System.Threading . Estou tentando das duas dormas mas não consegui nada ainda não deu pau na tela mas só me exibe uma imagem no ultimo picturebox que seria o picCaptura5 e as outras picturebox ficam com o fundo preto rsrssr não sei porque. Na verdade a parte que acredito que devo trabalhar é essa: Private Sub abreJanelaVisualizacao() .... ' Abre a janela de visualização no picturebox hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, _ 480, picCaptura.Handle.ToInt32, 0) ... Porque é essa a parte do código que despera o Handle para a picCaptura. Acredito que tenho que tenho que trocar o nome fixo da picturebox por uma variável e deixar essa opção dentro de um loop que vai trocando o nome da picturebox. Acredito que fazendo isso e colocando um Threading nessa parte: Private Sub btnIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click iDevice = lstDispositivos.SelectedIndex abreJanelaVisualizacao() Dim th As New Thread(AddressOf abreJanelaVisualizacao(iDevice, picCapitura)) th.Start() End Sub Onde nessa linha: Dim th As New Thread(AddressOf abreJanelaVisualizacao(iDevice, picCapitura)) Eu troco o picCapitura por todas as picturebox. É assim que estou tentando fazer mas não deu certo até agora, será que alguém tem idéia de como consigo corrigir isso? Ou codificar de forma melhor? Dessa forma o programinha fica mais legal. Valeu
-
E ae Graymalkin beleza Então cara consegui fazer um esquema aqui e funcionou, porém achei que ficou meio grande. Veja o códgio: Dim sOrigem As String = "C:\teste" Dim sDestino As String = "D:\teste2" Dim sArquivo As String = String.Empty Dim Arquivo As New List(Of String) Dim iArquivo As Integer Try 'verifica se o diretório não existe If Dir(sDestino, FileAttribute.Directory) = String.Empty Then 'cria o diretório MkDir(sDestino) End If 'tenta capturar o primeiro arquivo sArquivo = Dir(sOrigem, FileAttribute.Archive) 'verifica se há nome de arquivo aqui Do While sArquivo <> String.Empty 'verifica se o atributo é arquivo (não pode ser um diretório) If (GetAttr(sOrigem & sArquivo) And FileAttribute.Archive) = FileAttribute.Archive Then 'adiciona a lista de arquivos Arquivo.Add(sArquivo) End If 'pega o próximo nome de arquivo sArquivo = Dir() Application.DoEvents() Loop 'acrescenta barra no diretório sDestino += "\" 'verifica se há algum arquivo a copiar If Arquivo.Count > 0 Then 'percorre a lista de arquivos For iArquivo = 0 To Arquivo.Count - 1 'verifica se arquivo já existe na pasta de destino If Dir(sDestino & Arquivo(iArquivo), FileAttribute.Archive) <> String.Empty Then 'delete o arquivo Kill(sDestino & Arquivo(iArquivo)) End If 'copia o arquivo My.Computer.FileSystem.CopyFile(sOrigem & Arquivo(iArquivo), sDestino & Arquivo(iArquivo)) Next End If Catch ex As Exception MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK) End Try Será que tem um forma menor de se fazer isso? O que você achou? Valeu pela ajuda cara.
-
E ae pessoal beleza! Estou tendo problemas ao manipular arquivos em uma aplicação descktop em vb.net 2005 que estou desenvolvendo. A idéia é simples mas não estou conseguindo, eu preciso fazer o seguinte copiar todos os arquivos do diretório "x" por exemplo que fica no hd para o direrório "y". De modo simples eu consegui fazer tipo com um arquivo só. A idéia também é que se o arquivo que já esteja sendo copiado existir no diretório de destino então ele não precisa copiar. Eu consegui fazer isso com um unico arquivo por vez: Dim origem As String = "C:\origem\arquivo.doc" Dim destino As String = "D:\arquivo.jpg" File.Copy(origem, destino) Para verificar se o arquivo já existe ou não usei uma estrutura If...Else usando File.Existe para verificar caso o arquivo já exista se não existir aí sim ele faz a cópia. Mas preciso que ele faça isso com todos os arquivos do diretório e não estou conseguindo. Ou seja pega todos os arquivos do diretório de origem e copia para o diretório de destino e no processo verificando já existe ou não os que já existir ele não copia. Alguém tem uma idéia de como eu posso fazer isso? Valeu
-
E ae beleza então galera consegui resolver o problema. Fiz um código que salva a imagem que esta no picturebox. o código ficou assim: Private Sub btnSalvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalvar.Click Dim dados As IDataObject Dim bmap As Image ' Copia a imagem para o clipboard SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0) ' Obtem a imagem do clipboard e converte para bitmap dados = Clipboard.GetDataObject() If dados.GetDataPresent(GetType(System.Drawing.Bitmap)) Then bmap = CType(dados.GetData(GetType(System.Drawing.Bitmap)), Image) picCaptura.Image = bmap fechaJanelaVisualizacao() btnSalvar.Enabled = False btnParar.Enabled = False btnIniciar.Enabled = True ''essa parte captura a mensagem do picturebox e salva onde e com o nome que eu especificar Dim path As String = "C:\foto\teste.jpg" Dim img = New Bitmap(imgFoto.Image) img.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg) End If End Sub Dessa forma basta eu clicar no botão salvar e ele salva no diretório que quiser automáticamente. Se alguém precisar salvar com caixa de diálogo é só usar o primeiro exemplo. Quem precisar esta aí um exemplo completo. Valeu
-
E ae beleza Pessoal Então fazendo pesquisas consegui alguns tutorias fiz umas junções e consegui fazer, deu trabalho mas graças a Deus saiu. O progama ficou simples, ele é básico tem um picturebox onde é exida a imagem que esta sendo capturada pela câmera e tem 3 botões que nomei como iniciar,parar e salvar. Quando carrego o programa clico ni iniciar e ele ativa a cptura da iamgem da câmera e mostra no picturebox, quando clico no salvar ele copia a imagem atual da câmera o clipboard e fica ela na picturebox ou seja nesse momento ele para de caputurar imagens da câmera e deixa apenas a imagem que foi salva na memória e me abra um savefiledialog para salvar a imgem onde eu especificar. Detalhe importante para isso estou usando a dll avicap32.dll que faz conexão e obtem dispositivos de vídeos. O tutorial que me deu uma idéia legal de como fazer isso foi esta nesse link: tutotial Quem precisar de algo igual é s[o estudar bem esse tutorial e caso tenha mais dúvidas basta procurar referências sobre as bibliotecas e funções na net de forma especificada foi assim que consegui. Agora a única coisa que ainda não consegui fazer e estou meio travado é o seguinte: Quando eu clico no botão salvar ele me abra a janela para escolhar onde quero salvar e nomear o arquivo, porém eu gostaria de fazer diferente, gostaria de apenas clicar no botão salvar ele já vai salvar em um local e com o nome que eu já deixar programado no programa. Como eu posso fazer isso? Para que vocês possam entender vou postar o código O meu programa ficou assim: Imports System.Runtime.InteropServices Public Class Form1 Const WM_CAP As Short = &H400S Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10 Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11 Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30 Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50 Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52 Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53 Const WS_CHILD As Integer = &H40000000 Const WS_VISIBLE As Integer = &H10000000 Const SWP_NOMOVE As Short = &H2S Const SWP_NOSIZE As Short = 1 Const SWP_NOZORDER As Short = &H4S Const HWND_BOTTOM As Short = 1 Dim iDevice As Integer = 0 ' ID do dispositivo atual Dim hHwnd As Integer ' manipulador da janela do visualizador Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, <MarshalAs(UnmanagedType.AsAny)> ByVal lParam As Object) As Integer Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, _ ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer 'A função DestroyWindow destroi a janela especificada. 'Envia as mensagens WM_DESTROY e WM_NCDESTROY para a 'janela para destivá-la e remove o foco do teclado da mesma 'Library - User32 'Parametros - hWnd - (identica a janela a ser destruida) 'Retorna um valor diferente de zero se for executada com sucesso, 'caso contrario retorna zero Declare Function DestroyWindow Lib "user32" (ByVal hndw As Integer) As Boolean Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Integer, _ ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Short, ByVal hWndParent As Integer, ByVal nID As Integer) As Integer Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, _ ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, ByVal cbVer As Integer) As Boolean Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'verifica e carrega os dispositivos carregaDispositivos() ' se encontrou dispostivos instalados então exibe If lstDispositivos.Items.Count > 0 Then btnIniciar.Enabled = True lstDispositivos.SelectedIndex = 0 btnIniciar.Enabled = True Else lstDispositivos.Items.Add("Não dispositivo de captura instalado.") btnIniciar.Enabled = False End If btnParar.Enabled = False btnSalvar.Enabled = False picCaptura.SizeMode = PictureBoxSizeMode.StretchImage End Sub Private Sub carregaDispositivos() Dim strNome As String = Space(100) Dim strVer As String = Space(100) Dim bRetorna As Boolean Dim x As Integer = 0 '' Carrega os dispositivos em lstDevices Do ' Obtem o nome e a versão Driver bRetorna = capGetDriverDescriptionA(x, strNome, 100, strVer, 100) ' se existir um dispositivo inclui o nome da lista If bRetorna Then lstDispositivos.Items.Add(strNome.Trim) x += 1 Loop Until bRetorna = False End Sub Private Sub abreJanelaVisualizacao() Dim iHeight As Integer = picCaptura.Height Dim iWidth As Integer = picCaptura.Width ' Abre a janela de visualização no picturebox hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, _ 480, picCaptura.Handle.ToInt32, 0) ' Conecta com o drive If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) Then ' 'Define a escala de previsão SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0) 'Define a taxa de visualização em milisegundos SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0) 'Iniciar a visualização da imagem a partir da camara SendMessage(hHwnd, WM_CAP_SET_PREVIEW, True, 0) ' Redimensiona a janela para se ajustar no picturebox SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, picCaptura.Width, picCaptura.Height, SWP_NOMOVE Or SWP_NOZORDER) btnSalvar.Enabled = True btnParar.Enabled = True btnIniciar.Enabled = False Else ' ' Erro de conexão fecha a janela de dispostivos DestroyWindow(hHwnd) btnSalvar.Enabled = False End If End Sub Private Sub btnIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click iDevice = lstDispositivos.SelectedIndex abreJanelaVisualizacao() End Sub Private Sub fechaJanelaVisualizacao() ' Desconecta do dispositivo SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0) ' fecha a chama a janela DestroyWindow(hHwnd) End Sub Private Sub btnParar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParar.Click fechaJanelaVisualizacao() btnSalvar.Enabled = False btnIniciar.Enabled = True btnParar.Enabled = False End Sub Private Sub btnSalvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalvar.Click Dim dados As IDataObject Dim bmap As Image ' Copia a imagem para o clipboard SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0) ' Obtem a imagem do clipboard e converte para bitmap dados = Clipboard.GetDataObject() If dados.GetDataPresent(GetType(System.Drawing.Bitmap)) Then bmap = CType(dados.GetData(GetType(System.Drawing.Bitmap)), Image) picCaptura.Image = bmap fechaJanelaVisualizacao() btnSalvar.Enabled = False btnParar.Enabled = False btnIniciar.Enabled = True If sfdImage.ShowDialog = System.Windows.Forms.DialogResult.OK Then bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Bmp) End If End If End Sub Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If btnParar.Enabled Then fechaJanelaVisualizacao() End If End Sub End Class Onde a parte que cuida do salvamento é: Private Sub btnSalvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalvar.Click Dim dados As IDataObject Dim bmap As Image ' Copia a imagem para o clipboard SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0) ' Obtem a imagem do clipboard e converte para bitmap dados = Clipboard.GetDataObject() If dados.GetDataPresent(GetType(System.Drawing.Bitmap)) Then bmap = CType(dados.GetData(GetType(System.Drawing.Bitmap)), Image) picCaptura.Image = bmap fechaJanelaVisualizacao() btnSalvar.Enabled = False btnParar.Enabled = False btnIniciar.Enabled = True If sfdImage.ShowDialog = System.Windows.Forms.DialogResult.OK Then bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Bmp) End If End If End Sub Alguém sabe como fazer esse salvamento direto? Valeu
-
E ae pessoal beleza Eu baixei um programinha chamado conquercom, esse programa captura a imagem da minha webcam e mostra nele mesmo, e tem uma opção nesse programa que eu informo o diretório e ele fica salvando frames de imagens com o formato jpg no meu computador, esse programa só funciona se o driver da câmera estiver instalado caso contrário ele não encherga a câmera. Não sei em que linguagem foi feito esse programa mas me deparei com um problema e preciso desenvolver algo similar a isso e gostaria de desenvolver em vb.net. O que preciso é bem simples crio um programa que mostra a tela o que minha webcam esta captando e deixo um botão "Salvar" abaixo da área que esta sendo mostrado a imagem clicando nesse botão ele me salva o frame do momento do clique. Porém não tenho idéia de como começar. Alguém tem alguma idéia de como posso começar isso? Estou pesquisando mas não encontrei nada até o momento.
-
Usando Bootstrapper Para Setup De Projeto
pergunta respondeu ao alexandremanowar de alexandremanowar em .NET
E ae Graymalkin beleza Então cara mas será que no caso da versão express eu não poderia distribuir? Nesse caso a express do SQL Server é free. Estou verificando o assunto melhor, porém ainda estou estudando o que você falor do PostgreSQL realmente deve ser uma boa solução também. É que na verdade nós já conversamos sobre isso em outro post, lembro que você me falou sobre isso, mas resolvi continuar pesquisando porque acho que fazer uma distrobuição onde o setup faça tudo é muito mais fácil do que ter instalar a parte. Você conhece algo sobre o bootstrapper? Poderia me falar mais sobre ele? Valeu pela atenção -
E a e pessoal beleza Não sei se é novidade o que vou falar aqui mas estou estudando o vb.net 2005 e faz tempo que me deparo com um problema "não consigo transportar o banco de dados feito no sql server junto com a aplicação". Porém fazendo alguma pesquisas descobri que tem com e o nome da solução é bootstrapper. Usando essa opção que deve ser baixada algo do tipo posso transportar o banco sql server junto com a aplicação e o setup instala tudo. Ainda estou estudando a ferramenta porém se alguém já souber melhor como usar e quiser ajudar nesse estudo posta aqui por favor. Já estou com um material que vou começar a ler assim que tiver um resultado melhor vou postar aqui. É legal ter como transporta em um único setup o sql server e o projeto vb. Espero poder ajudar
-
Valeu galera entendi o método do M@luco Belez@ é muito bom, vou usar ele. Valeu a todos que me ajudaram at+
-
E ae pessoal beleza Estou com um problema, preciso conectar 2 bancos de dados ao mesmo tempo no mesmo código, atualmente todos os programas que fiz usa apenas um banco de dados, então faço de forma para conectar: Crio um inc para a conexão dessa forma: <?php $conexao = mysql_connect ("localhost", "root","aaa"); mysql_select_db("banco"); ?> e dentro do código eu include ele dessa forma: <?php include "conexao.inc"; $busca = mysql_query("select * from tabela"); .... ?> Aí funciona beleza! Porém agora preciso dentro de um código php fazer consulta em 2 banco de dados diferente ou seja vou ter uma query usando um banco de dados e uma query usando outro banco de dados! Como faço isso? Valeu.
-
E ae beleza Então eu quero que o arquivo seja criado no meu servidor normalmente como esta sendo e quero fazer o download dele! É possível? Valeu pela força
-
Cara consegui fazer! O código não mudou muito mas consegui fazer, o único problema agora é o seguinte quando eu baixo o arquivo e abro ele deixou a primeira linha em braco e criou os dados a partir da segundo, aí fui conferir o original que ele criou no servidor e esta normal ou seja começou a partir da primeira, vai entender, vou continuar tentando arrumar esse problema mas pelo menos já esta fazendo downloads rsrsrsrs Valeu pela força cara e se você tiver uma sugestão para esse problema me da um toque o código ficou assim: <? include "conectadeals.inc"; $nome = "planilha.xls"; $cria = fopen($nome . ".xls", "w+"); //cria um arquivo $busca = mysql_query("select * from senha"); $linha = mysql_num_rows($busca); if($linha > 0) { $campo_tabela = mysql_num_fields($busca); //captura a quantidade de campos $cabeca = "usuario\tsenha\tnivel\tnome\tcodigo\tempresa\tdata\thora\toperador\tcargo operador\temail"; $dados = $cabeca . "\r\n"; for($i=0; $i<$linha; $i++) { $reg = mysql_fetch_row($busca); for($z=0; $z<$campo_tabela; $z++) { $dados .= "$reg[$z]\t"; } $dados .= "\r\n"; } } $dados2 = trim($dados); //$dados2 = str_replace("\n","",$dados2); //$dados2 = str_replace("\r","",$dados2); $escreve = fwrite($cria, "$dados2\r\n"); fclose($cria); header("Content-type: application/octet-stream"); // este cabeçalho abaixo, indica que o arquivo deverá ser gerado para download (parâmetro attachment) e o nome dele será o contido dentro do parâmetro filename. header("Content-Disposition: attachment; filename=planilha.xls"); // No cache, ou seja, não guarda cache, pois é gerado dinamicamente header("Pragma: no-cache"); // Não expira header("Expires: 0"); // E aqui geramos o arquivo com os dados mencionados acima! ?> Valeu
-
E ae cara beleza Então cara desculpa a falha não postei o código direito! na verdade o código esta assim: <? $nome = "planilha.xls"; $cria = fopen($nome . ".xls", "w+"); $header = "nome\tendereço\tbairro\r\n"; $dados = $header; $dados .= "Alexandre C. do Carmo\tRua Rio contagem,35\tItaim Paulista\r\n"; $dados .= "Ricardo Tiso\tRua Alicinha\tHermelino\r\n"; $dados .= "Roberto Silva\tAvenida 7\tSuzano\r\n"; $dados .= "Roberto Rodrigues\tAvenida ajarani\tVila matilda\r\n"; $dados2 = trim($dados); $dados2 = str_replace("\n","",$dados2); $escreve = fwrite($cria, "$dados2\r\n"); header("Content-type: application/octet-stream"); // este cabeçalho abaixo, indica que o arquivo deverá ser gerado para download (parâmetro attachment) e o nome dele será o contido dentro do parâmetro filename. header("Content-Disposition: attachment; filename=planilha.xls"); // No cache, ou seja, não guarda cache, pois é gerado dinamicamente header("Pragma: no-cache"); // Não expira header("Expires: 0"); // E aqui geramos o arquivo com os dados mencionados acima! print "$header\n$dados2"; fclose($cria); ?> Na verdade o arquivo é criado o que eu não consegui fazer é o seguinte na hora que executar esse script ele deveria já abrir a caixa de download do arquivos por isso usei esses header é essa a parte que esta dando problemas. Você sabe onde estou errando?
-
E a e pessol beleza Estou tentando fazer o arquivos mas simplesmente o meu código não esta fazendo nada, ou seja não cria os arquivos, estudei o tutorial que vocês deixaram e outro mas nã oesta dando certo. Olha meu código: <? $header = "nome\tendereço\tbairro"; $dados = ("Alexandre C. do Carmo\tRua Rio contagem,35\tItaim Paulista\n"); $dados .= ("Ricardo Tiso\tRua Alicinha\tHermelino\n"); $dados .= "Roberto Silva\tAvenida 7\tSuzano\n"; $dados .= "Roberto Rodrigues\tAvenida ajarani\tVila matilda\n"; $dados2 = trim($dados); $dados2 = str_replace("\n","",$dados2); header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=planilha.xls"); header("Pragma: no-cache"); header("Expires: 0"); print "$header\n$dados2"; ?> Onde estou errando?
-
E ae beleza! Obrigado pela ajuda, porém não estou conseguindo usar esse link, será que tem algum outro que você possa me passar? Ou derrepente se alguém conhecer algum outro tutorial ou me passar um exemplo para estudar eu ficaria muito grato preciso aprender isso. Valeu
-
E ae pessoal beleza Eu estou trabalhando com php e gostaria de saber se é possível criar arquivos com formato excel ou seja.xls? Se for como eu faço? Valeu
-
E ae cara beleza! Eu tinha testado com ItemChecked ma estava dando no mesmo, porém como o que eu queira era clicar em um item do listview e o item clicado passar para o textbox então tirei a opção cd checkbox do view w mudei as propriedades para opção selecionada ir para o textbox e funcionou, o código ficou assim: Private Sub txt_lista_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_lista.SelectedIndexChanged For Each elemento As ListViewItem In txt_lista.Items If elemento.Selected Then txt_descricao.Text = elemento.Text End If Next End Sub Valeu pela força
-
E ae pessoal beleza Estou desenvolvendo para deskto com vb.net 2005 e estou com o seguinte problema, criei um listview que traz informações do meu banco de dados e abilitei a opção Checkboxes da propriedade dele, nesse mesmo form tenho um textbox eu quero que quando eu selecionar algum item do listview clicando no check dele a valor apareça no textbox, eu fiz dessa forma: Esse é o listview, esse código fica no meu form assim quando carrefar o form já preenche o listview: Dim consulta As New MySqlCommand("select * from tabela order by cont", conn_local) Dim da As New MySqlDataAdapter(consulta) Dim ds As New DataSet() da.Fill(ds) txt_lista.View = View.Details Dim coluna(2) As ColumnHeader coluna(0) = New ColumnHeader coluna(0).Text = "campo1" Dim item As ListViewItem Dim registro txt_lista.Columns.Add("campo1", 280, HorizontalAlignment.Left) txt_lista.Columns.Add("campo2", 50, HorizontalAlignment.Left) For Each registro In ds.Tables(0).Rows item = txt_lista.Items.Add(registro("campo1").ToString) item.SubItems.Add(registro("campo2").ToString) Next O código que transfere o valor para o textbox é esse e fica dentro do listview: Private Sub txt_lista_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_lista.SelectedIndexChanged For Each elemento As ListViewItem In txt_lista.Items If elemento.Checked Then txt_descricao.Text = elemento.Text End If Next End Sub Porém ele só coloca o valor do listview no textbox se eu clicar em cima de algum conteúdo e eu quero que ele coloque o valor assim que eu clicar no check do conteúdo do listview. Fiz outras modos mas esse foi o que chegou mais perto. Como posso arrumar esse código?
-
E ae beleza Certo entendi, fiz aqui e funcionou valeu pela ajuda Obrigado at+
-
E ae beleza! Então estou testando o exemplo que você passou mas na página onde ele deveria capturar a sessão e exibir simplesmente não esta exibindo os valores da sessão! Esta exibindo apenas o texto digitado ou uma mensagem de erro. Montei exatamente como você deixou: Primeiro criei o código que cria a sessão: <?php session_start(); $nome = "Alexandre"; $dia = date("d/m/Y"); $_SESSION['nome'] = $nome; $_SESSION['data'] = $dia; echo "<a href='teste2.php'>Ir para página mostrar</a>"; ?> E depois criei a que exibe a sessão: <?php session_start(); echo "Bom dia $_SESSION['nome'], sua sessão foi criado no dia $_SESSION['data']."; echo "<br><br>"; echo "<a href='fecha.php'>Fechar Sessão</a>"; ?> Mas nesse caso ele dá a seguinte mensagem de erro: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\teste\teste2.php on line 4 aí tentei montar assim: <?php session_start(); echo "Bom dia $nome, sua sessão foi criado no dia $data."; echo "<br><br>"; echo "<a href='fecha.php'>Fechar Sessão</a>"; ?> Mas ele só exibe o texto digitado e não mostra o valor da sessão Onde estou errando?