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


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | |-+  Crear archivos con nombres diferentes y aleatorios ??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear archivos con nombres diferentes y aleatorios ??  (Leído 2,668 veces)
Zion_Tm

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Crear archivos con nombres diferentes y aleatorios ??
« en: 25 Enero 2007, 15:46 »

Buenas tardes, tengo el code para crear un archivo

Código:
Set v1 = CreateObject("Scripting.FileSystemObject")
Set v2 = v1.CreateTextFile("C:\MiLog.log")
v2.WriteLine "####################################"
v2.WriteLine "                                    "
v2.WriteLine "LO QUE ESCRIBAS AQUI"
v2.WriteLine "SE IMPRIME DENTRO DEL ARCHIVO TXT"
v2.WriteLine "-----------FIN-------"
v2.Close


Esto crea 1 archivo , pero quiero crear infinitos archivos por ej adentro de C:\WINDOWS
Intente meter el code dentro de un timer pero no se puede crear  nuevos archivos con el mismo nombre.
Se me ocurrio la funcion Rnd ( Randomize ) , para que cambie el nombre del archivo a guardarse y asi cada vez.
Alguien sabe como implementarlo ??


En línea

_Sergi_


Desconectado Desconectado

Mensajes: 839



Ver Perfil
Re: Crear archivos con nombres diferentes y aleatorios ??
« Respuesta #1 en: 25 Enero 2007, 16:39 »

Lo primero que tienes que hacer es meter tu code dentro de un subprograma, para poderle pasar como parámetro el nombre de archivo a crear.

Código:
Public Sub CrearArchivo(Nombre as string)
Set v1 = CreateObject("Scripting.FileSystemObject")
Set v2 = v1.CreateTextFile("C:\" & Nombre & ".txt")
v2.WriteLine "####################################"
v2.WriteLine "                                    "
v2.WriteLine "LO QUE ESCRIBAS AQUI"
v2.WriteLine "SE IMPRIME DENTRO DEL ARCHIVO TXT"
v2.WriteLine "-----------FIN-------"
v2.Close
End Sub

Lo segundo, es hacer un código que genere cadenas de caracteres aleatorias. Simplemente basta con crear un numero aleatorio utilizando Rnd, y a partir de una cadena de caracteres llena de letras, coja sólo una:

Código:
Public Function TextoAleatorio(longitud As Integer)
abc = "yvwxyzabcdefghijklmnopqrstyvwxyz"
For i = 1 To longitud
Randomize
r = Int((Rnd * 61) + 1)
TextoAleatorio = TextoAleatorio & Mid(abc, r, 1)
Next i
End Function

Luego, en tu programa solo tendrías que llamar a la función CrearArchivo, pásandole como parámetro el texto aleatorio, todas las veces que quieras.

Con esto haces 1000 archivos con nombres distintos.

Código:
for n = 0 to 1000
CrearArchivo NombreAleatorio(8)
next n

Un saludo

P.D: Si hay algun error en el codigo lo siento, lo he hecho sin usar el IDE de Visual Basic.


En línea

Proyecto de Ingeniero
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines