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

#61
Me estoy volviendo loco... :huh:
Necesito extraer todas las carpetas que contenga la carpeta compartida "\\micarpeta\".
Tan sólo para saber si existe ya he tenido problemas puesto que devuelve false utilizando métodos tradicionales. Eso lo he solucionado con api PathIsNetworkPath().

En cambio puedo listar las carpetas de una subcarpeta suya:
Código (vb) [Seleccionar]

Private Sub Form_Load()
    Dim f As Object, s
   
    Set f = CreateObject("Scripting.FileSystemObject")
   
    For Each s In f.GetFolder("\\micarpeta\hola").SubFolders
        MsgBox s
    Next
End Sub


He encontrado los apis WNetEnumResource(), WNetOpenEnum(), WNetCloseEnum(), WNetOpenEnum().
http://allapi.mentalis.org/apilist/2AA74BB4AC857C52AD4BC7FA9E4DB1B7.html

Pero es extremaaaaaadamente lento... :(
Así que me comprometo a levantar un monumento a quién me sepa guiar/dar una solución. :-*

DoEvents! :P
#62
Solucionado:
http://foro.elhacker.net/programacion_visual_basic/como_saber_si_un_directorio_puede_se_modificado-t301478.0.html

DoEvents! :P
#63
Necesito saber si tengo permisos de escritura en una carpeta.
Se me ocurrió solucionarlo creando un archivo y controlando los errores, pero me parece demasiado feo.  :silbar:
¿Alguna idea?

Gracias.

DoEvents! :P
#64
Código (javascript) [Seleccionar]
Sí, lo sé, las calculadoras están muy vistas, pero como lo tuve que hacer para clase de paso lo pongo aquí.

Código (javascript) [Seleccionar]
<html>
<head>
<style>
input{
width: 42px;
}

#logs, #res, #igual{
text-align: right;
width: 180px;
}

.op, #igual{
text-align: center;
}
</style>

<script language="javascript">
function getLastchar(){
var mylogs = document.calc.logs.value;
var len = mylogs.length;

if (len){
return mylogs[len - 1];
}

return "";
}

function anadir(x){
var logstext = document.calc.logs;
var restext = document.calc.res;

if (logstext.value == "" && restext.value != ""){
restext.value = "";
}

if ((". ".indexOf(getLastchar()) > -1 && isNaN(x)) == false){
if (x.indexOf(" ") > -1){
calcular();
}

logstext.value += x;
}
}

function quitar(){
var logstext = document.calc.logs;
var num = (getLastchar() == " ") ? 3: 1;

logstext.value = logstext.value.substring(0, logstext.value.length - num);
}

function calcular() {
document.calc.res.value = eval(document.calc.logs.value);
}

function getResult(){
if (getLastchar() == " "){
document.calc.res.value = "Syntax error";
} else {
calcular();
document.calc.logs.value = "";
}
}
</script>
</head>

<body>
<form name="calc">
<input type="text" id="logs" readonly="true"/>
<br />
<input type="text" id="res" readonly="true"/>
<br />

<input type="button" value="1" onclick="anadir('1')" />
<input type="button" value="2" onclick="anadir('2')" />
<input type="button" value="3" onclick="anadir('3')" />
<input type="button" value="&larr;" onclick="quitar()" />
<br />

<input type="button" value="4" onclick="anadir('4')" />
<input type="button" value="5" onclick="anadir('5')" />
<input type="button" value="6" onclick="anadir('6')" />
<input type="button" value="-" onclick="anadir(' - ')" />
<br />

<input type="button" value="7" onclick="anadir('7')" />
<input type="button" value="8" onclick="anadir('8')" />
<input type="button" value="9" onclick="anadir('9')" />
<input type="button" value="+" onclick="anadir(' + ')" />
<br />

<input type="button" value="0" onclick="anadir('0')" />
<input type="button" value="." onclick="anadir('.')" />
<input type="button" value="*" onclick="anadir(' * ')" />
<input type="button" value="/" onclick="anadir(' / ')" />
<br />

<input type="button" id="igual" value="=" onclick="getResult()" />
</form>
</body>
</html>


DoEvents! :P
#65
Cita de: Swellow en 12 Octubre 2012, 16:07 PM
Thanks for this mate I'll try it tonight but it use two APIs which is not a good thing, possible to remove/replace them?

Yes I think it's possible. :rolleyes:
May be loading an array of the unicode numbers and using CharUpperBuffW() and CharUpperBuffA() apis.
Here are some examples: vbspeed.

DoEvents! :P
#66
Hello mate!  :D
I've done this function some years ago, I don't know if it works... actually, I don't remember if it came to work. :silbar:
I can't test it because in this PC I have only installed Ubuntu... :-\

