Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Graymalkin

    Datagridview

    Preste atenção no código... você não o está lendo direito... no seu caso MySQLDrr é um MySqlDataReader e no caso do código lá, é usado um MySqlDataAdapter. Aconselho a você dar uma lida sobre como funciona o ADO.NET, porque o que estou vendo é uma falta de conceitos fundamentais. Abraços, Graymalkin
  2. No Access, assim como em todos os aplicativos da suíte Office, você tem uma versão do Visual Basic específica para se trabalhar com as respectivas aplicações. Este é o Visual Basic For Applications ou mais referido como VBA. O Microsoft Visual Basic 6 é um produto separado e não é o mesmo que o VBA. Apesar de que boa parte do que você pode fazer no VB6 você possa fazer no VBA, você dependerá de ter um aplicativo do Office para poder executar o seu "programa". Isso porque ele estará dentro do seu documento (.doc, .xls, .mdb, etc.). O ideal mesmo é se trabalhar com uma linguagem de programação independente, como é o VB6, onde você poderá distribuir seus programas e terá mais recursos (como a criação de bibliotecas). Sendo que dificilmente você encontrará o VB6 para comprar, então é mais interessante você estar iniciando no Visual Basic 2005 que é distribuído (na versão Express) gratuitamente no site da Microsoft. Abraços, Graymalkin
  3. Graymalkin

    Datagridview

    No caso aí você está usando apenas um DataReader, que serve para uma leitura rápida de dados. Um DataReader não serve para guardar os dados em memória como se fosse uma tabela. Para isso você tem que usar um DataSet ou uma DataTable. E para popular estas você precisa de um DataAdapter. Dê uma olhada no exemplo abaixo: http://scriptbrasil.com.br/forum/index.php?showtopic=63194 Certo? ;) Graymalkin
  4. Graymalkin

    Datagridview

    Exatamente como eu falei: DataGridView1.DataSource = tabela Onde "tabela" é uma DataTable. Em algum lugar do seu código você deve estar populando um DataSet ou uma DataTable através de um DataAdapter. Como você faz para abrir uma tabela? Abraços, Graymalkin
  5. Graymalkin

    Datagridview

    Atribua a DataTable com os dados à propriedade DataSource da DataGridView. Abraços, Graymalkin
  6. No controle do Windows Media Player tem uma propriedade para isso (duration e durationString). Abraços, Graymalkin
  7. Você tem alguma linguagem disponível no servidor (como Python, por exemplo)? Se tiver, dá pra fazer uma página dinâmica listando os arquivos e suas datas, daí seria só receber a página (o que pode ser feito via Winsock ou o WebControl) e comparar com os arquivos atuais. A recepção também poderia ser via Winsock (mas seria mais fácil pelo Inet). Abraços, Graymalkin
  8. O formulário que está sendo fechado é o principal (o primeiro a ser aberto) da aplicação? Se for, realmente vai fechar tudo. Neste caso, se você estiver usando o VS2005, pode ir nas propriedades do projeto e definir que o programa só deve ser encerrado quando o último form for fechado. Abraços, Graymalkin
  9. Acho que ao invés de... Clipboard.Clear /// está DANDO ERRO AQUI Clipboard.SetText (Data) ... você veria colocar: Selection.TypeText Data Faça o teste aí e veja se funciona. Abraços, Graymalkin
  10. Então, a ZedGraph é uma DLL .net? Caso positivo, acredito que uma maneira de carregá-la em run-time seria usando Reflection. Vou fazer uns testes aqui e postarei o resultado. Abraços, Graymalkin -- EDITADO -- Sim, realmente dá certo usando Reflection. No exemplo abaixo eu carrego uma biblioteca em tempo de execução (MinhaBiblioteca.dll) e crio um objeto a partir de uma classe existente nela (MinhaClasse). Note que por "obj" ser do tipo Object e pelo fato do VB possuir late-binding, qualquer método ou propriedade utilizado será resolvido em tempo de execução. Dim a As Reflection.Assembly = Reflection.Assembly.LoadFile("C:\pasta\MinhaBiblioteca.dll") Dim tipo As Type = a.GetType("MinhaBiblioteca.MinhaClasse") Dim obj As Object = Activator.CreateInstance(tipo) obj.MeuMétodo() Então, basta você adequar isso ao seu código. Se você não souber o nome completo do tipo (classe) a ser passado para a.GetType("...") você pode obter todos com a.GetTypes() (note o plural) e procurar o nome da classe desejada. Bom, qualquer dúvida, 'stamos aí. Umarmen, Graymalkin
  11. Neste caso acho que você vai ter que recorrer a um toolkit gráfico, como a wxPython. Ou então vai ter que usar a PIL justamente com o Tkinter. Abraços, Graymalkin
  12. Graymalkin

    Screenshot

    Provavelmente eu te recomendei usar as classes .NET específicas para socket ao invés do Winsock. Quanto à imagem, no controle onde ela é exibida, não tem nenhum método do tipo "Save"? Abraços, Graymalkin
  13. E qual é sua dificuldade em fazer isso? Não basta usar um matriz ou uma coleção? Abraços, Graymalkin
  14. Não que seja inútil, mas pode tornar o programa mais complexo de ser analisado posteriormente. Amanhã ou depois quando você for olhar o código você vai ficar caçando de onde veio o danado do "da" ou do "ds", até que vai encontrá-los no módulo. Por isso é melhor declarar objetos no lugar que você realmente vai utilizá-los. Abraços, Graymalkin
  15. Ele está realmente compilando o projeto? Porque se tiver algum erro no código ele não compila e você vai estar rodando o executável antigo. Abraços, Graymalkin
  16. Graymalkin

    Screenshot

    Se for possível você gravar em disco a imagem mostrada na tela, bastaria você ler os bytes do arquivo e enviar para o cliente. Este então, após receber tudo, iria gravar um arquivo em disco e abrir a imagem. Agora, você não está usando o controle Winsock no VB2005, e sim as classes disponíveis em System.Net.Sockets, certo? Abraços, Graymalkin
  17. Você não tem que modificar nada para se trabalhar com vários usuários (mesmo fazendo o programa tendo em mente que vai ser usado por apenas 1 usuário). A não ser, é claro, que a presença de vários usuários possam afetar os mesmos dados (por exemplo, em um controle de estoque onde vários usuários poderiam dar baixa em um mesmo item). Mas, neste tipo de caso você realmente tem que ter em mente que vários usuários vão usar os mesmos dados. Quanto à onde a base de dados vai ficar, o que você quer dizer com "computador remoto"? Um computador fora da rede local? Porque se for dentro da rede local, você pode deixar a base em uma determinada pasta no servidor e basta mapeá-la nos clientes. Agora, se você está pensando em fazer isso realmente "remotamente" como, por exemplo, via Internet, então o Access não é a escolha ideal. Neste caso você deve procurar um banco de dados cliente-servidor, como o PostgreSQL (que recomendo), o MySQL ou o SQL-Server, por exemplo. Abraços, Graymalkin
  18. Não uso o SQL Server... mas não tem um tipo de campo mais adequado para valores como um Numeric ou um Decimal? Abraços, Graymalkin
  19. Can you make use of ZedGraph using late-binding? As far as I know, using late-binding is the best way to provide version-free use of dynamic linked libraries. But, as I've never used ZedGraph, I can't assure you that this is possible. Hugs, Graymalkin PS: Moving to .NET. And, your name seems brazillian-like, so... why the hell are we speaking (writing) in English? :lol:
  20. Você quer pegar as informações de conexão com o banco de dados do Registro? Tipo, o nome de usuário, a senha, o nome do servidor, o nome do banco de dados, etc? Se for, o jeito mais fácil é usando a rotina SaveSetting() e a função GetSetting() do próprio VB. Abraços, Graymalkin
  21. É só passar para este método o nó que você quer remover. A única observação é que você tem que chamar o método removeChild do pai deste nó passando o filho. Exemplo com o seu próprio XML: from xml.dom import minidom x = minidom.parse("teste.xml") principal = x.getElementsByTagName("Principal")[0] usuarios = principal.getElementsByTagName("Usuario") for usuario in usuarios: id = int(usuario.getElementsByTagName("Id_Usuario")[0].childNodes[0].nodeValue) if id==1: principal.removeChild(usuario) print x.toprettyxml() Certo? ;) Graymalkin
  22. Veja como ficaria o seu código em uma classe: Public Class Leitor Private Declare Function abreporta Lib "TIBethvb.dll" (ByVal n As Integer) As Integer Private Declare Function closecom Lib "TIBethvb.dll" (ByVal m As Integer) As Integer Private Declare Function envtmsg Lib "TIBethvb.dll" (ByVal mConj As Integer, ByVal mcan As Integer, ByVal mstr As String) As Integer Private Declare Function getcnt Lib "TIBethvb.dll" (ByRef mstr As String, ByRef mcan As Integer, ByVal conj As Integer) As Integer Private WithEvents tempo As Timer Public Event DadosRecebidos(ByVal dados As String) Public Sub New(ByVal porta As Integer) abreporta(4) tempo = New Timer() tempo.Interval = 100 tempo.Start() End Sub Public Sub Enviar(ByVal dados As String) envtmsg(0, 0, dados) End Sub Protected Overrides Sub Finalize() MyBase.Finalize() tempo.Stop() closecom(0) End Sub Private Sub tempo_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tempo.Tick Dim recebe As String = Space(255) Dim retorno As Integer retorno = getcnt(recebe, 0, 0) If retorno <> 0 Then RaiseEvent DadosRecebidos(recebe) End If End Sub End Class Depois, você poderia usá-la em um form de uma maneira mais limpa e clara: Public Class Form1 Private WithEvents L As Leitor Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load L = New Leitor(4) 'Criando o objeto End Sub Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnviar.Click L.Enviar("Enviando dados!") 'Enviando dados por um método End Sub Private Sub L_DadosRecebidos(ByVal dados As String) Handles L.DadosRecebidos MessageBox.Show(dados) 'Recebendo dados por um evento End Sub End Class Capisce? ;) Obs: não pude testar o código porque não possuo o leitor aqui, por isso pode ser que seja necessário fazer algum ajuste no código da classe. Graymalkin
  23. Não sei se dá diferença, mas o certo é usar o operador & e não o + neste caso. MessageBox.Show("Bem vindo " & codigo.ToString()) Abraços, Graymalkin
  24. Como assim "abrir"? Quer ler os bytes do arquivo? Ou você quer mostrá-lo na tela? Abraços, Graymalkin
  25. Crie apenas uma shape e coloque 0 na sua propriedade Index. Depois disso, você vai poder usar a instrução Load para criar quantas shapes quiser, bastando definir o índice. Exemplo: n = 1 Load Shape1(n) Shape1(n).Visible = True Shape1(n).Top = 100 Shape1(n).Left = 100 Certo? ;) Graymalkin
×
×
  • Criar Novo...