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

#81
Código (vb) [Seleccionar]

'
' ///////////////////////////////////////////////////////////////////////////
' // Autor: BlackZeroX ( Ortega Avila Miguel Angel )  
' //                                                  
' // Web: http://InfrAngeluX.Sytes.Net/                
' //                                                        
' // |-> Pueden Distribuir Este Código siempre y cuando      
' // no se eliminen los créditos originales de este código    
' // No importando que sea modificado/editado o engrandecido  
' // o achicado, si es en base a este código                
' //////////////////////////////////////////////////////////////////////////
Option Explicit
Function DescargarArchivo(strDowload As String, SaveOn As String) As Long
On Error GoTo 1:
Dim xml                     As Object
Dim adoStream               As Object
   Set xml = CreateObject("Microsoft.XMLHTTP")
   Set adoStream = CreateObject("Adodb.Stream")
   Call xml.Open("GET", strDowload, 0)
   Call xml.Send
   adoStream.Type = 1
   Call adoStream.Open
   Call adoStream.write(xml.responseBody)
   Call adoStream.SaveToFile(SaveOn, 2)
   Call adoStream.Close
   DescargarArchivo = 1
Exit Function
1:
End Function


DoEvents! :P
#82
Sí se puede hacer lo que buscas, y sería relativamente sencillo, el problema que tuvimos en el proyecto en el que participé con BlackZeroX y LeandroA fue que lo que queríamos detectar eran 6 colores diferentes, ademas cada casilla estaba animada, había brillos y demás, al final tuvimos que abandonar porque confundía el marrón con el rojo, en fin... un lío.

Pero por lo que veo, en tu caso sólo vas a necesitar detectar cuatro colores planos diferentes, eso son buenas noticias.
Debes hacer una plantilla que la encaje el usuario encima del tablero y que lea los pixeles y determine la figura en cada caso. No te hace falta leer todo los píxels, igual con 15 te vale , por ejemplo.

Según el vídeo que pones yo creo que lo que hace es leer valores del proceso, porque no usa ninguna plantilla. Yo creo que sería lo mejor, o eso, o como dice MCKSys Argentina:
Citaraccediendo al texto que muestra las movidas realizadas

DoEvents! :P
#83
Clase actualizada y mejorada, en unas horas actualizo los resultados de la diferencia de velocidad con respecto a la nativa de vb. :D

DoEvents! :P
#84
@Slek Hacker
Mira esto que hice hace tiempo:
cCollectionEx.cls
Y aún se puede mejorar mucho, que conste. :rolleyes:

Cita de: raul338 en 31 Mayo 2012, 22:26 PM
No es recomendable aprender POO con vb6  :silbar:
Qué gran verdad, sólo te vale para hacerte una lejana idea. :-\

DoEvents! :P
#85
Diseño Gráfico / ¿Cómo crear cómics?
24 Mayo 2012, 16:48 PM
Me gustaría que me aconsejarais acerca de algún programa que facilite la creación de cómics.
La idea que tengo en mente es hacer algo de este estilo:


Gracias. ;-)

DoEvents! :P
#86
Ya he completado la información del reto. ;-)

PD: Va a ser más lioso de lo que creía. :rolleyes:

DoEvents! :P
#87
Pues eso, un generador de DTD's a partir de un XML. Los que he visto por la web son muy malos, a ver si somos capaces de hacer algo decente.  :silbar:




Información:
http://es.wikipedia.org/wiki/Definici%C3%B3n_de_tipo_de_documento
http://www.w3schools.com/dtd/dtd_intro.asp




Ejemplo:

Agregamos un TextBox con Multiline=True y le ponemos esto:
<?xml version="1.0"?>
<!DOCTYPE DatabaseInventory SYSTEM "DatabaseInventory.dtd">

<DatabaseInventory>

 <DatabaseName>
   <GlobalDatabaseName>production.iDevelopment.info</GlobalDatabaseName>
   <OracleSID>production</OracleSID>
   <DatabaseDomain>iDevelopment.info</DatabaseDomain>
   <Administrator EmailAlias="jhunter" Extension="6007">Jeffrey Hunter</Administrator>
   <DatabaseAttributes Type="Production" Version="9i"/>
   <Comments>
     The following database should be considered the most stable for
     up-to-date data. The backup strategy includes running the database
     in Archive Log Mode and performing nightly backups. All new accounts
     need to be approved by the DBA Group before being created.
   </Comments>
 </DatabaseName>

 <DatabaseName>
   <GlobalDatabaseName>development.iDevelopment.info</GlobalDatabaseName>
   <OracleSID>development</OracleSID>
   <DatabaseDomain>iDevelopment.info</DatabaseDomain>
   <Administrator EmailAlias="jhunter" Extension="6007">Jeffrey Hunter</Administrator>
   <Administrator EmailAlias="mhunter" Extension="6008">Melody Hunter</Administrator>
   <DatabaseAttributes Type="Development" Version="9i"/>
   <Comments>
     The following database should contain all hosted applications. Production
     data will be exported on a weekly basis to ensure all development environments
     have stable and current data.
   </Comments>
 </DatabaseName>

 <DatabaseName>
   <GlobalDatabaseName>testing.iDevelopment.info</GlobalDatabaseName>
   <OracleSID>testing</OracleSID>
   <DatabaseDomain>iDevelopment.info</DatabaseDomain>
   <Administrator EmailAlias="jhunter" Extension="6007">Jeffrey Hunter</Administrator>
   <Administrator EmailAlias="mhunter" Extension="6008">Melody Hunter</Administrator>
   <Administrator EmailAlias="ahunter">Alex Hunter</Administrator>
   <DatabaseAttributes Type="Testing" Version="9i"/>
   <Comments>
     The following database will host more than half of the testing
     for our hosting environment.
   </Comments>
 </DatabaseName>

