Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - carlosguay

#11
Cita de: carlosguay en  8 Diciembre 2009, 21:32 PM
Ya que mi problema es de archivos de texto, lo pongo aqui por no abrir otro hilo.

Primero decir que gracias a este hilo, e podido solucionar muchas de las cosas que estoy haciendo com mis archivos, gracias a leo por este aporte.

Vereis tengo un problema que no se como solucionar con este archivo.

 
Citarad 55 6b b9   ad b6 ef ba   05 bc 36 9d   3c 86 43 38
  bf cf 2f bf   4a 8b d7 09   4d 02 41 00   bc c7 88 fd 
  f7 19 be aa   03 c6 18 ee   b3 2c b9 b8   73 89 0b 72 
  06 57 8b c9   77 b3 79 c3   4f 5f db 60   e7 89 bd 55 
  06 90 79 12   f6 84 67 b1   84 c4 dc 22   5b 3a 7f 45 
  ac 5d 14 7e   1d c6 b9 65   8f 6c 37 36| .].~...e.l76

LINEA CON TEXTO


Este archivo, en la parte de la derecha, lleva codigo acssi, que como veis no tengo problema en quitarlo, pero ya veis que en el penultimo renglon ya que la parte de hex no llega hasta el final, pues me deja parte del acssi.

Os pondria de las formas que e intentado quitar la ultima linea y la parte de acsii, pero ya se me an olvidado, xd, siempre consigo esto.


Citar
ad 55 6b b9 ad b6 ef ba 05 bc 36 9d 3c 86 43 38
bf cf 2f bf 4a 8b d7 09 4d 02 41 00 bc c7 88 fd
f7 19 be aa 03 c6 18 ee b3 2c b9 b8 73 89 0b 72
06 57 8b c9 77 b3 79 c3 4f 5f db 60 e7 89 bd 55
06 90 79 12 f6 84 67 b1 84 c4 dc 22 5b 3a 7f 45


Como veis no solo borro la ultima linea y la parte de acsii, sino que tambien borro la linea completa y se seguro que es por |, toma como ultima linea esa y eso es lo que pasa.

Pues si alquien me puede ayudar, me haria un gran favor.

saludos





Hola de nuevo.

Deje el tema por falta de tiempo y ahora lo he vuelto a retomar, si me pudierais hechar una manita, o alguna idea, seria de agradecer.

saludos
#12
Ajummm, sigo igual de perdido, xd.

Cuando dije vbs, queria decir vbc, jeje, he compilado algunas cosillas que e encontrado por internet, y lo campilo como te dije, no pongo lo de target:console?

Si tengo que compilar poniendo todos los Imports, seria algo larguillo, no?

vbc /target:console /imports:System.dll,System.XML.dll,System.ComponentModel,dll,System.ComponetModel.XML.dll,System.Drawing.dll,System.Drawing.XML.dll etc,etc,etc MiArchivo.vb

Com los namespaces, me vuelves a dejar pillado. :rolleyes:

Si es mejor instalar el visualstudio, no tengo problema.

Sigo pensando que al codigo que te e puesto, ya que era de una interface, creo que le sobraran cosas y lo mismo tambien le faltan.

Raul si no tienes problema, casi mejor te mando el programa completo y el decompilardor por MP, creo que lo mismo hacemos de este hilo, una novela venezolana, jejej.

Solo para que lo veas eh, no es que quiera que me lo des ya hecho, aunque no seria una mala idea, jejeje es broma. ;D


#13
Perdona mi torpeza.
Dices en las dos listas?, te refieres a los Imports, porque codigo solo e puesto uno.

Cuando dices que agrege al proyecto, que tengo que intalar visulbasic,? yo como solo es un exe, o consola, habia pensado compilarlo desde NET.Framewor, asin.

csc Prueba.cs   o

vbs Prueba.vb

Y otra cosa, a ese codigo que pongo, para que sea por consola, le sobraran cosas, no?

Como ves estoy algo liadillo, jeje.

un saludo
#14
Te agradezco mucho tu comprexion, ahora esta mas claro todo.

En el post inicial, pongo que lo que necesitaria, seria una aplicacion o .exe, que al ejecutarlo haga lo que necesito.

Veras antes de hacer ese paso, tengo que hacer otras cosas que ya tengo superadas com el bat, y ya que esa parte no se puede meter dentro del bat, al menos que pudiera ejecutarlo desde el bat, joder cuantos bats.

