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 - Mad Antrax

#911
Esa función te servirá para evitar que se ejecute 2 veces un mismo archivo. Pero si alguien coje tu ejecutable y lo copia como: Proyecto2.exe entonces podrá ejecutar los 2 a la vez.

Para evitar eso tienes que crear un Mutex, no es muy complicado, si quieres te pongo el código.
#912
Yo me lo he comprado original desde Steam y solo decir que el juego es una p**a pasada, lo nunca visto en sistema de luchas.

Si consigues jugar con una cuenta pirata avisame como lo has hecho
#913
Gracias Hendrix por el código, aunque la API nos la ha facilitado Lympex y también me escribió otro código más simple en un mensaje privado:

Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

Private Sub Form_Load()
Dim nombre As String
nombre = String$(255, Chr$(0))

GetModuleFileName 0, nombre, Len(nombre)
MsgBox nombre
End Sub


Creo que el ganador de la tercera es Lympex (aunque grácias por tu dedicación en este post Hendrix)

Saludos!!
#914
He puesto ya la tercera y última pregunta. Esta en el primer mensaje de todos, abajo de todo. Espero que puedan ayudarme

Saludos!! :rolleyes:
#915
Ok, esto serviría, de momento te apunto y dejo el tema abierto a ver si alguien se le ilumina la bombilla y nos saca otra función :rolleyes:

Felicidades. Ojo que voy a ir trabajando sobre el primer post, si podreis ver que preguntas estan abiertas o cerradas y quienes con los actuales ganadores
#916
Bueno, Hendrix se ha tomado la molestian en responder el primero y encima mejorar su código. Y WarGhost ha hecho una función sencilla, rapida y eficaz, sin FOR ni SPLIT.

En esta primera prueba saldrán Hendrix y WarGhost como colaboradores de el cactus. Felicidades!!
#917
Muchas grácias por el código Hendrix. Lo he probado y funciona de maravilla. Aunque creo que puede ser simplificado y mejorado en tan solo una sola función. Voy a dejar a ver si otro usuario se anima ha hacer lo mismo en una sola función.

De todas formas, por ser el primero y de haberte tomado la smolestias incluiré tu Nick en la sección de colaboradores del Cactus :)

Gracias por colaborar!! ::)
#918
Hola gente!

Aqui presento el BCP (Best Cactus Programmer). Presento este concurso para animar a la gente que programe sencillas funciones que cumplan unos requisitos y objetivos claros. Los ganadores seleccionados serán  añadidos como "Colaboradores" en la ventana de "About" y en el "Leame" del nuevo Cactus Joiner, añadiendo su nick, mail y pagina web como motivo de agradecimiento.

Para ello voy a formular a lo largo de esta semana unas cuantas preguntas sobre programación. El primer usuario que responda mi problema correctamente se añadirá su código en el cactus y pondré su nick en los creditos.




Primera pregunta:

Tengo una variable con una ruta completa de un archivo, necesito sacar el nombre del archivo completo y su extensión. El nombre del archivo no tiene una longitud estática. Y la estensión del archivo suele ser de 3 carácteres, aunque podría tener más o menos carácteres. Pido una sencilla función con un solo parámetro de entrada (la ruta completa del archivo) y 2 variables de salida: El nombre del archivo y su extensión.

TERMINADO: Hendrix y WarGhost
FUNCIÓN:

Public Function ExtraerCadena(cadena As String, l As Long) As String
Dim FullName As String
FullName = Mid(cadena, InStrRev(cadena, "\") + 1)
Select Case l
Case 1
ExtraerCadena = Mid(FullName, 1, InStrRev(FullName, ".") - 1)
Case 2
ExtraerCadena = Mid(FullName, InStrRev(FullName, ".") + 1)
Case 3
ExtraerCadena = FullName
End Select
End Function


Citar1 = Devuelve el nombre
2 = Devuelve la extesion
3 = Devuelve el FullName




Segunda pregunta:

Necesito una función para cifrar programas. No se puede usar la función XOR ya que nos puede aparecer el carácter Chr(0) (fin de cadena).

1) La función no puede ser muy extensa y no tiene que consumir muchos recursos.
2) Aparte tiene que ser recursiva (que sirva tanto para cifrar/descifrar opcional)
3) Si ciframos un virus con esa función, los AV no tienen que detectarlo

TERMINADO: Hendrix
FUNCIÓN:

Public Function crypt(cadena As String) As String
crypt = StrReverse(cadena)
End Function





Tercera pregunta:

Necesito una función (o varias) que me devuelvan el nombre completo y su extensión del propio programa que estamos ejecutando. Por ejemplo: Si el programa se llama 'hola.exe' que devuelva 'hola.exe' si se llama 'adios.bat' que devuelva 'adios.bat'. La variable App.EXEName solo devuelve el nombre del ejecutable, pero no su extensión.

TERMINADO: Lympex[/b]
FUNCION:[/b]

Private Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

Private Sub Form_Load()
Dim nombre As String
nombre = String$(255, Chr$(0))

GetModuleFileName 0, nombre, Len(nombre)
MsgBox nombre
End Sub
#919
Otra forma podría ser esta:


Private Sub Text1_Change()
    Text1.Text = Val(Text1.Text)
End Sub


La he probado yo y funciona perfectamente, pero si alguien pone 2 carcácteres no numéricos se pone el valor 0 xD
#920
La pregunta es... ¿no puedes poner las instrucciones que hace el bat dentro del propio programa?

Cuentanos un poco más tu caso a ver si encontramos otra alternativa ;)