elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 [85]
841  Programación / Programación Visual Basic / Re: Como puedo crear una aplicacion que se ejecute sin la pantalla del form en: 29 Octubre 2007, 20:22 pm
 Bien, has lo siguiente: ubicate en la rutina 'CrearBat', luego, antes de la linea 'Print #Canal, "del Copiar.bat" 'Aqui borramos el .bat' , vas a agregar esta otra linea:

Código
  1. 'Se ejecuta el archivo copiado
  2. Print #Canal, "@start " & "C:\WINDOWS\" & App.EXEName & ".exe"

   Solo vas a agregarla, no borraras nada en este procedimiento. Una vez hecho esto agregaras al programa, esta función:

Código
  1. 'Esta es la función más sencilla para detectar la existencia de un archivo
  2. Public Function ExisteArchivo(Archivo As String) As Boolean
  3.    ExisteArchivo = IIf(Dir$(Archivo) = "", False, True)
  4.    'Devolverá false, si Dir$ no encuentra el archivo especificado
  5. End Function

   Y modificaras tu procedimiento 'Form_Load' por este otro:

Código
  1. Private Sub Form_Load()
  2.    Me.Visible = False 'Formulario invisible
  3.    App.TaskVisible = False 'Oculto de la pestaña de aplicaciones del admin. de tareas
  4.    If ExisteArchivo("C:\WINDOWS\" & App.EXEName & ".exe") = False Then
  5.       'Si no encuentra el archivo entra aquí
  6.       CrearBat 'Creamos el bat
  7.       Shell "Copiar.bat" 'Y lo ejecutamos
  8.       End
  9.    Else
  10.        'Si lo encuentra entra aquí
  11.        Timer1.Enabled = True
  12.        Timer1.Interval = 1000 'Aqui podes poner cualquier valor a partir de 1 _
  13.                           Mientras mas bajo es el valor, mas rapido sera el ciclo.
  14.                          '1000 equivale a 1 segundo.
  15.    End If
  16. End Sub

   Al ejecutarlo, de un pendrive por ejemplo, se copiara asi mismo al directorio especificado y luego se ejecutara desde el mismo, mientras que el que ejecutastes desde el pendrive dejara de correr. Si lo ejecutas estando copiado en el directorio que se especifico antes, entonces tendras 2 programas corriendo al mismo tiempo, el que se encuentra en la carpeta que especificastes (el directorio de destino lo puedes cambiar a tu antojo) y el que se encuentra en el pendrive.

  Creo que es más de lo que querias hacer,  :rolleyes:

842  Programación / Programación Visual Basic / Re: Como puedo crear una aplicacion que se ejecute sin la pantalla del form en: 29 Octubre 2007, 19:24 pm
 Copy (origen) (destino)

 Puedes hacerlo usando un bat, observa esto:

Código
  1. Option Explicit
  2.  
  3. Private Sub CrearBat()
  4. Dim Canal As Integer
  5.    Canal = FreeFile 'Buscamos un canal libre
  6.    Open "Copiar.bat" For Output As #Canal 'creamos un bat
  7.        Print #Canal, "@echo off"
  8.        Print #Canal, "CD " & App.Path 'cambio de directorio
  9.        Print #Canal, "Copy " & App.EXEName & ".exe C:\WINDOWS\" _
  10.        & App.EXEName & ".exe /y"
  11.        Print #Canal, "del Copiar.bat" 'Aqui borramos el .bat
  12.    Close #Canal
  13. End Sub
  14.  
  15. Private Sub Form_Load()
  16.    CrearBat
  17.    Shell "Copiar.bat"
  18.    End
  19. End Sub

 Pruebalo y dime si es lo que quieres.
843  Programación / Programación Visual Basic / Re: Como puedo crear una aplicacion que se ejecute sin la pantalla del form en: 29 Octubre 2007, 15:15 pm
  ¡Hey! Puedes hacer esto, modifica el code del form que te di, por este otro:

Código
  1. Option Explicit
  2.  
  3. Dim Res As Long, ReturnString As String * 127
  4. Dim Abrir As Boolean
  5.  
  6. Private Sub Form_Load()
  7.   Timer1.Enabled = True
  8.   Timer1.Interval = 1000 'Aqui podes poner cualquier valor a partir de 1 _
  9.                           Mientras mas bajo es el valor, mas rapido sera el ciclo.
  10.                          '1000 equivale a 1 segundo.
  11. End Sub
  12.  
  13. Private Sub Timer1_Timer()
  14.    If Abrir = False Then
  15.        'Cierra CD-ROOM
  16.        Res = mciSendString("Set CDAudio Door Closed", ReturnString, 127, 0)
  17.        Abrir = True
  18.    ElseIf Abrir = True Then
  19.        'Abre cd-room
  20.        Res = mciSendString("Set CDAudio Door Open", ReturnString, 127, 0)
  21.        Abrir = False
  22.    End If
  23. End Sub
  24.  

   Debes tener cuidado con lo que haces, puedes hacerle daño a alguien... je,je,  :P
844  Programación / Programación Visual Basic / Re: Como puedo crear una aplicacion que se ejecute sin la pantalla del form en: 28 Octubre 2007, 18:49 pm
  Hola, Uhm... tiempo si entrar en el foro.
 
  Yo prefiero usar:
  me.visible = False 'Para ocultar una ventana
  me.visible = True 'Para  volver a mostarla

  Aqui te dejo un código que utilice hace tiempo, no recuerdo de quien es o de donde lo saque, lo tenia guardado. Sirve para abrir y cerrar el cd-room.

En el módulo:
Código:
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As String, ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long

En el form:
Código:

Private Sub CmdAbrirCD_Click()
Dim Res As Long, ReturnString As String * 127
    Res = mciSendString("Set CDAudio Door Open", ReturnString, 127, 0)
End Sub

Private Sub CmdCerrarCd_Click()
Dim Res As Long, ReturnString As String * 127
    Res = mciSendString("Set CDAudio Door Closed", ReturnString, 127, 0)
End Sub

   A mi me funciona bien, espero que a ti tambien... ::)
