Ir para conteúdo
Fórum Script Brasil

Denis Bittencourt Muniz

Veteranos
  • Total de itens

    834
  • Registro em

  • Última visita

Tudo que Denis Bittencourt Muniz postou

  1. Até aqui, um ótimo tutorial. Vou trancar o tópico, até o Felipe decidir continuar o tutorial. Falows!
  2. http://www.ecma-international.org/publicat...ST/ECMA-372.pdf Documento do órgão ECMA sobre a especificação da linguagem C++/CLI. Bem interessante. Até mais!
  3. Olha, esse trecho de código não vai funcionar, pois Alt+Tab é uma tecla de sistema, ou seja, está além do controle da aplicação. De agora, só consigo pensar na função SetWindowsHookEx (http://msdn2.microsoft.com/en-us/library/ms644990.aspx) da API do Windows, pois com ela você monitora eventos do sistema, inclusive teclas de sistemas. Só para mais informações, ganchos (hooks) são mecânismos de interceptação de processamento na plataforma Windows. De agora é só, se souber de uma solução mais simples eu falo aqui. Até mais, falows! Qualquer coisa estamos aí! Soluções mais fáceis: -> Usando a função da API RegisterHotKey (http://msdn2.microsoft.com/en-us/library/ms911003.aspx; mais fácil que usar SetWindowsHookEx): http://www.codeguru.com/Cpp/misc/misc/keyb...ticle.php/c433/ (um exemplo, em C++, mas você já olha e adquire base, além de pesquisar a documentação dessa). -> Pelo registro do Windows (até o instalador pode fazer isso xD): http://www.windowsnetworking.com/kbase/Win...ableAltTab.html Caso queira delegar a função de ativar/desativar Alt+Tab pelo registro ao programa em si, dê uma olhada nas classe 'Registry' (representa as chaves raiz do registro) e 'RegistryKey' (representa uma chave qualquer, em qualquer nível) do namespace 'Microsoft.Win32', essa classes que ajudará na manipulação do registro. Até mais, qualquer dúvida, post!
  4. Ok, realmente o fundo de verdade de vocês prevalecem. Eu devo ter me enganado, e feio. Até mais!
  5. Você vai pegar o conteúdo binário de uma imagem. Use o método estático 'Open da classe System.File', assim um objeto FileStream será retornado com o arquivo aberto (a imagem aberta). Use o método 'Read' (dê uma olhada) para ler o conteúdo binário (bytes) e grave em um campo binário do banco (blob, Firebird; varbinary, Sql Server).Não esqueça de usar o método estático 'Image.FromStream' para validar o stream FileStream retornado pelo método Open antes de gravar no banco, pois você irá se certificar se o arquivo realmente é uma imagem. Até mais, qualquer coisa estamos aí!
  6. Firmeza, resolvido! Só por curiosidade: se tivesse que indicar Sim/Não (parece o caso), porque não usar o tipo de dados booleano? E se fosse vários valores como, por exemplo, três (A, B ou N), deveria usar uma enumeração (enum, C#; Enum, VB). Até mais!
  7. Ué Gray, leio isso em todo lugar, até mesmo na revista .Net Magazine que eu assino... Alias, até mesmo falando de bancos pesados como, por exemplo, SQL Server. Acho que é pelo fato de econômia de memória, não? O que acha? Até mais!
  8. Fico feliz com esse tópico, bem interessante. Eu pretendo, daqui pouco tempo, colocar um tópico sobre CLI (Common Language Infrastructure), a especificação ECMA de um ambiente de execução de aplicativos, que suporta várias linguagens de programação. Tanto o .Net, quanto o Mono, seguem essa especificação. Lembrando que foi criada pela Microsoft e é aberta a todos (MS também Open-Source!). Até mais!
  9. cmd.Parameters.Add("@TRANSACTIONID", Data.SqlDbType.NVarChar).Value = rowG.Cells(1) Eu acho que você está pegando uma célula errada, usando um índice errado. Já que você especifica que é um campo 'NVarChar', ele tenta converter o valor para String, e a conversão é falha, pois o objeto nem implementa a interface requerida. Dê uma olhada. Falows! Qualquer coisa estamos aí! P.S: o correto: rowG.Cells(1).Value '(lembrei!). No código seu, você estava tentando converter um objeto 'DataGridViewCell' para String, o que não é válido, pois 'DataGridViewCell' não implementa 'IConvertible'.
  10. Não não, o dataset tipado, internamente, usa recurso do dataset tradicional. Ele só disponabiliza propriedades tipadas, representando tabelas e campos do banco. Aí você evita algo como: dt["Nome"] = "Denis" . . . 'e usa: dt.Nome = "Denis" A chance de um erro em tempo de execução é menor, já que você não irá se enganar com o índice que irá acessar. P.S a todos: olha, o dataset tipado é bom, mas, na minha opinião, tem soluções mais flxivéis como, por exemplo, NHibernate (dêem uma pesquisada, um mapeador O/R, com o mapeamento, será fácil construir a camada de acesso a dados, nem que for manualmente, apesar de nunca ter usado, mas ouvido falarem bem). Até mais!
  11. Na verdade, o conversor, converte algumas partes do código, outras não, pois não há equivalente no .Net. Exemplo: variável implícitas não são convertidas para nada (ficam ali, no código novo, pronto para você arrumar para uma lógica equivalente), já que não existe um equivalente no VB.net. Outro exemplo: o tipo Variant do VB6, convertido para Object no VB.net, o que não é correto, mas é o mais próximo do conceito Variant do VB6. No entanto, a Microsoft disponibiliza um Add-in para VB6 para checagem de código. A checagem verifica se o códig está de acordo com as boas práticas de programação (exemplo: não declarar váriaveis implícitas). Um código bem padronizado será fácil de migrar. Dê uma procurada. Até mais!
  12. Você está tentando passar a String "N" onde é esperado um número, tipo Integer. Não há conversão nesse caso, repare bem (não pode converter N para algum número). Falows! Qualquer coisa, estamos aí! P.S: Posta o código entre as tags ' ', certo?
  13. Lembrando que é impossível, até porque o VS é feito em C++ puro. Também não entendo, mesmo que perca um pouco de qualidade, deveria ser feito em .Net (C#), para rodar em .Net ou em Mono o ambiente. Falows!
  14. Pelo que entendi, você está perguntando se existe forma de exibir a imagem sem utilizar arquivos temporários. Tem sim. Carregue o arquivo criptografado pela classe 'System.IO.MemoryStream', leia o conteúdo binário, descriptografe e utilize o método estático 'FromStream' da classe 'Image'. Pronto! Sua imagem estará ao seu dispor. Tente,, qualquer coisa você pota aqui, certo? Falows!
  15. No evento 'FormClosing' do formulário, coloque: e.Cancel = <VAR> '<Var> é uma variável booleana de controle. Quando o usuário quiser realmente sair do programa (com algum botão de fechar ou algo assim), o valor é false e assim o formulário é fechado. Senão, use <VAR> vai ser true, impedindo o usuário de fechar o Form de qualquer maneira. Já para o Ctrl+Alt+Del: Achei um exemplo em: http://www.developerfusion.co.uk/show/152/. Olhe. Infelizmente, a classe gerenciada 'System.Windows.Forms.SystemInformation', não fornece essa informação, apesar de internamente usar a função da API do Windows 'SystemParametersInfo' (é com essa função que você muda a disponibilidade do Ctrl+Alt+Del) para obter várias informações como, por exemplo, o modo de boot na qual foi iniciado a sessão. Até mais, estamos aí!
  16. Na verdade, você cria a classe de conexão e instância a classe na interface, como você quer e não herdar da classe de conexão. Public Class Conexao . . . End Class 'Em seu formulário, em algum evento: . . Conexao conn = New Conexao() conn.Abre() . . conn.Close() . . No caso, você tem que estudar mais a parte de teoria da Orientação a Objetos, não o VB.net em si, na minha opinião. Até mais!
  17. Antes de mais nada, a String de conexão está errada. O correto: "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=G:\server\DB.mdb". Qualquer coisa estamos aí, falows!
  18. Mas Graymalkin, porque abrir uma vez e fechar apenas no final? Isso está fora das boas práticas de programação, além de não ser performático. Aguardo respostas... Já para o Alexandre: Seguindo a simplicidade da lógica, crie uma classe conexão (implemente a interface IDisposable também, já que conexõesimplementam essa interface também) com métodos Abrir, Fechar e Executar (comando SQL). Ah! Use uma propriedade para representar a String de Conexão. Se você não quiser todo trabalho de reescrita, que tal usar a classe Database da Enterprise Library da Microsoft (uma biblioteca, frameowrk Open-Source, que visa boas práticas de programação)? Ela segue a lógica proposta por você. Olhe em: http://msdn2.microsoft.com/pt-br/library/a...453(en-us).aspx Você poderia usar Dataset tipados, usando assim, prossguindo para o conceito de softwares N camadas. Até mais! Falows!
  19. Uma lista de linguagens .Net: Aqui. Parece ser bem atualizada! Mas parece que não está todas, já que não encontrei Ook#.Net, citado pelo Graymalkin.
  20. Meu primeiro post novo \o/ xD. Galera, muito bom está de volta, vou fazer o máximo para a comunidade! Yeah! Agradeço muito ao meu pedido atendido (moderador .Net). Até mais! Forte abraço aí galera!
  21. Dê uma olhada na paleta de componentes chamada "Indy": procure por "idSMTP" ("servidor" de envio de mensagens da VCL) e por idMessage (representa uma mensagem enviada). Visite: www.dicasbcb.com.br, para mais informações. Na verdade, o método "c_str" retorna um ponteiro de caractére (char*), ou seja, um ponteiro apontando para a primeira posição do vetor que representa a string (conteúdo) do Edit. Um exemplo: char* cont = Edit1->Text.c_str(); Caso queira apenas um caractére da string, faça como um vetor: char c = Edit1->Text.c_str()[0]; //retorna o primeiro caractére Falows! Qualquer coisa estamos aí!
  22. A explicação do Jonas, Inufelipe, se refere ao fato de privar *membros* da classe. Por exemplo: Bom, qualquer dúvida, pergunte. Falows!
  23. http://linhadecodigo.com.br/tutoriais/17/oopcmais.zip "C++ como uma linguagem de programação orientada a objetos" Tutorial de 194 páginas! Perfeito! Ensina orientação a objetos em C++, do simples ao avançado. Se não me engano, foi escrita por um aluno da Unicamp. Recomendo a leitura dessa para aqueles que querem trabalhar com C++. Falows!
  24. http://geocities.yahoo.com.br/denis_bittencourt/oopcmais.zip "C++ como uma linguagem de programação orientada a objetos". Tutorial de 194 páginas! Perfeito! Aborda orientação a objetos em C++, do simples ao avançado. Esse tutorial, se não me engano, foi escrito por um aluno da faculdade Unicamp. Falows!
  25. http://scriptbrasil.com.br/forum/index.php?showtopic=47524 Visitem esse tópico! O membro "Heldinho" criou uma biblioteca chamada "filelib.h" que contêm funções para obter informações sobre nome completo de arquivos como, por exemplo, a estensão do arquivo. Agradecimentos! Fico grato pela sua contribuição "Heldinho". Falows! P.S: achei este tópico, "passeando" pela sala C/C++, e achei importante dar destaque. P.S: gosto desse tipo de iniciativa. Quem sabe, nós aqui da sala C/C++ da SB montarmos bibliotecas de rotinas, usando as regras do software livre, sobre o licenciamento LGPL? Que vocês acham?
×
×
  • Criar Novo...