-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Tipo o TightVNC (http://sourceforge.net/projects/vnc-tight)? Graymalkin
-
Não atormenta não... hehehehe Sim, e é isso que ele faz. Porém o retorno é complemento do valor, que vem também com um sinal oposto (negativo se era positivo e vice-versa). Não, não precisa. A .NET Framework possui um GC (Garbage Collector, do Inglês "Coletor de Lixo") que automaticamente remove da memória objetos que não possuem mais referências. Exatamente. Boa pergunta. Eu mesmo nunca precisei utilizá-los, mas achei alguns exemplos interessantes de utilização: // Multiplicando por 2 MessageBox.Show((2 << 1).ToString()); MessageBox.Show((3 << 1).ToString()); MessageBox.Show((4 << 1).ToString()); // Dividindo por 2 MessageBox.Show((4 >> 1).ToString()); MessageBox.Show((6 >> 1).ToString()); MessageBox.Show((8 >> 1).ToString()); Uma busca no Google te retornará outros exemplos, como: http://www.third-bit.com/swc/www/binary.html http://www.gamedev.net/reference/articles/article1563.asp Certo? Graymalkin
-
Não, uma coisa é você criar as colunas (os campos) e outra coisa é incluir linhas (os registros). No código acima você está tentando incluir um registro em uma DataTable que não tem campos. Sacou? Graymalkin
-
Bom, necessariamente, você só precisa do executável do prjCliente rodando no computador cliente. O máximo que você pode fazer é *ativar* o prjCliente através do prjServidor. Ou seja, o prjCliente precisa *já* estar aberto no cliente e conectado ao servidor para que você possa enviar e receber os dados. Sem problemas. Qualquer dúvida, poste aí. E também se cadastre no fórum para ajudar a nossa comunidade a crescer, beleza? Graymalkin
-
Defina SelText como "". Abraços, Graymalkin
-
Exatamente. Aproveitando o ensejo, achei muito interessante o assunto discutido neste tópico. Abraços, Graymalkin
-
Dê uma lida neste tutorial. Acho que ele poderá te auxiliar no caso. http://www.desenvolvedores.net/modules.php...=article&sid=27 Abraços, Graymalkin
-
O que tem de errado?? A mensagem de erro já te disse o que está errado... onde você criou a *coluna* nesse código? Abraços, Graymalkin
-
Você diz buscar pela posição? Porque se for pelos valores hexadecimais você já os tem e basta procurar por eles (se eu quiser um byte de valor 255 vou procurar por FF, por exemplo). Abraços, Graymalkin
-
Não... desta maneira: If consulta = 13 Then dt.Rows.Add(new Object() {texto}) Ok? Graymalkin
-
Exatamente! Porque escolheu-se assim. Assim como é útil ter-se tipos referência também é útil ter-se tipos valor. Veja o exemplo abaixo: struct MeuValor { public int x; } class MinhaReferência { public int x; } MeuValor n; n.x = 2; MeuValor n2 = n; n.x = 3; MessageBox.Show(String.Format("n.x={0}, n2.x={1}", n.x.ToString(), n2.x.ToString())); MinhaReferência r = new MinhaReferência(); r.x = 2; MinhaReferência r2 = r; r.x = 3; MessageBox.Show(String.Format("r.x={0}, r2.x={1}", r.x.ToString(), r2.x.ToString())); Notou a diferença? Em um tipo valor (em uma struct) o que importa é o valor em si, por isso ao atribuir um objeto para outro é feita uma cópia (estamos copiando o *valor*). Já na referência não. Sacou? Existe também uma diferença interna (no código compilado) em relação a uma estrutura e uma classe. Sim, ela não suporta herança porque automaticamente qualquer struct herda de ValueType (e como a .NET só permite herança simples, não múltipla, não dá pra herdar outra classe). Certo? Graymalkin
-
Prgrama Com Compartilhamento De Informações
pergunta respondeu ao tuliod de Graymalkin em Visual Basic
Você tem que fazer um pacote de instalação do seu programa e enviar esse pacote. Todo programa em VB precisa de bibliotecas e componentes que podem não estar presentes no computador que o mesmo será executado, por isso o ideal é sempre criar a instalação (através do Package & Deployment Wizard ou do InnoSetup ou através de qualquer outra ferramenta). Certo? Graymalkin -
Então você pode fazer algo assim: Static j As Form2 If j Is Nothing Then j = New Form2 j.Show() Else j.Activate() End If É CTRL+TAB que passa de um form para outro no *mesmo* programa. E para impedir isso você pode utilizar o método ShowDialog() ao invés do método Show(). Isso vai tornar a janela modal. Certo? Graymalkin
-
Onde você viu isso? Graymalkin
-
Ah sim, é verdade. Você tem que utilizar o método Add do objeto Rows para poder adicionar uma linha. Somente *depois* que a linha existe é que você pode alterá-la da maneira que você está fazendo. Abraços, Graymalkin
-
Onde você incrementa linha e coluna? Do jeito que está eles sempre serão 0. Abraços, Graymalkin
-
Porque eles não possuem "valores" que possam caracterizá-los. Porque os inteiros por si só já são objetos. Isso é válido porque você estará criando uma nova instância de int e atribuindo-a a "x". No caso, isso é o mesmo que fazer: int x = 0; Então vou tentar explicar com exemplos. Como eu disse acima, os tipos referência não possuem "valores" que possam caracterizá-los, enquanto que os tipos valor possuem. Não sei se você já utilizou, mas a classe Point() é utilizada para representar uma ponto (x e y) em um plano. Se eu fizer... Point p; ... vou definir que "p" é do tipo Point, porém ainda não existe um objeto ali. Qualquer tentativa de se utilizar "p" resultará em um erro porque a referência é nula, ou seja, ainda não foi criado um objeto para ser apontado por "p". E como eu crio esse objeto? Através do operador new: p = new Point(10, 20); Por que eu tive que fazer isso? Porque não existe um valor que represente um objeto da classe Point, sendo o mesmo só representável através de um objeto da classe (e objetos são instanciados com o operador new). Desta maneira eu vou poder fazer: Point p; p = new Point(10, 20); MessageBox.Show(p.ToString()); Agora, vejamos um int. Se eu declaro... int x; ... eu estou definindo que "x" é do tipo int (ou System.Int32). Mas, ainda falta eu inicializar "x" da mesma maneira que fiz com "p". Porém, observe a diferença: int x = 5; Por que eu pude colocar o 5 em "x"? Porque 5, por si só, já é um objeto do tipo inteiro. E ele não é também um valor? Daí o nome "tipo valor". Você já deve saber que o método GetType() de qualquer objeto retorna o seu tipo, então, para provar que qualquer valor inteiro *é* um objeto, podemos fazer: int x = 5; MessageBox.Show(x.GetType().ToString()); MessageBox.Show((10).GetType().ToString()); MessageBox.Show((256).GetType().ToString()); Tanto x, quanto 10, quanto 256 são objetos do tipo System.Int32, como você vai poder conferir com o exemplo acima. E se quiséssemos fazer algo semelhante a isso com a classe Point? Seria assim: MessageBox.Show(new Point(10, 20).GetType().ToString()); Note que "new Point(10, 20)" irá criar um objeto (que é uma *referência*) e é dele que chamaremos o método GetType(). No outro exemplo, chamamos este mesmo método dos objetos 10 e 256 (que são *valores*). Entendeu agora a diferença? Veja outros exemplos (de tipos valor): MessageBox.Show('a'.GetType().ToString()); MessageBox.Show(2.GetType().ToString()); MessageBox.Show(2.3.GetType().ToString()); MessageBox.Show(false.GetType().ToString()); MessageBox.Show(2L.GetType().ToString()); MessageBox.Show(2.5M.GetType().ToString()); Todos estes tipos (char, int, double, bool, long e decimal) são *representáveis* através de *valores*. Agora, qual seria o "valor" que representaria um objeto Form, um objeto Point, um objeto ArrayList, etc.? Como tais valores não existem, o que temos são referências (objetos) destas classes. Komprenis? Graymalkin
-
abraços Eu sempre utilizo OLEDB para acessar bancos Access e não ODBC (como é o caso do seu exemplo). No meu caso (do OLEDB) eu coloco o caminho completo do arquivo: pasta = app.path if right(pasta, 1)="\" then pasta = left(pasta, len(pasta)-1) caminho = pasta & "\banco.mdb" Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & caminho No seu caso (ODBC), acredito que seria: pasta = app.path if right(pasta, 1)="\" then pasta = left(pasta, len(pasta)-1) caminho = pasta & "\bd" Conn.Open "driver={microsoft access driver (*.mdb)};dbq=banco.mdb; defaultdir=" & caminho Certo? Graymalkin
-
Prgrama Com Compartilhamento De Informações
pergunta respondeu ao tuliod de Graymalkin em Visual Basic
Se vai precisar ou não de um servidor vai ser você que vai escolher (e também vai depender do que você quer que a aplicação faça exatamente). O "prog do seu site" é o programa-exemplo de envio e recebimento que é criado naquele tutorial? Se sim, basta mudar o endereço 127.0.0.1 da linha... sckCliente.Connect "127.0.0.1", 1984 ... para o endereço desejado. Sim, utilizando um array de controles Winsock (criando vários Winsocks com o mesmo nome, porém com a propriedade Index diferentes). Abraços, Graymalkin -
Prgrama Com Compartilhamento De Informações
pergunta respondeu ao tuliod de Graymalkin em Visual Basic
Só é preciso que um saiba o endereço do outro. Ou eu saiba o seu ou você saiba o meu. Para facilitar isto é que existe o NO-IP. Você pode ou não ter um servidor. Porém, eu não conheço nenhum gratuito que lhe permitisse tal coisa (um com ASP já serviria, dependendo do caso). Abraços, Graymalkin -
Bom, se "estalar" for "instalar" você não precisa se preocupar com isso. A propriedade Path do objeto App lhe dá o caminho do executável quando o mesmo está rodando, portanto, basta que o banco de dados esteja nesta mesma pasta (ou em uma sub-pasta desta) para que você possa utilizá-lo utilizando o seu caminho absoluto. Ou seja: pasta = app.path if right(pasta, 1)="\" then pasta = left(pasta, len(pasta)-1) 'Retiramos a última "\" porque ela pode ou não estar presente, dependendo do caso caminho = pasta & "\seu_arquivo.mdb" Isto, é claro, se tratando de bancos de dados Access (ou semelhantes). Para bancos do tipo cliente-servidor você não tem essa preocupação, já que o servidor é localizado por um caminho na rede. Abraços, Graymalkin
-
Prgrama Com Compartilhamento De Informações
pergunta respondeu ao tuliod de Graymalkin em Visual Basic
Como assim? Realmente não entendi a sua dúvida... Graymalkin -
Tipo referência é todo aquele que você precisa criar um objeto através do operador new, ou seja, a partir de uma classe (como as classes Form, Point, ArrayList, Bitmap, DataGrid, etc.). Somente o tipo string é que tem um "atalho" que permite a instância automática (mas ainda assim é possível instanciar um objeto da classe System.String com o operador new). Já um tipo valor é definido por um valor, como 2 (int ou Integer), 2.3 (double ou Double), 2.3D (Decimal no VB.NET), 'a' ou "a"c (char ou Char), True e False (bool ou Boolean), #4/1/2005 8:43:17 PM# (DateTime no VB.NET), etc. Não, por padrão a passagem é por valor, ao contrário do VB6. Certo? Graymalkin
-
Você está finalizando a edição (com um Enter) na última célula antes de escolher a opção? Abraços, Graymalkin
-
Veja bem: "tipo valor" (value type) e "tipo referência" (reference type) são coisas *diferentes* de "passagem por valor" (byval) e "passagem por referência" (byref). Tanto um "tipo valor" quanto um "tipo referência" podem ser passados "por valor" ou "por referência". A idéia de "passar por referência" é manter uma referência para o objeto/variável original de modo que qualquer alteração efetuada em relação ao mesmo, dentro da função ou rotina, seja refletida na variável/objeto local. A idéia de "passar por valor" consiste em fazer uma "cópia" da variável/objeto para a função ou rotina, não modificando a variável/objeto original. Sacou? Graymalkin