
Andersonjb
Veteranos-
Total de itens
580 -
Registro em
-
Última visita
Tudo que Andersonjb postou
-
E ai Pessoal, olhem so esse programa: Dim dt As New DataTable For i As Integer = 0 To 15 dt.Columns.Add(Hex(i)) dt.Rows.Add(Hex(i)) Next dgtabela.DataSource = dt Bem, ele adiciona tabelas e linhas com strings fixas nelas. Eu consigo adicionar os caracteres nas Colunas mas não nas linhas, porque? O que eu estou fazendo de errado?
-
E ai Pessoal, beleza? Bem, digamos que eu tenha Duas Datas Grids, com o nome de dghexa e dg char. Bem, eu queria manipular o scroll delas. Bem, como eu não achei uma propriedade correta para isso, eu consegui achar o evento Scroll. Bem, a minha ideia e a seguinte: e a de que quando eu movimento o Scroll da dghexa o Scroll da dgchar tambem se movimente, entenderam? Bem, como eu não achei propriedade, achei so o evento, pensei em chamar um evento dentro do outro ( o evento do scroll da dgchar dentro do evento scroll da dghexa ), so que não sei fazer isso e não sei se daria certo. alguém poderia me dar uma mão?
-
Ei Gray, valeu, hein! Obrigado por tudo, aqui funcionou corretamente! Deixa eu perguntar: Isso ocorre por os bytes serem multiplos de 8? Bem, eu não entendi, como assim os bytes finais serao colocados na grades?
-
O arquivo nem chegou a ser modificado, você acredita?
-
Bem, Gray, infelizmente aqui não funcionou... Bem, eu notei umas coisas nesse codigo: Dim nomearq As String = "c:\teste.exe" Arquivo executavel, porque isso? Dim b As Char = System.Uri.HexUnescape("%" & linha(coluna), 0) bw.Write(b) Não deveria converter com a função Asc antes de salvar? Bem, você tem alguma opnião porque aqui não deu certo? valeu, Gray!
-
Bem, mas um arquivo do bloco de notas e codificado? Caramba, hein! Opa, pode deixar que eu espero, beleza? valeu Gray!
-
Bem, Gray, o codigo então ficou dessa maneira, correto? Dim dt As DataTable = dghexa.DataSource For Each linha As DataRow In dt.Rows For Each coluna As DataColumn In dt.Columns Dim h As String = linha(coluna) Dim armazena As String armazena = System.Uri.HexUnescape("%" & h, 0) binariosaida.Write(Asc(armazena)) Next Next Bem, agora a funnção esta sendo usada corretamente, como você falou! So que digamos que eu abra um arquivo com esse texto dentro: Bem, quando eu mando salvar, ele fica dessa maneira: Bem, os valores ascii estão sendo convertidos corretamete, não estão? Seria a maneira de gravar que está errada então?
-
E ai Gray, bem, esse comando funcionou, eu escrevi dessa maneira: dtHexa = dghexa.DataSource Dim dt As DataTable = dghexa.DataSource For Each linha As DataRow In dt.Rows For Each coluna As DataColumn In dt.Columns Dim h As String = linha(coluna) Dim armazena As String armazena = System.Uri.HexUnescape(h, 1) binariosaida.Write(Asc(armazena)) Next Next ELe mostra o Ascii correspondente ao caracter, mas mesmo assim ele não salva corretamente, eu to fazendo , pra variar, alguma coisa errada de novo?
-
Bem, ela não retorna nada, ela nem da certo aqui, da erro na linha de comando. O que ela deveria fazer?
-
arquivosaida = New FileStream(nomearq, FileMode.Open, FileAccess.Write) binariosaida = New BinaryWriter(arquivosaida) Dim dt As DataTable = dghexa.DataSource For Each linha As DataRow In dt.Rows For Each coluna As DataColumn In dt.Columns Dim a As String a = System.Uri.HexUnescape((linha(coluna))) binariosaida.Write(Asc(a)) Next Next então com esse codigo o texto salvaria corretamente?
-
E ai, Gray, mais problemas. Bem, fiz como você mandou, estou salvando byte por byte e convertendo caracter por caracter, mas mesmo assim não grava os arquivos, da uma olhada: arquivosaida = New FileStream(nomearq, FileMode.Open, FileAccess.Write) binariosaida = New BinaryWriter(arquivosaida) Dim dt As DataTable = dghexa.DataSource For Each linha As DataRow In dt.Rows For Each coluna As DataColumn In dt.Columns Debug.WriteLine(linha(coluna)) Dim a As String a = (linha(coluna)) binariosaida.Write(Asc(a)) Next Next O que tem de errado?
-
Opa, o que faz esse debug ai, gray???
-
E ai, Gray, to montando a logica como você falou, o problema e o seguinte: como faço para pegar caracter por caracter da data table, qual e o metodo que faz isso? A minha logica e essa: multiplicando as colunas e as linhas eu tenho o numero total de caracteres, não tenho? Assim eu giro um laço for e dentro dele eu vou adicionando os caracteres tranformados dentro da variavel e gravando. Bem, o codigo e esse ai embaixo, mas a duvida continua a mesma, como faço para pegar caracter por caracter da data table? Try arquivosaida = New FileStream(nomearq, FileMode.Open, FileAccess.Write) binariosaida = New BinaryWriter(arquivosaida) dtHexa = dghexa.DataSource Dim tl As Integer = dtHexa.Rows.Count Dim tc As Integer = dtHexa.Columns.Count Dim a As Integer = tc Dim tchars As String = tl * tc Dim b As ArrayList For tl = 1 To 10 For tc = 1 To a b.Add(dthexa.) Next Next arquivosaida.Close() binariosaida.Close() Catch ex As Exception MsgBox("não salvou") End Try
-
Como faço para definir uma variavel global para todos os formularios? Eu sei que eu posso definir uma para todos os procedimentos da Unit, mas e para todos os formularios do meu projeto??
-
Bem, essa obtenção dos valores Hexas eu guardo aonde, em uma String Builder, ou pode ser uma variavel normal? E você falou sobre ir gravando aos poucos.. eu tenho que dar um binary writer a cada caracter contido no arquivo ou posso alvar tudo de uma vez??
-
Bem, pessoal, eu acabei de adquirir um cd aqui com varias apostilas da plataforma .net, se estiverem precisando de alguma coisa, me contatem ou arrumem um host que eu arrumo pra vocês, e um material muito bom mesmo, e o Cd .Net do Macoratti! Falows
-
Beleza Gray, mas e pra salvar, e o mesmo processo anterior?
-
Poxa, otima ideia. Bem, não sei se você já mexeu em editores hexas, mas essa coisa acontece, você muda um endereço Hexa e o Valor Decimal tambem muda! Tanto que eu estava pensando como resolver esse problema depois, mas com essa sua solução, e otimo! Bem, interligar as duas data grids e facil, se eu não me engano eu ainda sei como fazer! E para exibir as letras, ou seja, abrir o arquivo binario, e da mesma maneira que você mencionou nesse tópico ou eu tenho de fazer de maneira diferente??
-
hummm, eu lembro que você falou que uma RichTextBox não era o objeto mais apropriado para se fazer isso, mas bem, qaul objeto posso utilizar alem do rich text para abrir e salvar arquivos binários? E acontecia isso mesmo que você falou, por exemplo, antes ate aparecia das letras as roms de super nintendo que eu tentava abrir, mas ultimamente so aparece uma letra. Mas resumindo, que objeto eu devo usar então?
-
Bem, os dados estão representados em letras normais
-
E ai Gray, me desculpa novamente te incomodar ai, mas eu to apanhando que nem um condenado nesse negocio aqui... Bem, eu segui a sua ideia, e claro que não por ser certa, de como eu posso dizer, "restransformar" os caracteres do arquivo, por exemplo, eu usei a função Chr() para passar os dados do arquivo para caracter e para salvar eu estou passando os caracteres para a sua menção original, que no caso seria o codigo Ascii, utilizando essa função que você me recomendou. Bem, o codigo de salvar ficou assim: arquivosaida = New FileStream(nomearq, FileMode.Open, FileAccess.Write) binariosaida = New BinaryWriter(arquivosaida) binariosaida.Write(Asc(RichTextBox1.Text)) arquivosaida.Close() binariosaida.Close() Bem, acontece que ele não salva corretamente. Ai eu estive pensando ( novamente, o bicho burro ) e quando eu abro o arquivo eu utilizo o for each e ranformo caracter por caracter, não e verdade, e o arquivo abre perfeitamente.Ai eu pensei, então porque não fazer o mesmo na hora de salvar? So que o problema e que eu não consigo ler a quantidade de bytes que tem ou no binary reader ou no filestream que me possibilitam executar o for each, por exemplo: eu preciso pegar a quantidade de bytes contida no arquivo, certo, para mim executar o for e converter ate o ultimo bit ( caracter ) de informação para mim salvar no arquivo, correto? So que o problema e como eu disse, não há nemhum metodo ReadBytes nessa instancias para mim verificar o tamanho e eu executar o for each, o mais perto que eu consigui achar foi isso: Dim bytes() As Byte = binariosaida.BaseStream.ReadByte(arquivosaida.lenght)
-
Ceeeero, bem, da uma olhada, eu to convertendo as letras com essa funcção aqui, certo? caracter = Chr(b) Bem, mas qual e a função contraia a esse Chr pra mim poder converter e salvar no arquivo???
-
Bem, gray,olha so: no caso pra mim achar os caracteres eu teria que converte-los em binario, correto? porque eu preciso fazer uma varredura no arquivo pra ver aonde eu tenho qu epular linha, etc... POr exeplo, eu poderia usar um for each pra mim ver todas as letras e colocar um if pra mim definir o que e o que na hora de eu gravar o arquivo, correto? So que o problema e que eu não estou conseguindo converter o conteudo da RichTextBox em bytes, par amim executar o for each. Nem com o binary writer que eu criei não tem a propriedade lenght pra mim pegar o tanto de caracteres que tem e eu executar o for each. Da uma olhada: Try arquivosaida = New FileStream(nomearq, FileMode.Open, FileAccess.Write) binariosaida = New BinaryWriter(arquivosaida) Dim s As New System.Text.StringBuilder s.Append(RichTextBox1.Text) Dim bytes() As Byte = binariosaida.BaseStream.ReadByte(arquivosaida.Length) Dim a As String Dim bytes() As Byte binariosaida.Write(RichTextBox1.Text) arquivosaida.Close() binariosaida.Close() Catch ex As Exception MsgBox("não salvou") End Try Esse base stream ai ta com erro... então como eu faço para mim converter os caracteres da richtextbox em bytes pra mim ver o conteudo e colocar os pula linhas, etc???
-
Gray, consegui! Depois de encontaveis enchidas de saco, rs, finalmente consegui salvar os dados. O Codigo que eu usei foi esse: Try arquivosaida = New FileStream(nomearq, FileMode.Open, FileAccess.Write) binariosaida = New BinaryWriter(arquivosaida) binariosaida.Write(RichTextBox1.Text) arquivosaida.Close() binariosaida.Close() Catch ex As Exception MsgBox("não salvou") End Try Bem, so que eu so queria tirar mais uma duvidazinha, posso? E que e assim: apesar dele salvar no arquivo, e eu estar salvando como caracter, aparece uns simbolos entranhos, mais ou menos assim: digamos que eu abra um arquivo com esse texto: POr causa do COdigo que eu coloquei, ele abriria no meu editor da seguinte maneira: Mas quando eu vou salvar o arquivo, ele fica da seguinte maneira: Bem, veja ai que ele adicionou um ponto logo no inicio, o que seria esse ponto?? ( que no caso e uma determinação minha para um caracter que não tem uma representação grafica valida ) Eu cheguei ate a pensar que seria o marcador do começo da string, sera que e isso? E bem, o arquivo teria que ser salvo da seguinte maneira: Mas não, ele e salvo dessa maneira: Bem, ele não deveria alterar somente as letras, porque altera tudo? Sera que e por causa disso? binariosaida.Write(RichTextBox1.Text) Se for, como faço pra salvar somente as modificações??