</DatabaseInventory>


Llamamos a la función así:
Código (vb) [Seleccionar]

Option Explicit

Private Sub Form_Load()
Dim sDTD As String

   GetDTD_Psyke1_I Text1.Text, sDTD
   Debug.Print sDTD
End Sub


Y nos devolvería algo similar a esto:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT DatabaseInventory (DatabaseName+)>
<!ELEMENT DatabaseName (   GlobalDatabaseName
                        , OracleSID
                        , DatabaseDomain
                        , Administrator+
                        , DatabaseAttributes
                        , Comments)
>
<!ELEMENT GlobalDatabaseName (#PCDATA)>
<!ELEMENT OracleSID          (#PCDATA)>
<!ELEMENT DatabaseDomain     (#PCDATA)>
<!ELEMENT Administrator      (#PCDATA)>
<!ELEMENT DatabaseAttributes EMPTY>
<!ELEMENT Comments           (#PCDATA)>

<!ATTLIST Administrator       EmailAlias CDATA #REQUIRED>
<!ATTLIST Administrator       Extension  CDATA #IMPLIED>
<!ATTLIST DatabaseAttributes  Type       (Production|Development|Testing) #REQUIRED>
<!ATTLIST DatabaseAttributes  Version    (7|8|8i|9i) "9i">

<!ENTITY AUTHOR "Jeffrey Hunter">
<!ENTITY WEB    "www.iDevelopment.info">
<!ENTITY EMAIL  "jhunter@iDevelopment.info">


Otro ejemplo más sencillo:
http://www.comptechdoc.org/independent/web/xml/guide/xmlexample.html




Normas:

Formato (obligatorio):
Código (vb) [Seleccionar]

Public Sub GetDTD_{tu nick}_{versión en números romanos}(ByRef sXML As String, ByRef sDTDOutPut As String)



  • El XML ingresado no se debe modificar a lo largo de la función.
  • El más rápido y más completo gana.
  • Sin límite de entrega.
  • No se pueden utilizar clases hechas que faciliten el trabajo.
  • Damos por hecho que el XML está bien formateado. :silbar:

¡Suerte! >:D

DoEvents! :P
#88
Así se pone:

Código (vb) [Seleccionar]

Set oREpass = New RegExp
   With oREpass
       .Global = True
       .Pattern = PASSPATTERN
       .IgnoreCase = True
       Set oMCpass = .Execute(sHTML)
   End With


La expresión regular que pones es fea y repites cosas. Lo más sencillo siempre mejor.  ;)




Cita de: Elemental Code en 23 Mayo 2012, 12:28 PM
ademas no se si lo lei o estaba borracho que escribir resultados mediante byref es mas rapido que escribirlos como resultado de la funcion.
:silbar:

Sería un procedimiento, puesto que no devuelve ningún valor, y si la velocidad es problema, siempre puedes hacer esto:

Código (vb) [Seleccionar]

Option Explicit

Public Type NodUP
    User As String
    Password As String
End Type

Public Function ParseKeys(ByRef sHTML As String, ByRef UP As NodUP())
'// code
End Sub


DoEvents! :P
#89
Mira esto:
http://tutorialzine.com/2009/10/jquery-twitter-ticker/

DoEvents! :P
#90
Citar
Código (vb) [Seleccionar]

' º Nombre    : mParseKeys.cls

¿Una clase para una función? :rolleyes:




Quedaría más bonito si en vez de ingresar dos arrays utilizas un Type.

Código (vb) [Seleccionar]

Option Explicit

Public Type NodUP
    User As String
    Password As String
End Type

Public Function ParseKeys(ByRef sHTML As String) As NodUP()





Creo que te puedes ahorrar el crear dos objetos, con uno yo creo que valdría.  :P




Usas esto:
(?:[pP]?assword:? |[pP]?assword:?|nod32key:)(\w{10})

Según lo tienes puesto, con el [pP]?, también te sacaría "assword". ("palabra culo" en inglés :-X).

Utilizando IgnoreCase cuando creas el objeto para que no se fije en ninguna mayúscula. :)
Yo pondría algo así:

(password|nod32key)\s*:?\s*(\w{10})

DoEvents! :P