Código (vb) [Seleccionar]

Option Explicit

'// kernel32.dll
Private Declare Function MultiByteToWideChar Lib "kernel32.dll" (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function WideCharToMultiByte Lib "kernel32.dll" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long

'// Const
Private Const CP_UTF8                           As Long = &HFDE9 '65001

'// Enum
Public Enum CONV_TYPE
    Unicode = vbUnicode
    UTF8 = vbFromUnicode
End Enum

'// Function
Public Function StrConversion(ByRef vEntry As Variant, eConv As CONV_TYPE) As Variant
Dim lRet                                        As Long
Dim lLen                                        As Long
Dim lBuffer                                     As Long
Dim sBuffer                                     As String
Dim bvOutput()                                  As Byte

    On Error GoTo Exit_
   
    If eConv = Unicode Then
        lLen = LenB(vEntry) \ 2
       
        If lLen Then
            lBuffer = lLen + lLen + lLen + 1
            ReDim bvOutput(lBuffer - 1) As Byte
           
            lRet = WideCharToMultiByte(CP_UTF8, 0, StrPtr(vEntry), lLen, bvOutput(0), lBuffer, vbNullString, 0)
           
            If lRet Then
                ReDim Preserve bvOutput(lRet - 1) As Byte
                StrConversion = bvOutput
            End If
        End If
    Else
        lLen = UBound(vEntry) + 1
       
        If lLen > 1 Then
            lBuffer = lLen + lLen
            sBuffer = Space$(lBuffer)
           
            lRet = MultiByteToWideChar(CP_UTF8, 0, vEntry(0), lLen, StrPtr(sBuffer), lBuffer)
           
            If lRet Then
                StrConversion = Left$(sBuffer, lRet)
            End If
        End If
    End If

Exit_:
End Function


I hope it works, or at least it helps you to make your own function.
Good luck! ;)

DoEvents! :P
#67
Jajajajajajaja. :laugh:

Podéis olvidar el reto, el caso es que un amigo me dijo que era TOTALMENTE IMPOSIBLE crear una función que verifique si un código ejecutará un un print o un MsgBox (le es indiferente) con "Hola Mundo".

Yo creo que es posible... :rolleyes:
Al menos lo del print, con Eval() y Instr() se podría solucionar.




Pero explicó mal el reto, lo que me quería plantear era esto (primera página):
http://es.scribd.com/doc/12929250/Indecidibilidad

El cual, obviamente, sí es imposible. :silbar:

DoEvents! :P
#68
A ver quien hace una función que devuelva true si en el código de vb introducido se ejecutará un MsgBox o un Print con "Hola Mundo".

Estructura:
Private Function AdivinarMsgBox(ByVal sVBcode As String) As Boolean

Ejemplo de llamadas:

TRUE

Private Form Load()
  If 1<4 Then
     Msgbox "Hola Mundo"
  End If
End Sub


FALSE

Private Form Load()
     'Msgbox "Hola Mundo"
End Sub


TRUE

Private Form Load()
     Me.Print "Hola Mundo"
End Sub


FALSE

Private Form Load()
Dim a As Long, b As Long
  a=23
  b=234
 
  If a>b and 234>45634 Then
  if "asd" = "aasdsd" then
     Msgbox "Hola Mundo"
  end if
  End If
End Sub


Vale todo!

Suerte!
#69
Desarrollo Web / XMPP Chat Visitante-Servidor [Duda]
25 Septiembre 2012, 12:12 PM
Estoy intentando crear un chat visitante-administrador, algo similar a lo que podemos encontrar (abajo a la derecha) en esta web:
http://www.orbitadigital.com/
Ese en concreto es de ZOPIM
www.zopim.com
Un vídeo explicativo:
[youtube=425,350]https://www.youtube.com/watch?v=tSRSn9hJU1c&feature=player_embedded[/youtube]

El caso es que el visitante envía un mensaje al administrador, quien los recibe y los contesta por medio de un cliente de mensajería XMPP, como por ejemplo GTalk, Skype, Msn...

Mi duda es... ¿cómo envía y recibe el visitante si no ingresa ninguna información para logearse a un cliente XMPP?
¿Conocéis algún ejemplo así de código abierto que sea (más o menos) sencillo de entender?
Si no es así... ¿Se os ocurre alguna alternativa a esto?

Gracias
DoEvents! :P
#70
Programación Visual Basic / Re: Cliente Twitter
14 Septiembre 2012, 11:47 AM
Del modo en el que lo hizo Karcrack ya no funcionará. Cambio el API de Twitter.

DoEvents! :P