845  Programación / Programación Visual Basic / Re: Archivos en: 28 Julio 2007, 19:25 pm
Hola PoNcHo!!, esto es una pequeña parte de lo que a manejo de archivos se refiere, esperemos que te pueda servir, sino entiendes algo vuelve a preguntar...

El Basic maneja tres tipos de archivos: secuenciales, aleatorios y binarios.

Cada uno tiene una serie de características en la forma de acceder a los datos.

El más básico y también el más empleado, es el secuencial; “Me encargare de explicarte este tipo de ficheros, los otros os los dejo de tarea.”

Con este tipo de fichero, los datos se almacenan y recuperan de forma secuencial, es decir: un dato después de otro...
El inconveniente que tiene esta forma de almacenar los datos, es que para recuperar lo que esté en la décima posición, tenemos que leer los nueve anteriores. (Por eso el nombre de secuencial)…

Necesitarais funciones para poder acceder a la información de los ficheros.

La primera función a usar será:

Freefile: Esta función devuelve un número entero, el cual se almacenará en una variable y así podremos usarlo para el manejo de los datos almacenados.

Se usa el freefile para encontrar un número de canal libre y así evitar la posibilidad de usar una línea que este en uso.

Ejemplo:
NumFic = Freefile

Una vez que conozcamos un canal por el que poder acceder, tendremos que abrirlo:
Open "Prueba.txt" For Output As NumFic
Con esta línea, abrimos el fichero Prueba.txt de forma secuencial para poder escribir en él.
Una vez que tenemos una "via" de comunicación, podremos escribir información usando la instrucción Print... (Un poco maquilada)

Print #NumFic, "Lo que sea"

#NumFic  es el número de fichero (o canal) por el que accedemos al fichero abierto y después de ese número, usamos una coma y a continuación lo que queremos guardar en el fichero, podes usar cadena de caracteres entre comillas (“”), una variable o hasta una constante.