Por eso lo que te comento de conectar, osea el boton de conectar no lo necesitaria, aunque si ves necesita un hosname, que es una IP, que tendria que ponerle, y habia pensado algo como una variable que pudiera introducirla desde el mismo bat, pero por eso no te preocupes que ya pensaria yo algo.

Aqui tienes los Imports.


Código (vbnet) [Seleccionar]
Imports System
Imports System.ComponentModel
Imports System.Drawing
Imports System.IO.Ports
Imports System.Windows.Forms
Imports com.ms.vjsharp.cor
Imports com.ms.vjsharp.lang
Imports java.io
Imports java.lang
Imports java.net

Namespace WindowsApplication2

    Public Class Form1
        Inherits Form



Código (vbnet) [Seleccionar]
Imports System
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports com.ms.vjsharp.cor
Imports com.ms.vjsharp.lang

Namespace WindowsApplication2

    Public Class OffsetDialog
        Inherits Form


Te pongo las dos cabezeras completas.

un saludo
#15
Ya ya se que no era por criticarme, pero me parecio mejor explicarte un poco mis pensamientos y aclararte que de esto estoy totalmente pegado.

Veras todo ese codigo, lo he sacado de demcopilar un programa que tengo, lo que pasa es que ese programa, tiene muchisimos botones, exactamente 14, y te e puesto solo lo que necesito, que som dos botones, una para conectar y el otro hace la lectura de la parte que necesito.

Este programa, no lleva ninguna dll ni ocx, si te puedo decir que necesita el NET.Framework, para que funcione.

Yo e sacado ese codigo como visualbasic, porque creo haber leido que para usar NET, es asin, aunque com el decompilador que tengo puedo sacar el codigo, com el lenguaje que quiera.

Lo de los Imports, no lo comprendo y no se exactamente que necesitarias.

Te puedo decir, que en los dos meses aprosimados que llevo metido en este mundo, he aprendido bastante de batch y de programacion en general, aunque creo que e empezado la casa por el tejado, como se dice por mi tierra y tendria que hacer un curso para novatos aunque sea.

Se que de copiar y pegar no se aprende nada, pero cuanto tardaste tu en saber lo que sabes?.

A mi me encantaria aprender algun lenguaje, pero sinceramente, por la edad que tengo y por lo que llevo leido de programacion, creo que lo que alguien aprenda en un año, yo necesitaria dos años, o mas jejeje.

Pero por supuesto que pienso seguir leyendo sobre programacion, es genial y alomejor algun dia, sea yo quien responda a alguien com sus dudas.

un saludo
#16
Te agradezco mucho tus respuestas raul.

Veras yo se que cuesta mucho aprender algo, para que despues llegue alguien pidiendo lo que a uno le a costado años aprender.
Yo  no quiero que nadie me de algo ya echo, y te puedo decir que me a costado mucho poner este post, aunque no lo creas.

