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 - El Benjo

#181
Ah, mi estimado Lex, CUDA es el lenguaje desarrollado por nVidia para sus chips gráficos. Se supone (no me consta nada) que CUDA se programa a un nivel más bajo y más cercano al chip y que es más eficiente que el código equivalente en OpenCL. el único inconveniente es que sólo corre sobre los chips de nVidia. Me parece que ATI tenía un lenguaje similar pero no prosperó y a la larga terminaron adoptando OpenCL.

EDITADO: Quizá si se hiciera de esta manera, incluso los algoritmos de búsqueda más exhaustiva podrían hacer el trabajo en poco tiempo.
#182
Elektro, se me ocurre (pensando en lo que dijiste sobre el pixel search) que quizá utilizando CUDA u OpenCL su pudiera realizar una librería decente (en eficiencia) con métodos tradicionales de búsqueda. No sé si lo habías considerado, aunque creo que sí.
#183
Muéstranos tu código y nosotros te ayudamos donde te atores. Recuerda que en este foro no se hace la tarea de nadie, primero tienes que poner de tu parte.
#184
Ah, ya sé qué pasó, es que agregaste la "s" al final, pensé que te referías a tu función y no a la del framework. XD

Sorry, my mistake. :P
#185
Elektro, pues por favor poner en qué parte dice que la función "mouse_event()" de la API de Windows se ha quedado obsoleta.

Tengo entendido que sustituir significa poner una cosa en lugar de otra. ¿Significa que ahora Windows utiliza la función que tú escribiste es vez de la ya mencionada API? ?O sea que todas las aplicaciones que usan "mouse_event()" ya no serán compatibles? ¿No estás infringiendo acuerdos al publicar el código de la función que programaste para ellos?

Otra cosa que me intriga es... ¿Estoy siendo demasiado sarcástico? XD

No, ya en serio, eres buen programador y no hay necesidad de que hagas eso, no deberías llegar diciendo ese tipo de cosas que pueden confundir a los nuevos. Yo casi me la trago de que había una función "sendinputs()" en el nuevo framework. XD

Saludos, Elektro.
#187
Lo de los puntos en vez de las comas es por parte del sistema y depende de la configuración de la región. Puedes hacer la prueba yendo al panel de control y cambiando las opciones de configuración regional y de idioma. También es posible hacerlo desde la aplicación, especificando el parámetro 'locale'.

http://www.rgagnon.com/javadetails/java-0019.html
#188
Lo que dices sobre las líneas de código:

Código (vbnet) [Seleccionar]
'Results = SR.ReadToEnd
'SW.Close()
'SR.Close()
'Invoke(Finished)


Una parte de eso ya te lo había dicho. No sé si recuerdes que te dije que eliminaras las líneas que cierran los streams. Y lo comentar la línea del invoke() y que funcione, pues tiene sentido. Lo que ocurre es que estás usando mal el delegado. Por alguna raón (no estoy seguro cual) sólo te funcionará el delegado la primera vez que lo utilices. Prueba dejando el bucle de la siguiente manera:

Código (vbnet) [Seleccionar]
For Each file As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.T01")
            nombre = My.Computer.FileSystem.GetName(file)
            cmdir = "cd " & midirectorio
            comando = "runpkr00.exe -d -s " & nombre
            SW.WriteLine(cmdir)
            SW.WriteLine(comando)
            Results = SR.ReadToEnd
            Finished = New delUpdate(AddressOf UpdateText)
            Invoke(Finished)
        Next


Es decir, asignando la dirección al delegado cada vez que lo quieras utilizar. En caso de que no te funcione puedes hacerlo dejando el código anterior como te lo dejé, pero eliminando la línea donde asignas la dirección del delegado. Y modificando la función UpdateText() de la siguiente manera:

Código (vbnet) [Seleccionar]
    Private Sub UpdateText()
If Me.InvokeRequired = False Then
        Dim midirectorio As String = TextBox1.Text
        Dim strStreamW As Stream = Nothing
        Dim strStreamWriter As StreamWriter = Nothing
        Dim fecha As String = DateTime.Now.ToString("dd MMM HHmmss") & ".txt"
        Windows.Forms.Cursor.Current = Cursors.WaitCursor
        Dim rutarchivo As String = String.Concat(midirectorio, "log-", fecha)
        strStreamW = File.Create(rutarchivo)
        strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
        strStreamWriter.WriteLine(Results)
        strStreamWriter.Close()
Else
Dim D As delUpdate = new delUpdate(AddressOf UpdateText)
Me.Invoke(D)
End If
    End Sub


Si cometí un error al escribir los nombres de las propiedades, busca las correctas (es que no estoy escribiendo desde Visual Studio).

Y sobre lo que dices del FileCopy(), la verdad no tengo idea de a qué se deba. ¿Qué error te da el depurador cuando la aplicación crashea?
#189
No ubico que es eso de "Regex", pero yo la búsqueda la haría de la siguiente manera:

Código (vbnet) [Seleccionar]
For n = 0 to tabla.lenght - 1
   If tabla(n) <> TextBox2.Text And tabla(n) <> TextBox3.Text Then
'Aquí el código en caso de que no esté en ninguno de los textbox.
   End if
Next


Suponiendo que la variable 'cadena' es igual a:_W0494XJW_0C71C850C0923A66_M5C214K1438

Y otra cosa el split debes hacerlo con el caracter "_" en lugar del espacio:

Código (vbnet) [Seleccionar]
tabla = Split(cadena, "_")
#190
Hazlo mediante la función split() en el parámetro del separador utilizas "_".

http://msdn.microsoft.com/es-es/library/6x627e5f(v=vs.90).aspx

Después comparas las cadenas con las que tienes almacenadas y si hay alguna que no se encuentre, pues ya sabes que esa pertenece a la memoria.