Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Pequeño software! ayuden por favor! gracias!

Estas en el tema de Pequeño software! ayuden por favor! gracias! en el foro de Visual Basic clásico en Foros del Web. Hola, antes que nada les dejo un cordial saludos a mis colegas que comparten los mismos gustos que yo. Paso a contarles mi proble, o ...
  #1 (permalink)  
Antiguo 25/07/2008, 10:10
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
Pequeño software! ayuden por favor! gracias!

Hola, antes que nada les dejo un cordial saludos a mis colegas que comparten los mismos gustos que yo.
Paso a contarles mi proble, o mejor dicho mi pedido de ayuda.

Tengo que hacer un pequeño programa (si es en VB mejor) o BAT que me ayude a cargar unos archivos, ejemplo:

C:\ICR\encolador.exe N C:\ICR\DATA\2_0018_080601_080630.txt Tabla:Entrada 2 18 N US PW SERVIDOR B. DE DATOS
Este es mi primer ejemplo que hice, les comento como funciona:

Es un BAT que lo que hace es cargar del directorio C:\ICR\DATA\ el archivo .txt nommbrado arriba y con los parametros que le siguen, le dice al ejecutable encolador.exe que lo cargue en la Base de Datos.

El tema es que ahora en el directorio se me generan diferentes archivos de texo ejemplos.
2_00018_080601_080630.txt
1_00015_080601_080630.txt
3_00112_080601_080630.txt

Empiezan mis pedidos de ayuda:
1- Necesito primero que el Programa o BAT busque en los nombres de archivo esta cadena (en verde) 2_00018_080601_080630.txt y que resuelva si es 1_00018 que me cree y copie el archivo en una carpeta llamada "2_00018" y asi con los primeros cinco valor del archivo (osea que me cree una carpeta por cada archivo diferente) la idea es hacer un BAckup antes que el encolador.exe me los cargue a la BASE DE DATOS, porque una ves que los carga desaparecen, me olvidaba algo importante, los archivos estan todos sueltos en una misma carpeta, la idea es que el backup los ordene segun el nobre en carpetas diferentes.

2- Una ves hecho el paso anterios, necesito que el programa o BAT me jenere un comando como el de arriba:
C:\ICR\encolador.exe N C:\ICR\DATA\2_0018_080601_080630.txt Tabla:Entrada 2 18 N US PW SERVIDOR B. DE DATOS
pero segun los primero 5 valores que tiene el txt me modifique la entreda, ejemplo. Entrada 2 18,
se entiende? osea si el archivo de texto empieza con "2_00018" la entrada tiene que ser:
"Tabla:Entrada 2 18 N US PW SERVIDOR B. DE DATOS"

Ejemplo:

C:\ICR\encolador.exe N C:\ICR\DATA\1_00112_080601_080630.txt Tabla:Entrada 1 112 N US PW SERVIDOR B. DE DATOS

C:\ICR\encolador.exe N C:\ICR\DATA\3_00005_080601_080630.txt Tabla:Entrada 3 5 N US PW SERVIDOR B. DE DATOS

Me olvidaba el prime valor ba de "1 a 3", y el siguiente de "0 a 112"

Mi duda es si un BAT es capas de generar ese comando y ejecutarlo, con Visual Basic estoy seguro que se puede, pero mis conocimientos son basicos, y no se por donde arrancar!

3- Por ultimo (aunque creo que esto es el primer paso en realidad) necesito que todo lo que hace el BAT o programa, quede guardado como registro en un archivo txt, que de nombre deberia tener la fecha, y que se guarde en una carpeta llamada "Registro"

Desde ya agradesco a quien pueda ayudarme, la verdad pense que con un BAT podria hacerlo, pero creo que me faltan opciones, (que busque en el nombre de archivo; que me genere el comando segun el nombre de archivo, etc)

Mi idea es hacerlo con un BAT si es que se puede, o Visual Basic, si es en visual necesito que al ejecutar la aplicacion ya empiece a trabajar, por favor ayudenmen.
prometo ayudar en lo que pueda.
Desde ya muchas gracias!
  #2 (permalink)  
Antiguo 25/07/2008, 10:49
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 2 meses
Puntos: 17
Respuesta: Pequeño software! ayuden por favor! gracias!

yo definitivamente no te voy hacer el programa, pero si te voy a ayudar con las herramientas que necesitas para lograr ti objetivo....

1) para ver los archivos que tienes en un directorio, utiliza el objeto filelistbox y , modifica las propiedades segun :

File1.Path = "C:\ICR\DATA\"
File1.Pattern="*.txt"
File1.Refresh

con esto tu objeto filelist muestra todos los archivos de tu directorio data y que tengan la extension txt

ahora necesitamos ejecutar el programa encolador con los archivos de textos encontrador, para eso vas a utilizar algo como


programa="C:\ICR\encolador.exe N C:\ICR\DATA\"
For x = 0 To File1.ListCount - 1
nomarchivo = File1.List(x)
valor1=val(mid(nomarchivo,1,1))
valor2=val(mid(nomarchivo,3,5))
parametro1=nomarchivo
parametro2="Tabla:Entrada " & valor1 & " " & valor2 & " N US PW SERVIDOR B. DE DATOS"

comando=programa & " " & parametro1 & " " & parametro2
shell(comando)
next x

recorre el filelistbox y por cada archivo que encuentra genera el llamado al comando requerido, ejemplo
toma el primer archivo (file1.list(x)) y lo garda en la variable nomarchivo
luego para recuperar el valor de los parametros ocupamos la funcion mid :

si nomarchivo es "2_00018_080601_080630.txt"
valor1 vale "2" y valor2 es "080601" y con la funcion val los transformo a numero entonces :

valor1=2, valor2=80601

las variables parametro1 y parametro2 quedan de la sig. forma

parametro1 vale "2_00018_080601_080630.txt"
parametro2 vale "Tabla:Entrada 2 80601 N US PW SERVIDOR B. DE DATOS"

para finalizar la variable comando toma los valores de proceso anterior quedando como

comando vale "C:\ICR\encolador.exe N C:\ICR\DATA\2_00018_080601_080630.txt Tabla:Entrada 2 80601 N US PW SERVIDOR B. DE DATOS"

para finalizar ejecutamos dicho comando con la funcion shell
shell(comando)

con eso tienes lograda la mitad del problema, ahora tu investiga como utilizar los comando open y write para actualizar un archivo de texto para guardar la fecha y la hora de modificacion

intenta ver que sucede y nos avisas..... SALUDOS!!!!!!

para mover un archivo a una carpeta determinada, debes ocupar el comando name

name "c:\prueba\nomarchivo.exe" "c:\prueba new\nomarchivo.exe", con esto mueves el archivo de la carpeta prueba a la carpeta prueba new

para crear una carpeta mkdir "c:\prueba\carpeta"

para crear una carpeta con los primeros 5 caracteres de tu archivo, en el for del primer codigo debes

nombrecarpeta=mid(nomarchivo,1,5)
mkdir nombrecarpeta

Última edición por Kruzado; 25/07/2008 a las 10:59
  #3 (permalink)  
Antiguo 25/07/2008, 17:29
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Pequeño software! ayuden por favor! gracias!

Grosoooooooooo... Enserio agraddesco mucho tu ayuda Kruzado, voy a poner en practica ahora mismo, cualquier duda que tenga, seguramente me de una vuelta.. gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:43.