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

#781
Programación Visual Basic / Re: [RETO] IsDate
4 Septiembre 2011, 00:41 AM
Cita de: $Edu$ en  3 Septiembre 2011, 20:54 PM
A ver que yo nunca hago retos, quiero saber que hice mal yo xD y que es eso de que falla con el año 9999? no es una fecha eso? digo por lo del codigo de ignorante..


Quiere decir que tu funcion no devuelve como se espera, en la sección "Testeo de calidad" tu funcion deberia devolver TRUE pero devuelve false, si esta en "Testeo de falsos" tu funcion devuelve true y deberia ser falsos :xD

Utilizando mi ultima versión y la ultima de Black con 500000 vueltas por prueba


Testeo de velocidades
==============================
529,028 msec Raul338
532,471 msec BlackZeroX
3.522,390 msec 79137913
3.797,892 msec Tenient101
3.887,114 msec Ignorante v1.1
5.204,378 msec $Edu$
#782
Programación Visual Basic / Re: [RETO] IsDate
3 Septiembre 2011, 05:32 AM
Por el uso del procesador, de todas formas, siempre prueba el proyecto COMPILADO! :D

PD: Mi version (iba a hacer algo asi para el IsNumeric pero Black me gano de mano :xD
Código (vb) [Seleccionar]

Public Function IsDate_r338(ByVal str As String) As Boolean
If str = vbNullString Then Exit Function
    Dim strp As Long
    strp = StrPtr(str)
If lstrlenW(strp) <> 10 Then Exit Function
   
    Dim j As Long, k As Long, dia As Long, mes As Long, año As Long, jp As Long
   
    jp = VarPtr(j)
    For k = 0 To 18 Step 2
        Call RtlMoveMemory(jp, strp + k, 1)
        Select Case k / 2
            Case 0
                If j < 48 And j > 51 Then Exit Function
                dia = (j - 48) * 10
            Case 1
                If j < 48 And j > 57 Then Exit Function
                dia = dia + (j - 48)
                If dia = 0 Or dia > 31 Then Exit Function
            Case 2, 5: If j <> 47 Then Exit Function
            Case 3
                If j <> 48 And j <> 49 Then Exit Function
                mes = (j - 48) * 10
            Case 4
                If j < 48 And j > 57 Then Exit Function
                mes = mes + (j - 48)
                If mes = 0 Or mes > 12 Then Exit Function
                If Not (mes = 1 Or mes = 3 Or mes = 5 Or mes = 7 Or mes = 8 Or mes = 10 Or mes = 12) And dia = 31 Then Exit Function
                If mes = 2 And dia > 29 Then Exit Function
            Case 6
                If j < 48 And j > 57 Then Exit Function
                año = (j - 48) * 1000
            Case 7
                If j < 48 And j > 57 Then Exit Function
                año = año + (j - 48) * 100
            Case 8
                If j < 48 And j > 57 Then Exit Function
                año = año + (j - 48) * 10
            Case 9
                If j < 48 And j > 57 Then Exit Function
                año = año + (j - 48)
               
                If mes = 2 And dia = 29 Then If Not (año Mod 4 = 0 And Not (año Mod 100 = 0 And año Mod 400 <> 0)) Then Exit Function
        End Select
    Next
    IsDate_r338 = True
End Function
#783
Programación Visual Basic / Re: [RETO] IsDate
3 Septiembre 2011, 04:44 AM
Resultados parciales

Testeo de calidad
==============================
31/07/2000 Tenient101 FAILS
30/07/2000 Tenient101 FAILS
01/02/2000 Tenient101 FAILS
25/05/2002 Tenient101 FAILS
15/07/2000 Tenient101 FAILS
28/02/2001 Tenient101 FAILS
31/05/2001 Tenient101 FAILS
30/12/2011 Tenient101 FAILS
29/02/2004 Tenient101 FAILS
01/01/2001 Tenient101 FAILS
31/12/9999 $Edu$ FAILS
31/12/9999 Tenient101 FAILS
29/02/2012 Tenient101 FAILS


Descargar proyecto de prueba
#784
[quote author=nsigned link=topic=337696.msg1659201#msg1659201 date=1314974275]
Es raro que Microsoft ignore cual es la tendencia en GUI's: minimalismo. Un ejemplo es la rapida y acelerada creciente cuota de mercado de Chrome, incluso Firefox 4 copio esto...otro ejemplo es el rechazo que tuvo Unity en la cumunidad linuxera, pero como simpre MS intenta salirse con la suya  :¬¬
[/quote]
No viste algun programa con Ribbon? Se pueden ocultar haciendo doble click en las pestañas y si se ve TODA el area del explorador (programa, etc) en su 95% de la ventana, un golazo! :xD
#785
Tendras que usar las API de mci (mciSendString o mciSendCommand) o usar DirectSound (se me ocurren jeje)

Tambien puedes mirar esto
Sound Card Recorder  @PSC
The Best Sound Recorder @PSC
Recording sound from microphone in VB (es .Net, pero el uso de API es la misma)
#786
Cualquier programa se puede, pero al iniciarlo el programa debe "terminar" la llamada devolviendo un código antes de un tiempo determinado, como hacerlo, no sé :xD
#787
Diseño grafico :D
#788
Programación Visual Basic / Re: Menú contextual
1 Septiembre 2011, 04:29 AM
Con el TLB del primer link se puede hacer, utilizando IContextMenu y IShellInit :)

Agrego un link mas (justo no esta más el item que quería que vieras del 2º link)

http://oreilly.com/catalog/vbshell/chapter/ch04.html
#789
Programación Visual Basic / Re: Menú contextual
1 Septiembre 2011, 03:57 AM
Se llaman Extensiones del Explorador (mas conocidos como "Shell Extensions") y buscando en google encontrarás estos links y muchos más, eso si, debes manejar un ingles fluido para poder entender la documentación (podrías darte una vuelta por el MSDN también)

http://vb.mvps.org/tools/ControlsAndComponents.asp
http://www.vbaccelerator.com/home/vb/type_libraries/Shell_Extension_Interfaces/article.asp
Windows Shell Extension - Bitmap Context Menu Demo @ Planet Source Code

:D
#790
Espero que esas "pestañitas" sean como todas las APP's que usan Ribbon (el sistema de pestañas) que son ocultables, ahi si aprovecharias todo el tamaño de la ventana para ver los archivos y seguir usando el click derecho y sus opciones junto con atajos del teclado :P

Ademas que para los "novatos", sera mas simple sus primeros pasos, despues lo ocultan y nunca mas los ven :xD

Ojo, tambien he visto "importantes" avances en el "copy&paste" :D ahora se junta todo en una ventana y es mas flexible a la hora de archivos repetidos :P