-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
Não, o que você faz é formatar o valor para ter duas casas decimais na saída, ou seja, na hora da impressão (na tela). Você pode fazer a mesma coisa em VB: Dim d1 As Double = 2 Dim d2 As Decimal = 2D Dim s1 As Single = 2 MessageBox.Show(d1.ToString("0.00")) MessageBox.Show(d2.ToString("0.00")) MessageBox.Show(s1.ToString("0.00")) Certo? Graymalkin
-
Se sua intenção é abrir a janela, você deveria fazer: dim j as new FrmSobre j.Show() Certo? Graymalkin
-
Isso porque criou-se um atalho que foge a regra. Como strings são *muito* utilizadas, seria muito chato ter que ficar fazendo... string s1 = new String(new char[] {'G', 'r', 'a', 'y', 'm', 'a', 'l', 'k', 'i', 'n'}); ... onde poderia-se fazer apenas: string s1 = "Graymalkin"; Vale notar que somente strings é que possuem esse "atalho", devendo todos os demais tipos referência serem inicializados com o operador new. Abraços, Graymalkin
-
Como Reconhecer A última Linha De Um Record Set?
pergunta respondeu ao Señor Smoke de Graymalkin em Visual Basic
Ponha o datagrid so pra testar. depois apague. Será que eu não fui claro a respeito disso...? É só mesmo para testar, para você poder *ver* qual é o último registro *do* recordset e conferir se é realmente o que você está querendo/imaginando. Abraços, Graymalkin -
Você não está executando isso imediatamente após digitar o último caracter está? Pode ser que entre a seleção da opção no menu e o fim da digitação na célula não esteja ocorrendo a atualização da DataTable. Abraços, Graymalkin
-
Como Reconhecer A última Linha De Um Record Set?
pergunta respondeu ao Señor Smoke de Graymalkin em Visual Basic
Sim, você pode utilizá-las sem o recordset estar ligado a uma DataGrid. Eu só sugeri isso porque fica *mais fácil de visualizar* o conteúdo do recordset. Abraços, Graymalkin -
Sim, foi em um botão normal. E deu certo. Abraços, Graymalkin
-
Comecei a fazer, mas ainda não terminei. Mas, foi bom você me lembrar (porque eu já tinha esquecido... ). Abraços, Graymalkin
-
O Visual Web Developer é direcionado a .NET Framework 2.0. Ainda não utilizei ele, mas creio que deva ser semelhante ao ASP.NET Web Matrix, que era direcionado a .NET Framework 1.1. Experimente este e veja se tem o que você precisa. Mas, não seria mais simples você procurar um outro provedor que dê suporte a .NET Framework 2.0? Abraços, Graymalkin
-
Prgrama Com Compartilhamento De Informações
pergunta respondeu ao tuliod de Graymalkin em Visual Basic
Dê uma olhada neste tutorial e veja se ele lhe é útil: http://www.desenvolvedores.net/modules.php...=article&sid=27 Abraços, Graymalkin -
Sim, estruturas são tipos valor. Não sei se você já reparou, mas System.Int32 é uma struct, já System.String é uma classe. De fato, a diferença entre uma estrutura e uma classe é justamente que o objetos da primeira são "valores" e objetos da segunda são "referências". Nem me lembrei disso (de que estruturas também são objetos complexos) quando falei "já um tipo referência é um objeto mais complexo e que não pode ser representado por apenas um valor". Mea culpa! Abraços, Graymalkin
-
Como Reconhecer A última Linha De Um Record Set?
pergunta respondeu ao Señor Smoke de Graymalkin em Visual Basic
O MoveLast vai para o último registro do recordset, porém o último registro da tabela pode não ser exatamente o último do recordset já que eles podem estar em uma ordem diferente. Experimente colocar uma DataGrid no form e atribuir o recordset utilizado à propriedade DataSource dela. Verifique então quais os registros mostrados e veja se o último realmente é o que você espera. Abraços, Graymalkin -
Sem problemas. Length e Count servem ao mesmo propósito, porém o primeiro é utilizado no lugar de comprimento ou extensão e o segundo no sentido de contagem ou quantidade (isso no idioma Inglês, obviamente). Abraços, Graymalkin
-
Existe uma sutil diferença entre não ter um valor e ter o valor nulo. Um objeto int declarado ao qual não foi atribuído valor algum, não poderá ser utilizado, uma vez que é o valor que define o objeto. Essa é a diferença entre um tipo valor e um tipo referência. Ou seja, o próprio valor (10, true, 2.3, etc.) é o objeto. A prova disso é você conseguir fazer algo do tipo... Console.Write((2).ToString()); ... onde eu estou chamando o método ToString() do objeto-valor inteiro 2. Já um tipo referência é um objeto mais complexo e que não pode ser representado por apenas um valor. Por isso ele é alocado em uma parte qualquer da memória e é feita apenas uma referência a ele. Neste caso sim, essa referência pode ou não ser nula. Concluí-se então que null não é um valor, por três principais motivos. Primeiro que é uma palavra-chave (keyword) da própria linguagem, designando algo nulo. Segundo que não dá pra fazer o que fizemos com o 2 acima... Console.Write(null.ToString()); ... e terceiro porque se ela designa algo nulo, então ela não é um objeto (até porque todo objeto descende de System.Object e tem pelo menos o método GetType()). Certo? Graymalkin
-
Fiz esse teste aqui e funcionou perfeitamente. Você está utilizando isso em algum evento da própria DataGrid? Abraços, Graymalkin
-
"int y;" não guarda valor na memória para y. Guardaria se fosse "int y = new int()" Aí sim os 32 bits estariam "guardados" para y. Acontece que sendo um objeto, a memória de y não é alocada logo na simples declaração, pois este precisa ser inicializado. Aí você pode fazer de duas formas. int y = new int(); // aloca 32 bits para y e o inicializa com o valor 0 ou int y = 12; /* aqui você está usando uma 'short form' do que seria int y = new int(); y = 12; -> o que você também pode fazer */ Null então é valor ou não é? Sei lá É, eles até tentam fazer com que não nos preocupemos com administração de memória, mas está nas nossas veias Fazer... int x; Console.Write(x); ... vai resultar em erro porque não foi atribuído um valor para "x". Mas ele não é nulo, porque C# dá um erro de compilação, ou seja, você nem vai chegar a executar o programa. E, nesse caso, o VB.NET tem um comportamento diferente: Dim x As Integer Console.Write(x.ToString()) Vai ser mostrado o valor 0, porque o valor padrão de um inteiro não inicializado. Certo? Graymalkin
-
Até aqui o Rodrigo já explicou no outro post. Então, vou explicar o restante. Exatamente. Porque 110 é um valor decimal (cento e dez) e não um valor binário (um um zero). Portanto, 110 (cento e dez) vai ser 1101110 em binário. E deslocando-os para a direita (>>) você terá 0110111, que é justamente 55 em decimal. Não, conforme o que eu disse acima. No caso, 6 >> 1 é 3. Isso porque deslocar os bits para a direita resultará em 011, que é 3 em decimal. Exato. Não, no caso seria 2 << 1. Ou seja, você estaria deslocando todos os bits uma posição para a esquerda e a nova posição seria preenchida com 0. Acho que no outro post eu falei como se deslocasse apenas o primeiro bit, mas são todos eles que são deslocados. Por isso, é que você deve ter feito confusão. Você pode utilizar só o operador "is", mas vai ser meio redundante (o próprio compilador vai te avisar isso). Para obter um comportamento semelhante ao do TypeOf você pode utilizar o método GetType() que todo objeto possui. Abraços, Graymalkin
-
Mesmo assim, você escreveria tudo na mesma linha, porém a última coluna só estaria presente na DataGrid e não na DataTable. Como você preenche a DataGrid? Você só cria uma DataTable e referencia ela na propriedade DataSource da DataGrid? Abraços, Graymalkin
-
Sim, então não existe essa possibilidade. Mas, pensei em outra coisa. A DataGrid só tem mesmo as colunas da DataTable? Ou seja, você não estaria acrescentando manualmente uma coluna na DataGrid, fora as existentes na DataTable? Graymalkin
-
Cada linha (registro) da DataTable é representado por um índice que começa de 0. Ou seja, o primeiro registro é 0, o segundo é 1, o terceiro é 2, e assim por diante. O mesmo ocorre com as linhas dos dados exibidos na DataGrid. E o mesmo se dá com as colunas. Por exemplo... Dim dt As DataTable = dgHexa.DataSource Dim linha As Integer = dgHexa.CurrentCell.RowNumber Dim coluna As Integer = dgHexa.CurrentCell.ColumnNumber dt.Rows(linha)(coluna) = "teste" ... vai definir a coluna "coluna" na linha "linha" da DataTable como "teste". E isso vai ser refletido na DataGrid. Sacou agora? Graymalkin
-
Não, é um caracter cujo código ASCII/ANSI é 0. O espaço em branco é o 32. Abraços, Graymalkin
-
A .NET 2.0 introduziu a possibilidade de atribuir um valor nulo aos tipos que são valores (como Int32, Boolean, Double, etc.), criando os Nullable Types, utilizando o conceito de Generics. Antes, somente tipos que são referências podiam ter valores nulos (null em C# e Nothing em VB.NET), como era o caso de System.String. Fazer... int x = null; int b = null; MessageBox.Show(x.ToString()); MessageBox.Show(b.ToString()); ... em C# resulta em erro porque um int não pode ter um valor nulo. Fazer... Dim x As Integer = Nothing Dim b As Boolean = Nothing MessageBox.Show(x.ToString()) MessageBox.Show(b.ToString()) ... em VB.NET não resulta em erro, mas x e b passam a ter os valores padrões de seus respectivos tipos (no caso, 0 e False). Invocando um erro ou não, o caso é que não temos como definir um valor nulo para estes tipos. Já para uma string isso é valido... string s = null; MessageBox.Show(s.ToString()); ... e vai resultar em um erro na segunda linha, já que o objeto é nulo. Com os Nullable Types passou a ser possível atribuir um valor nulo à qualquer tipo que é um valor. Por isso pode-se fazer: C# int? valor; VB.NET Dim valor As Nullable(Of Integer) Com a possibilidade de atribuir-se um valor nulo a um tipo valor é importante que se possa *testar* se um objeto tem um valor ou não (ou seja, se é nulo). Um caso comum seria atribuir um Nullable Type a um tipo comum: int valor2 = valor; Note que "valor2" não é nullable, mas "valor" pode ser (no exemplo acima, consideremos que é). A atribuição acima então estaria errada e deveria ser feita da seguinte maneira: int valor2 = valor ?? 0; Ou seja, se "valor" for nulo, então será retornado "0". Caso contrário, será retornado o valor de "valor". Em VB.NET, se não me engano, isso pode ser feito assim: Dim valor2 As Integer = Iif(valor.HasValue, valor, 0) Certo? Graymalkin
-
De fato, o Variant não pode ser comparado ao Object. O primeiro é apenas um tipo suficientemente grande para acomodar qualquer outro tipo, mas não rola a herança (o que acontece com o segundo em relação aos outros tipos). Bem-vindo novamente, Aragorn... ops... rodfraga! Abraços, Graymalkin
-
Tem certeza de que não existe algum chr(0) entre os caracteres? Porque você está criando um arquivo texto e acho que este tipo de caracter iria interromper a gravação. Bom, é só um palpite. Abraços, Graymalkin
-
Então você teria também que "editar" os registros e não apenas inserí-los, como você está fazendo. O que você tem que ter em mente é que o "dt" é um DataTable, ou seja, é uma tabela onde os registros são armazenados em linhas e colunas fixas. Supondo que hajam 10 colunas para cada linha, se o usuário posicionar a seleção na 5ª coluna de uma linha qualquer e mandar preencher o alfabeto dali em diante, você mandará preencher as colunas 5, 6, 7, 8, 9 e 10 e depois pular para a próxima linha. Na próxima linha, obviamente, ele vai preencher todos as colunas. E assim por diante até que o alfabeto acabe. Sacou? Graymalkin