Eso que e puesto, como dije al principio, som trozos de codigo que se, seguro que es lo que necesito, pero no como un programa normal, como esta ese codigo.
Osea no com interface, si no como consola, osea eso que hace ese codigo,`pasarlo a consola.

Mi hobiie som los modems, y es para lo que necesito ese codigo, en el foro donde suelo andar, son muchas las preguntas que se responden muchas veces, y eso es desesperante, ver que la gente no lee.
Pero como tu sabras, esto que estoy pidiendo, no es que no me guste, pero no es facil de aprender, y no se aprende en dos dias ni mucho menos.

Te agradezco mucho el tiempo dedicado.

un saludo
#17
Vereis llevo un tiempo haciendo un bat, para manipular detos de un modem.
Tengo que hacer varias cosas, que las tengo ya resueltas, pero lo ultimo es sacar unos datos de la flash del modem.
Esto no se puede hacer com batch y tengo entendido que tiene que hacerse com java, por lo que tengo leido para usar java es mejor com visualbasic y por eso estoy intentando usar este codigo que os pongo.


Código (vbnet) [Seleccionar]
Imports System
Public Class Prueba
  Public Shared Sub Main()

Public Sub New()
    Me.components = Nothing
    Me.connected = False
    Me.port = &H17
    Me.raf = Nothing
    Me.bis = Nothing
    Me.ps = Nothing
    Me.skt = Nothing
    Dim num As Integer = 5
    If (num < 0) Then
        Throw New NegativeArraySizeException
    End If
    Dim textArray1 As String() = New String(num  - 1) {}
    textArray1(3) = "perm"
    Me.im = textArray1
    Me.InitializeComponent
End Sub

Public Overridable Sub connection(ByVal b As Boolean)
    Me.connected = b
    Me.hostname.set_Enabled((b Xor True))
   
    If Not b Then
        Try
            Me.skt.close
        Catch obj1 As Object When (?)
            Dim throwable As Throwable
            Dim exception As Exception = throwable
        End Try
        Try
            Me.raf.Close
        Catch obj2 As Object When (?)
            Dim throwable2 As Throwable
            Dim exception2 As Exception = throwable2
        End Try
    End If
End Sub

Public Overridable Function openFlash(ByVal s As String) As Boolean
    Me.send2Serial("cd /flash" & ChrW(13))
    Try
        Thread.sleep(500)
    Catch obj1 As Object When (?)
        Dim throwable As Throwable
        Dim exception As Exception = throwable
    End Try
    Me.send2Serial("close" & ChrW(13))
    Try
        Thread.sleep(500)
    Catch obj2 As Object When (?)
        Dim throwable2 As Throwable
        Dim exception2 As Exception = throwable2
    End Try
    Me.send2Serial(New StringBuffer().append("open ").append(s).append(ChrW(13)).ToString)
    Select Case Me.wait4("Flash driver opened", "ERROR - failed to o", Nothing, Nothing, Nothing)
        Case -1
            Return False
        Case 2
            Me.cout("ERROR: Unable to open the flash driver.")
            Me.cout("You need to reboot the modem.")
            Return False
    End Select
    Me.cout("Flash driver Opened.")
    If (Me.wait4("CM/Flash> ", Nothing, Nothing, Nothing, Nothing) Is -1) Then
        Return False
    End If
    Me.cout(New StringBuffer().append("Flash Device Ready (").append(s).append(" region)").ToString)
    Return True
End Function

Public Overridable Sub readFlash(ByVal s As String)
    If Not Me.openFlash(s) Then
        Return
    End If
    Dim stream As FileOutputStream = Nothing
    Dim flag As Boolean = False
    Try
        stream = New FileOutputStream(New StringBuffer().append(s).append(".bin").ToString)
        If (Not stream Is Nothing) Then
            flag = True
        End If
    Catch obj1 As Object When (?)
        Dim throwable As Throwable
        Dim exception As Exception = throwable
    End Try
    If Not flag Then
        Me.cout(New StringBuffer().append("Error opening local file ").append(s).append(".bin for writing").ToString)
        Return
    End If
    Me.cout(New StringBuffer().append("Reading ").append(s).append(" Flash region").ToString)
    Dim num As Integer = 0
    Dim num2 As Integer = 0
Label_0249:
    Do While flag
        Dim str As String = ""
        Me.send2Serial(New StringBuffer().append("readDirect 256 ").append(num).append(ChrW(13)).ToString)
        If (Me.wait4("region:", Nothing, Nothing, Nothing, Nothing) Is -1) Then
            flag = False
            Exit Do
        End If
        Do While flag
            Dim num3 As Integer = Me.getSerialByte
            If (num3 Is -1) Then
                Me.cout("Communication Error")
                flag = False
                goto Label_0249
            End If
            If ((((num2 < &H100) AndAlso (num3 >= &H30)) AndAlso (num3 <= &H39)) OrElse ((num3 >= &H61) AndAlso (num3 <= &H66))) Then
                str = New StringBuffer().append(str).append(DirectCast(num3, Char)).ToString
                If (StringImpl.length(str) Is 2) Then
                    Dim num4 As Integer = Integer.parseInt(str, &H10)
                    Try
                        stream.write(num4)
                    Catch obj2 As Object When (?)
                        Dim throwable2 As Throwable
                        Dim exception2 As Exception = throwable2
                    End Try
                    str = ""
                    num2 += 1
                    Continue Do
                End If
            End If
            Select Case num3
                Case &H42
                    Me.cout(New StringBuffer().append("Flash read of ").append(s).append(" region is complete. Output to file: ").append(s).append(".bin").ToString)
                    Me.send2Serial("close" & ChrW(13))
                    flag = False
                    goto Label_0249
                Case &H43
                    Do While (Not Me.getSerialByte Is &H3E)
                    Loop
                    num = (num + &H100)
                    num2 = 0
                    Me.cout(New StringBuffer().append("Read ").append(num).append(" bytes").ToString)
                    goto Label_0249
            End Select
        Loop
    Loop
    Try
        stream.close
    Catch obj3 As Object When (?)
        Dim throwable3 As Throwable
        Dim exception3 As Exception = throwable3
    End Try
End Sub

Public Overridable Function wait4(ByVal w1 As String, ByVal w2 As String, ByVal w3 As String, ByVal w4 As String, ByVal w5 As String) As Integer
    Dim str As String = ""
    Dim i As Integer
    For i = 0 To StringImpl.length(w1) - 1
        str = New StringBuffer().append(str).append(" ").ToString
    Next i
    Do
        Dim num2 As Integer = Me.getSerialByte
        If (num2 Is -1) Then
            Return num2
        End If
        str = New StringBuffer().append(StringImpl.substring(str, 1)).append(DirectCast(num2, Char)).ToString
        If StringImpl.equals(str, w1) Then
            Return 1
        End If
        If ((Not w2 Is Nothing) AndAlso StringImpl.equals(str, w2)) Then
            Return 2
        End If
        If ((Not w3 Is Nothing) AndAlso StringImpl.equals(str, w3)) Then
            Return 3
        End If
        If ((Not w4 Is Nothing) AndAlso StringImpl.equals(str, w4)) Then
            Return 4
        End If
    Loop While ((w5 Is Nothing) OrElse Not StringImpl.equals(str, w5))
    Return 5
End Function

Console.Read
  End Sub
End Class



Esto que os pongo som recortes que e ido pegando, que creo hace lo que necesito, pero como vereis, le sobraran cosas y le faltaran seguro.

Pues si alguien tiene tiempo de hecharle una mirada a este codigo, se lo agredeseria mucho.
Yo lo unico que necesito es que al ejecutar el exe. saque lo que necesito sin mas, osea sin preguntar nada, ejecutar y funcionar.

un saludo















#18
Que grandes que soys, GRACIASSSSSS, sin vosotros nunca lo habia conseguido.

Me funciona perfecto, gracias de verdad.

un saludo
#19
Llevo mucho tiempo liado com un bat, para manipular archivos binarios, osea com bytes.
He tenido muchos trompiesos y ya solo me queda uno por resolver, a ver si alquien sabria ayudarme, ya que no se donde leer mas, ni como solucionar este poblema.

Tengo archivos como he dicho antes asin.

CitarAA BB CC DD EE FF
AA BB CC DD EE FF

Y necesito ponerlo asin, para pasarlos a un archivo bin.

CitarAA BB CC DD EE FF AA BB CC DD EE FF

Lo que necesito es que los bytes, esten correlativos y no de linea en linea.
Vereis si fueran pocos bytes, pues se podria hacer a mano, pero estoy manejando miles de bytes, por eso estoy com el bat liado, para manipularlos.

Se que primero tengo que hacer algo como esto.


Citar@echo off
setlocal enabledelayedexpansion
for /f "tokens=1" %%_ in ('type "file.txt" ^| find /v /c ""') do (set "lineas=%%_";)
set /a "contador=0"
for /f "eol= tokens=* delims=" %%_ in (file.txt) do (
set /a "contador+=1"
set "linea!contador!=%%_"
)

Pero como puedo seguir, una manita o alguna idea, que estoy bastante harto ya de este bat.

saludos
#20
Bueno pues esto YA FUNCIONAAAA, xd que lio, no os puedo decir cual era el ultimo problema.

He desistalado el activeperl y lo he vuelto a instalar, yasta tanto binhex como hexbin, fenomeno.

Pero como no podia ser de otra manera, pues ahora tengo otro problema, xd.




Como se ve, el interprete cree que solo quiero cambiar la primera linea de bytes, y es que los archivos los tengo como estan en la imagen, este es otro reto, jejej.

Gracias por vuestra ayuda y perdonar por el tostom.

Decir que si algun dia teneis un problema com algun modem, pasaros por aqui.

http://www.forocable.com/foro/index.php

Si no preguntais cosas muy dificiles,jejejeje  pues alomejor yo os puedo ayudar a vosotros, espero tambien algun dia poder ayudar aqui a alguien.

saludos