Buenas.
Tengo en mente una especie de lanzador para cargar juegos en Spectrum, usando el +3e y que sirva para cargar los juegos de la CF. La idea sería algo parecido al Norton Commander, usando las particiones como directorios, y mostrando los ficheros de cada una.
Pero, para ello, necesito algo muy simple en MSDOS, y que no se como sacar en BASIC... Algo tan sencillo como "dir > salida.txt" en MSDOS.
¿Sabéis como lo puedo hacer? La idea sería poder leer el directorio de ficheros y pasarlo a una matriz de strings, que luego usaría para mostrar la lista.
Un saludo.
Salida de pantalla a un fichero
Moderador: Fundadores
Re: Salida de pantalla a un fichero
Hola elfoscuro, no tengo idea de como son los comandos del +3e. Tampoco tengo idea de que si lo que se me ocurrio es lo que necesitas pero aqui va.
Lo que se me ocurre es hacer un programita para ir salvando en un "DIM a$(x,32)" donde x=(cantidad de filas a guardar), hacer un "DIR" y luego de cada "scroll?" hacer un Break y llamar a una linea en basic, donde se comience a copiar el contenido de pantalla a a$ donde habia quedado x.
EJ:
quiero copiar 3 pantallas de directorio en un array$ entonces primero copio el siguiente listado:
10 DIM a$(65,31) :REM donde 65 es (22*3)-1 | 22 es la cantidad de filas*pantalla y le resto 1 por la linea 0
20 LET x=0
30 FOR f=0 to 21
40 FOR g=0 to 31
50 LET a$(f+x,g)=SCREEN$(f,g)
60 NEXT g
70 NEXT f
80 LET x=x+22
85 IF x=66 THEN SAVE "DIRECTORIO" DATA $()
86 STOP
Luego:
DIR+ENTER
Scroll? = BREAK
GOTO 10 + ENTER
STOP statement, 0:1
DIR+ENTER
Scroll? = ENTER
Scroll? = BREAK
GOTO 30
STOP statement, 0:1
DIR+ENTER
Scroll? = ENTER
Scroll? = ENTER
Scroll? = BREAK
GOTO 30
star tape, then press any key.
Bueno, y eso a mano alzada y a codigo cortado y despilfarrado es lo que se me ocurre para copiar en un array$ lo que ha pasado por la pantalla luego de los DIR
Para luego verlo typeas:
DIM a$(65,31)
LOAD "DIRECTORIO" DATA
20 FOR f=0 to 65
30 PRINT a$(f)
40 NEXT f
GOTO 20 (nunca hagas un RUN porque borrarias lo cargado).
si esto no es lo que buscabas bueno, ya me puedes mandar a freír espárragos con la rubiecita del Mago de OZ.
SALAM!
Lo que se me ocurre es hacer un programita para ir salvando en un "DIM a$(x,32)" donde x=(cantidad de filas a guardar), hacer un "DIR" y luego de cada "scroll?" hacer un Break y llamar a una linea en basic, donde se comience a copiar el contenido de pantalla a a$ donde habia quedado x.
EJ:
quiero copiar 3 pantallas de directorio en un array$ entonces primero copio el siguiente listado:
10 DIM a$(65,31) :REM donde 65 es (22*3)-1 | 22 es la cantidad de filas*pantalla y le resto 1 por la linea 0
20 LET x=0
30 FOR f=0 to 21
40 FOR g=0 to 31
50 LET a$(f+x,g)=SCREEN$(f,g)
60 NEXT g
70 NEXT f
80 LET x=x+22
85 IF x=66 THEN SAVE "DIRECTORIO" DATA $()
86 STOP
Luego:
DIR+ENTER
Scroll? = BREAK
GOTO 10 + ENTER
STOP statement, 0:1
DIR+ENTER
Scroll? = ENTER
Scroll? = BREAK
GOTO 30
STOP statement, 0:1
DIR+ENTER
Scroll? = ENTER
Scroll? = ENTER
Scroll? = BREAK
GOTO 30
star tape, then press any key.
Bueno, y eso a mano alzada y a codigo cortado y despilfarrado es lo que se me ocurre para copiar en un array$ lo que ha pasado por la pantalla luego de los DIR
Para luego verlo typeas:
DIM a$(65,31)
LOAD "DIRECTORIO" DATA
20 FOR f=0 to 65
30 PRINT a$(f)
40 NEXT f
GOTO 20 (nunca hagas un RUN porque borrarias lo cargado).
si esto no es lo que buscabas bueno, ya me puedes mandar a freír espárragos con la rubiecita del Mago de OZ.
SALAM!
- tacha
- Hermano de Lucifer
- Mensajes: 3167
- Registrado: 04 Abr 2013, 20:22
- Ubicación: Montevideo, Uruguay
- Has thanked: 52 times
- Been thanked: 35 times
- Contactar:
Re: Salida de pantalla a un fichero
bueno, esto del foro esta andando mal, tuve que cambiar mi nombre de usuario para responder, y ni siquiera estaba registrado ese nombre !!! XD
66 6C 6F 70 70 69 6E 67 20 6D 61 73 63 61 20 50 30 6C 6C 34 / 6D 61 73 20 63 6F 74 69 6C 6C 61 20 73 65 72 E1 73 20 74 75 20 49 7A 61 72 6F 20 3A 70
- Izaro
- Fundador
- Mensajes: 3341
- Registrado: 02 Abr 2013, 10:39
- Ubicación: Valencia (mas alla del sol)
- Has thanked: 14 times
- Been thanked: 20 times
Re: Salida de pantalla a un fichero
si señor aqui tenemos otro crack del basic.
01001101 01101001 01110010 01100001 00100000 01110001 01110101 01100101 00100000 01100101 01110010 01100101 01110011 00100000 01100011 01101111 01110100 01101001 01101100 01101100 01100001 00101110