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

    Arquivos

    Encontrei o problema. Neste For... For i = 0 To (bytes.Length - 10) Step 10 ... existe o problema de incrementar a variável iteradora de 10 em 10. Isso significa que se o tamanho do arquivo não for múltiplo de 10, faltarão os bytes finais. Para resolver isso, é só colocar o seguinte após o Next do For acima: Dim diferença As Integer = (bytes.Length - 1) - i If diferença > 0 Then Dim aE As New ArrayList For j As Integer = i To bytes.Length - 1 aE.Add(bytes(j)) Next Dim elementos() As Object = aE.ToArray(Type.GetType("System.Object")) Dim aH As New ArrayList Dim aC As New ArrayList Dim elemento As String For Each elemento In elementos aH.Add(Hex(elemento).PadLeft(2, "0")) aC.Add(Chr(elemento)) Next dtHexa.Rows.Add(aH.ToArray(Type.GetType("System.Object"))) dtChar.Rows.Add(aC.ToArray(Type.GetType("System.Object"))) End If Desta maneira, os bytes finais serão colocados nas grades também. Como podem ficar colunas nulas na grade, é necessário modificar a gravação do arquivo também (vou colocar aqui só loop da gravação): For Each linha As DataRow In dt.Rows For Each coluna As DataColumn In dt.Columns If Not TypeOf linha(coluna) Is System.DBNull Then Dim b As Char = System.Uri.HexUnescape("%" & linha(coluna), 0) bw.Write(b) End If Next Next Certo? Graymalkin
  2. Um "paradigma" é um um "modelo", um "padrão". Hehehehe... Isso é verdade! . Aliás, quando se fala de um "paradigma de linguagem" (note que não tem o "de programação" aqui), existe um paradigma que se chama "natural" e que se refere justamente ao padrão das línguas (idiomas). Abraços, Graymalkin
  3. Orientação a objetos é um paradigma de linguagem de programação, assim como os paradigmas procedural e funcional (e também o paradigma orientado a aspectos). C++ tem suporte a OO. Teoricamente não. Tudo que pode ser feito orientado a objetos, pode ser feito de forma procedural (em C). Sim. A principal vantagem de se utilizar OO é a *posterior* manutenção de um sistema. Se você for fazer um sistema pequeno que *nunca* ou muito *raramente* vai ser alterado, não vale nem a pena gastar o seu jargão OO. Agora, se o sistema for grande e for ser constantemente modificado, então OO é preferível. Não, muito pelo contrário. Instanciar um objeto em memória, dependendo das informações do mesmo, pode ser mais dispendioso que criar variáveis separadas. Dependendo da linguagem, o objeto vai possuir meta-dados, que são dados que possibilitam seu exame em tempo de execução, o que ocupa ainda mais memória. Mas, é claro que estamos falando aqui de diferenças de frações de segundo. Certo? Graymalkin
  4. Serve para preencher (do Inglês, "fill") uma DataTable (uma única tabela) ou um DataSet (um conjunto de DataTables). É possível criar um OleDbCommand e passá-lo para o OleDbDataAdapter também. A necessidade de utilização do OleDbDataAdapter ali no caso é preencher a DataTable. Ele é o responsável por "adaptar" os tipos de dados do banco de dados aos tipos de dados da .NET Framework. Certo? Graymalkin
  5. IsNaN() serve para o seu caso? Você tem que passar um double para este método, não? Eu pensei que a idéia seria passar uma string, como é o caso mais comum de utilização do IsNumeric(). De qualquer forma, eu acho que a melhor maneira para o seu caso seria fazer: string s = "3,141516"; try { double d = Double.Parse(s); MessageBox.Show(d.ToString()); } catch (System.FormatException erro) { MessageBox.Show("Este não é um valor válido para um duplo!"); } Ou ainda: string s = "3,141516"; if (!Double.TryParse(s, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out valor)) { MessageBox.Show("Valor inválido para um duplo!"); } else { MessageBox.Show(valor.ToString()); } Sim, IsNaN() é um método de classe. A idéia de utilização dele seria assim: double d = 0.0/0.0; if (Double.IsNaN(d)) { MessageBox.Show(d.ToString()); } Todos os citados são classes. Porém, alguns têm seu(s) método(s) construtor(es) protegido(s) para que não se permita a criação de instâncias. Este é o caso de System.Math e System.Console. Sim, desde que estas classes não tenham seu(s) método(s) construtor(es) protegido(s) ou que não sejam abstratas. Se a linguagem em questão fosse Python eu diria que sim (nela, classes também são objetos). Mas, no caso, não. Em .NET você cria mesmo uma instância da classe, que é um objeto. Abraços, Graymalkin
  6. Beleza então. Abraços, Graymalkin
  7. Não, eu não uso e-mail do Hotmail e nem do Yahoo!. De qualquer maneira, uma busca no Google me retornou isso aqui: http://www.dotnetjunkies.com/Article/A72FC...1BEC74C704.dcik Acho que é o que você quer. Abraços, Graymalkin
  8. Ambos os tutoriais têm seus campos de enfoque muito bem definidos: o primeiro é como transmitir dados de um computador para outro e o segundo é como dar um significado aos dados na transmissão e na recepção (ou seja, "enviar um arquivo"). Realmente, aquilo lá é o básico, mas eu não creio que sockets possa ir mais além do que aquilo. Tanto que citei diversos exemplos de utilização de sockets no último parágrafo do primeiro tutorial, e tudo com base no que apresentei. Acho que o problema aí no seu caso é querer transmitir e receber os dados em um formato (protocolo) que você não sabe bem qual é. Se eu fosse fazer um cliente P2P para se comunicar com a rede eDonkey, como o eMule, por exemplo, eu teria que conhecer a fundo a estrutura dos dados que são trafegados entre o cliente e o servidor. É diferente do caso de eu mesmo criar um protocolo para uma rede P2P própria minha. Abraços, Graymalkin
  9. Graymalkin

    Videomediaplayer

    Usando a propriedade TrackPosition você não consegue isso? Abraços, Graymalkin
  10. Você quer que o seu programa seja um servidor, certo? Então você deveria conectar a partir de outro computador (ou do mesmo computador, mas de outro projeto). Quem vai enviar aquele pacote é o cliente (agora, o que o servidor deverá responder é uma coisa que será necessário pesquisar também). E, também, aconselho dar uma olhada novamente naqueles tutoriais de sockets que recomendei no início deste tópico. Abraços, Graymalkin
  11. Creio que você esteja utilizando C#, porque no VB.NET ainda temos o IsNumeric. Então, você pode fazer uma referência ao "Microsoft Visual Basic .NET Runtime" e colocar o seguinte: using Microsoft.VisualBasic; E a seguir fazer: string s = "23"; MessageBox.Show(Information.IsNumeric(s).ToString()); Certo? Na classe Information existem outras funções que você pode achar úteis (como o IsArray citado). Abraços, Graymalkin
  12. Coloque os dados em uma DataTable (ou em um DataSet) e então você poderá acessar um registro específico por seu índice na coleção. Veja o exemplo abaixo: DataTable dt = new DataTable(); DataRow registro; OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\temp\\bd\\bd1.mdb"); cn.Open(); OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM cadastro", cn); da.Fill(dt); registro = dt.Rows[0]; // Primeiro registro (0) MessageBox.Show(registro["Nome"].ToString()); registro = dt.Rows[1]; // Segundo registro (1) MessageBox.Show(registro["Nome"].ToString()); ADO.NET não possui o conceito de ter um ponteiro apontando para o registro atual. Abraços, Graymalkin
  13. Como você fez? Você realmente conectou antes? Abraços, Graymalkin
  14. Graymalkin

    Desligar O Pc

    Faça uma busca aqui no fórum e você encontrará vários tópicos sobre isso. Abraços, Graymalkin
  15. Então você quer exibir na página, não? Porque eu nunca vi um site com uma caixa de mensagem mais completa do que a de JavaScript (já que é a única disponível para o cliente). Abrbaços, Graymalkin
  16. Graymalkin

    Tipagem

    Acredito que sim (não consegui imaginar uma linguagem que pudesse fugir de um ou de outro... todavia é possível que exista). Não Graymalkin, eu sei que no VBScript só existe Variant, mas você não pode fazer isso: x = 10 + "Denis".. Certo? Se eu estiver certo, em relação ao segundo parágrafo, VBScript possui as tipagens Forte/Dinâmica, certo? Isso é bem relativo. Curiosamente o exemplo abaixo funciona... x = 10 + "1" ... e o resultado é o equivalente de 10+1, porém não é isso que está escrito ali. É certo que Variant tem sub-tipos (integer, string, etc.). Se estes sub-tipos são tão característicos, ela é fortemente tipada. Porém, o exemplo acima não demonstra exatamente isto. Abraços, Graymalkin
  17. Graymalkin

    Que Linguagem Usar?

    Graymalkin, isso foi uma apologia ou crítica ao Clipper? Uma apologia mesmo. O único "problema" do Clipper é a falta de OO (Orientação a Objetos), sendo ela principalmente uma linguagem procedural (como Pascal e C, por exemplo). Sim, existe: http://www.borland.com/us/products/cbuilder/ Sim, Clipper é muito fácil de se aprender, tem um bom suporte a BD (no caso, dBASE, sendo possível colocar drivers para outros bancos), e é ótimo para criar interfaces "gráficas" no DOS (prompt). Uma outra linguagem de fácil aprendizado e bem mais moderna seria Python. Só não sei como seria o tempo de resposta dela em máquinas mais lentas, mas aí é só uma questão de testar. Para mais informações sobre Python: http://www.pythonbrasil.com.br/ Abraços, Graymalkin
  18. Graymalkin

    Que Linguagem Usar?

    Viva o Clipper!!! (Ok, podem começar a me apedrejar! ). Abraços, Graymalkin
  19. Já temos exemplos disponíveis aqui mesmo fórum (experimente fazer uma busca): http://scriptbrasil.com.br/forum/index.php?showtopic=62225 http://scriptbrasil.com.br/forum/index.php?showtopic=53781 http://scriptbrasil.com.br/forum/index.php?showtopic=58004 http://scriptbrasil.com.br/forum/index.php?showtopic=50297 http://scriptbrasil.com.br/forum/index.php?showtopic=48312 http://scriptbrasil.com.br/forum/index.php?showtopic=47622 http://scriptbrasil.com.br/forum/index.php?showtopic=25935 http://scriptbrasil.com.br/forum/index.php?showtopic=65145 Certo? Graymalkin
  20. Não bastaria fazer uma SQL do tipo "SELECT Count(*) AS quantidade FROM tabela;" e depois ver o conteúdo do campo "quantidade"? Abraços, Graymalkin
  21. Coloque o seguinte no evento Unload do form: Cancel = 1 Abraços, Graymalkin
  22. Graymalkin

    Ajuda

    O quê, exatamente, você não conseguiu fazer? Para o alterar não bastaria escrever o registro alterado na mesma posição dele anteriomente? Abraços, Graymalkin
  23. Você pode ter vários estilos e ativar algum específico através de JavaScript. Se quiser eu posso colocar um exemplo aqui. Abraços, Graymalkin
  24. Graymalkin

    Tipagem

    Toda linguagem que suporta conversão implicita pode ser considerada com tipagem fraca ou forte? Ou depende da linguagem em questão? Depende muito. Além disso, a conversão implícita sempre tem certas regras e só vai aceitar tipos compatíveis: Dim i As Integer i = 2.5 'Double i = 5D 'Decimal i = True 'Boolean i = 2L 'Long Todas estas conversões são válidas, pois todas resultam em valores numéricos que cabem em um Integer. A tipagem continua sendo forte (Integer), desde que você atribua valores que cabem em um Integer. Já coisas como... Dim i As Integer i = "palavra" i = "a"c i = #12/8/2005# ... não são válidas, porque não resultam em valores que um Integer aceitaria. Certo? Graymalkin
  25. A API Win32 é bem vasta e deve cobrir tudo, por isso eu recomendaria o API-Guide: http://www.allapi.net/ ou http://www.mentalis.org/ MkDir e RmDir, respectivamente. Abraços, Graymalkin
×
×
  • Criar Novo...