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 - raul338

#2501
Cita de: carlosguay en 22 Diciembre 2009, 14:08 PM
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.
Ok, no lleva ocs, y lo de los Imports indican que parte del .Net framework va a usar el programa (las funciones del framework son muchas y estan separadas por categorias (Nombres de espacio - se llaman con Imports) Ejemplo, si voy a usar Criptografia llamo a System.Criptography (o algo asi..), si voy a usar graficos con GDI llamo a System.Drawing, si llamo a otras DLLs que estan hechas tambien en .net llamo a System.Reflection.
con lo cual arriba de todo quedaria

Código (vbnet) [Seleccionar]

Imports System.Criptography
Imports System.Drawing
Imports System.Reflection

ahora se entiende mejor? Fijate en los programas decompilados cuales son los "Imports" que usa

Cita de: carlosguay en 22 Diciembre 2009, 14:08 PM
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

Todos pueden programar, no es necesario ser un genio para eso (nadie nacio sabiendo). Yo llevo dentro de este mundo casi 6 años, y tambien estuve como vos, viendo codigos de diversas paginas para juntarlos y hacer algo mio y luego (como sea) cambiar todo, algunas veces salieron, otras no. Es solo cuestion de practicar.

Saludos!
#2502
Ahh...era de consola? porque no lo aclaraste (:xD jaja...se me paso xD, pero..... en el codigo hay un "Initialize component", o sea.... el codigo de donde proviene es una aplicacion de windows o.O)

Bueno, releyendo el codigo, hay partes de las que copiaste que son de una clase que hereda de algo (la pregunta es de que? y no conozco ninguna clase parecida :huh:), fijate bien de donde lo sacaste y si tiene alguna dependencia (fijate si tiene referencias a alguna dll o los "Imports" de arriba de todo)

Hay partes que parecen mezcla de C++ y Vb... de donde sacaron un "Me.cout(..)" :huh:

Nada de lo que dije fue por criticarte, sino que es para ayudarte a mejorar y aprendas de tus errores, porque de un simple copiar & pegar no se aprende, y ahi tu estas haciendo la diferencia, aunque te rompas el coco por que no te sale lo que quieres....ahi estas haciendo la diferencia...
#2503
CitarEsto 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.

no se que hace... ni me he fijado, solo te arreglo lo que te dije, el sub main, es aparte. Pero creo que no funciona (a simple vista), lo que hiciste es una clase, deberias implementarlo en un formulario ;)

Código (vbnet) [Seleccionar]
Imports System
Public Class Prueba
  Public Shared Sub Main()
        Application.Run(New Prueba())
  End Sub

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

End Class

#2504
Estas creando un form "generico", ya agregaste un form en el explorador de soluciones (Lo que antes era ventana Proyectos en VB6)....

Y se llama
Código (vbnet) [Seleccionar]

private void button1_Click(object sender, EventArgs e)
{
    Form2 formu = new Form2();
    formu.Show();
}

#2505
Primero que nada eso es .net

Segundo, esta todo el codigo dentro del Sub Main o.O (deberias ponerlo aparte)
#2506
Cita de: seba123neo en 20 Diciembre 2009, 18:00 PM
para el inputbox podes llamar a Microsoft.VisualBasic.Interaction.InputBox, pero queda medio feo llamar a algo de visual basic desde C#... :xD
Claro, se pueden llamar a todas las funciones (len, mid, shell, etc) (de hecho esto hacia algo mas "lento" xq llamaba a otra dll o algo asi lei alguna vez..) pero no vas a programar en C# para usar lo de VB XD xD
Cita de: seba123neo en 20 Diciembre 2009, 18:00 PM
esta bien el tema que estos parseos de cadenas del codigo fuente del HTML , por ahi te cambian algo en la pagina y no funciona mas, pero esta bien... :P

saludos.

jaja eso pasa con todos, pero que yo sepa muy pocas veces cambiaron el texto del libro de visitas


Ah, y un bug, Cuando lista los que te firmaron se crashea si tienes una firma tuya en tu fotolog xD XD
Pensandolo bien, no crashearia, simplemente no listaria tu firma (no te autofirmas), salvo que tengas a vos como unica(s) firmas jeje
#2507
Cita de: seba123neo en 20 Diciembre 2009, 17:00 PM
no fallo no, porque si llega a haber un error, al compilar te avisa y todo, es raro lo que decis,¿no le estaras errando la ruta donde se genera? por ejemplo hace que se compile en el escritorio asi lo encontras rapido, y tambien proba deshabilitar un minuto el antivirus y despues compila nuevamente haber si es el antivirus o no...
o.O si es el antivirus..... lo desactive y compile en el escritorio.... y compilo!!! ... active el antivirus y volvi a compilar y nada ¬¬

Citarotra pregunta que visual basic tenes ¿no me digas que es el portable no?...
saludos.
jajaja claro que no, esta version es posta de cd (es trucho pero es de fuente confiable, hace .... casi 10 años q lo uso y nunca dio problema xD)
#2508
El codigo esta perfecto (es corto, y al menos cuando ejecuto desde el IDE no tira error) y tampoco creo que se borre automaticamente (tengo el antivirus puesto como "interactivo" no "automatico" aunque nose, todo puede pasar)
#2509
Bueno, nadie contesto, decidi optar por los hotkeys. Lo hice, esta listo, pero cuando voy a generar el exe, no compila! lo malo es que solo me pasa en este "codigo" (hice un proyecto nuevo, copie y pegue solo el codigo y nada), sin embargo abro otros proyectos y los compila perfectamente. Ya no se que opcion "activar" probe de todo y no me compila este proyecto, es como si el exe desapareciera al ser creado  (tengo NOD32 4 x las dudas). Que creen que pueda llegar a ser?
#2510
Me autocito
Cita de: raul338 en 19 Diciembre 2009, 17:16 PM
Ahora si el nombre de la ventana es variable y no tiene nombre de clase, creo que podrias obtener si se esta ejecutando mediante los procesos activos (la api creo que es EnumProcess)

http://support.microsoft.com/kb/187913

valia buscar lo que dije...