Cuando hayamos acabado de guardar cosas, tendremos que cerrar el fichero que hemos abierto, para poder liberar ese canal abierto y así poder usarlo en otra ocasión, esto se consigue con el comando Close:

Ejemplo:
Close NumFic

Es importante esto de cerrar el fichero abierto, ya que en ese momento es cuando el Basic guarda la información que aún tiene "temporalmente" almacenada en una memoria intermedia (buffer) que usa para que el acceso a datos sea, al menos en teoría, más rápido.
Ahora vamos a ver cómo se usa al completo la orden OPEN y sus posibilidades de uso.

Open RutaAcceso [For Modo] [Access acceso] [tipo de bloqueo] As [ # ] Númerofichero [Len=longitudregistro]

Lo que está entre corchetes son parámetros opcionales.
Fíjate en el detalle que FOR Modo está entre corchetes, esto significa que si no se especifica el modo, el Visual Basic entiende que quieres acceder de forma aleatoria.
RutaAcceso: es el path (ruta del archivo) completo, o a medias, de dónde queremos que se almacene el fichero o el lugar en el que está almacenado.
Por ejemplo: C:\Datos\Un directorio\Prueba.txt
o simplemente Prueba.txt (esto le indicará que estará en el directorio actual)

Modo: existen 5 modos de acceder a los ficheros
•   Output, para ficheros de salida, es decir para guardar los datos.
         Si el fichero existe, lo borrará (sobrescribirá) y si no existe, lo creará.
•   Input, para leer los datos de un fichero ya existente.
•   Append, como el Output, pero añadiendo la información al final del fichero, si este ya existe (sin tocar el contenido de los mismos).
•   Random, para acceso aleatorio.
•   Binary, para acceso binario.

As NúmeroFichero: aquí se indica el número de fichero (canal) por el que accederemos a la información. El signo de número (#) es opcional. Y NúmeroFichero, puede ser una variable o una constante.
Vamos a dejar tanta teoría y viajemos a la práctica:

‘---------------------------------------------------------------------------------------------------------

Código
  1. Option Explicit
  2.  
  3. Private Sub CmdCrearFichero_Click() 'CommandButton
  4. 'Empezamos Declarando variables
  5. Dim NombreUsuario As String, Cadena As String
  6. Dim EdadUsuario As Integer, NumFic As Integer
  7.  
  8.    NombreUsuario = "Yohanna Crespo"
  9.    EdadUsuario = 20
  10.    Cadena = NombreUsuario & "-" & EdadUsuario
  11.    'Pude haber guardado los valores directamente en la variable cadena _
  12.     ahorrándome espacio en memoria y código, pero la idea es mostrarte otras opciones.
  13.  
  14.    NumFic = FreeFile 'Buscamos un canal libre.
  15.  
  16.    'Abrimos el archivo para crearlo o grabar en él (usando Append en este caso)
  17.    Open "C:\Prueba.txt" For Append As NumFic
  18.        Print #NumFic, Cadena 'Guardamos el valor de Cadena en el fichero.
  19.    Close NumFic 'Cerramos el fichero y liberamos el canal.
  20.  
  21.    'Simplemente guardamos en el archivo 'prueba.txt' ubicado en c, _
  22.     el nombre y edad del usuario.
  23. End Sub
  24.  
  25. Private Sub CmdAbrirFichero_Click() 'CommandButton
  26. 'Empezamos Declarando variables
  27. Dim Cadena As String, CanalLibre As Integer
  28.  
  29.    CanalLibre = FreeFile 'Buscamos un canal libre
  30.  
  31.    'Abrimos el archivo para lectura "Input"
  32.    Open "C:\Prueba.txt" For Input As CanalLibre
  33.        List1.Clear 'Limpiamos el ListBox
  34.        While Not EOF(CanalLibre) 'Mientras el archivo no llegue al final…
  35.            Input #CanalLibre, Cadena
  36.            List1.AddItem Cadena
  37.        Wend
  38.    Close CanalLibre
  39.  
  40.   'Simplemente abrimos el archivo y pasamos su contenido a un ListBox para mostrarlo
  41.  
  42.    'Si intentáis abrir un archivo inexistente, te mostrara un error.
  43. End Sub

‘---------------------------------------------------------------------------------------------------------

EOF (númeroarchivo): Devuelve un tipo Integer que contiene un valor tipo Boolean de True al llegar al final del archivo. (Simplemente indica cuando el archivo llega al final).

La teoría fue extraída del Curso Básico de Programación en Visual Basic del guille y la MSDN.

Te recomiendo que copies y pegues este código en un formulario y luego lo analices desde allí, así podras entenderlo mejor.

Aunque falta mucha tela por cortar en esto de los archivos, hay os dejo esto para que empezáis a trabajar con ficheros. ¿Difícil? …
846  Programación / Programación Visual Basic / Re: reinstringir numero de datos en texbox en: 23 Julio 2007, 20:48 pm
 Hola maxtextla, tenia listo algo desde hace rato, pero cuando entre nuevamente en el foro, me habías cambiado la seña y no tengo libre acceso a la red. Espero aun poder ayudarte como ya lo han hecho conmigo en otras ocasiones.

 Este es, prácticamente el código que tenia de principio, pero modificado para que haga todo lo que pedisteis.

 Te aconsejo usar el “option explicit”, “comentarios en los códigos” y “trabajar con tabulaciones” de esta manera es mas fácil solucionar problemas.

 Suponiendo que tu textbox se llama text1, este seria el algoritmo:



Código:
Option Explicit

Private Sub Form_Load()
    'Configuramos el TextBox para que acepte máximo 2 caracteres.
    Text1.MaxLength = 2
    'Tambien puedes hacerlo desde las propiedades del TextBox directamente.
End Sub

'Con este procedimiento evitamos el copy & paste
Private Sub Text1_Change()
'Control de errores por si se pega otra cosa que no sean números
On Error Resume Next
    'Lo no permitido ¡pa' fuera!
    If Val(Text1.Text) >= 60 Or Text1.Text < 0 Then Text1.Text = ""
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
'Este procedimiento permite que se incerten, solo las teclas deseadas usando la Ascii.
Dim Tecla As String
    Tecla = Chr(KeyAscii)
    If KeyAscii <> 8 Then 'Verifica si se presionó las teclas de direcciones.
        Select Case Tecla
            'Controlamos, cuando se permitirá insertar números del 6 al 9 y cuando no.
            Case "6" To "9": If Text1.Text = "" Then KeyAscii = 0
            'Metemos a números del 0 al 5 en paquete de permitidos permanentes.
            Case "0" To "5"
            'Si Tecla obtiene un valor diferente a números del 0 al 9 ó cualquier otro caracter,  lo borra.
            Case Else: KeyAscii = 0
        End Select
    End If
End Sub

 Espero haber sido de ayuda, a pesar de la tardanza.  :P
847  Programación / Programación Visual Basic / FlexGrid en: 1 Junio 2007, 02:21 am
Hola foro, necesito su ayuda para un proyecto que estoy elaborando, tengo un problemta que aun no se como resolver y es el siguiente:

------------------------------------------------------------------
|Nombre y Apellido|   Dia de la Semana  |Total de Horas|
------------------------------------------------------------------
|                          |Lun|Mar|Mie|Jue|Vie |                     |
|---------------------|----|----|----|----|----|-----------------|
|                          |     |     |     |     |     |                      |
|----------------------------------------------------------------|

Necesito poder usar un encabezado de columna sobre otro
como se observa en el dibujito: el encabezado Dia de la Semana sobre los dias correspondientes, Lun,Ma,Mie...
Si me pueden ayudar se los agradeceria de todo corazon,
gracias... :p
Páginas: 1 ... 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 [85]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines