[ Foro de Pascal ]
Estimado; necesito ayuda con un programita que hice para mi lugar de trabajo para llevar el control de una pieza, un ADM, no se si sabes lo que es, pero esta compuesto por varias piezas individuales como podran ver en el programa, es con archivos pero tengo el problema que no me mustra las variables de los registros, osea el contenido, lo que yo cargo, lo recorri de arriba a bajo y no se que es, me podran ayudar=? dejo el programa...estoy usando free pascal.
PROGRAM STOCKADM3 (INPUT,OUTPUT);
USES CRT;
TYPE
MATERIAL=RECORD {Registro que va a guarad el modelo del ADM; una breve descripcion y la cantidad en stock}
MODELO:INTEGER;
DESC:STRING[10];
NRO:INTEGER;
CAMISA:INTEGER;
MAZA:INTEGER;
ARO:INTEGER;
END;
MATE= FILE OF MATERIAL;
VAR
ARCHI:MATE;
MAT:MATERIAL;
RTA,RTA1,RTA2,RES:CHAR;
OP,N:INTEGER;
PROCEDURE NILSO (); {Es para indentificar la empresa en todo momento del uso del programa}
BEGIN
gotoxy(33,1);textcolor(8);write('~~~~~~~~~~~~~~~~~~~~');
gotoxy(33,2);textcolor(8);write('~');
gotoxy(33,3);textcolor(8);write('~');
gotoxy(33,4);textcolor(8);write('~');
gotoxy(33,5);textcolor(8);write('~');
gotoxy(33,5);textcolor(8);write('~~~~~~~~~~~~~~~~~~~');
gotoxy(52,2);textcolor(8);write('~');
gotoxy(52,3);textcolor(8);write('~');
gotoxy(52,4);textcolor(8);write('~');
gotoxy(52,5);textcolor(8);write('~');
gotoxy(35,3);textcolor(9);
WRITELN('NILSO TORRE S.A.');
gotoxy(29,7);textcolor(10);write('+++++++++++++++++++++++++++');
gotoxy(29,9);textcolor(10);write('+++++++++++++++++++++++++++');
gotoxy(29,8);textcolor(10);write('+');
gotoxy(55,8);textcolor(10);write('+');
gotoxy(30,8);textcolor(13);
WRITELN('CONTROL DE STOCK DE ADMïS');
END;
PROCEDURE ENTRADA (VAR RTA1:CHAR; VAR MAT:MATERIAL;VAR N:INTEGER); {Realiza la carga de stock, cantidad de material comprado}
VAR
OPC,POS,CANTI,F,C:INTEGER;
RET:CHAR;
BEGIN
CLRSCR;
NILSO();
RTA1:='S'; RET:=' ';
ASSIGN(ARCHI,'C:\NilsoTorre\STOCKadm.DAT');
RESET(ARCHI); GOTOXY(29,11); TEXTCOLOR(14);
WRITE('MODELO');
F:=11; C:=39;
GOTOXY(C,F);
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MODELO);
C:=C+5; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('CAMISA');
GOTOXY(39,F);C:=39;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.CAMISA);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('MAZA');
GOTOXY(39,F);C:=39;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MAZA);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('ARO');
GOTOXY(39,F);C:=39;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.ARO);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('NRO');
GOTOXY(39,F);C:=39;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.NRO:2);
C:=C+3; GOTOXY(C,F);
END;
GOTOXY(4,F+3);TEXTCOLOR(15);
WRITE('PARA VOLVER AL MENé ANTERIOR PRECIONE "R"; CUALQUIER TECLA CONTINUA ');READLN(RET);
IF (RET<>'R') AND (RET<>'r') THEN BEGIN
WHILE (RTA1='S') or (RTA1='s') DO
BEGIN
CLRSCR; NILSO();
RESET(ARCHI); GOTOXY(29,11); TEXTCOLOR(14);
WRITE('MODELO');
F:=11; C:=37;
GOTOXY(C,F);
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MODELO);
C:=C+5; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('CAMISA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.CAMISA);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('MAZA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MAZA);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('ARO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.ARO);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('NRO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.NRO:2);
C:=C+8; GOTOXY(C,F);
END;
CLOSE(ARCHI);
GOTOXY(4,F+3);TEXTCOLOR(2);
WRITE('ELIJA EL MODELO DE ADM A CARGAR STOCK (segun el nro interno): ');
READLN(POS);
CLRSCR; NILSO();
POS:=POS-1; RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
GOTOXY(4,12);TEXTCOLOR(9);
WRITELN('VA A CARGAR STOCK DEL SIGUIENTE MATERIAL: ');
GOTOXY(28,14); TEXTCOLOR(14);
WRITELN('NRO MODELO DESCRIPCION');
GOTOXY(28,15);
WRITELN('--- ------ -----------');
GOTOXY(28,16); TEXTCOLOR(4);
WRITELN(MAT.NRO:3,MAT.MODELO:6,' ',MAT.DESC);
CLOSE(ARCHI);
GOTOXY(4,18);TEXTCOLOR(9);
WRITE('INGRESE LA CANTIDAD A CARGAR DE CAMISAS: '); READLN(CANTI);
RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
MAT.CAMISA:=MAT.CAMISA+CANTI;
SEEK(ARCHI,POS); WRITE(ARCHI,MAT);
CLOSE(ARCHI);
GOTOXY(4,20);
WRITE('INGRESE LA CANTIDAD A CARGAR DE MAZA DENTRALES: '); READLN(CANTI);
RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
MAT.MAZA:=MAT.MAZA+CANTI;
SEEK(ARCHI,POS); WRITE(ARCHI,MAT);
CLOSE(ARCHI);
GOTOXY(4,22);
WRITE('INGRESE LA CANTIDAD A CARGAR DE AROS PORTA ORRINGïS: '); READLN(CANTI);
RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
MAT.ARO:=MAT.ARO+CANTI;
SEEK(ARCHI,POS); WRITE(ARCHI,MAT);
CLOSE(ARCHI);
CLRSCR; NILSO();
GOTOXY(24,14); TEXTCOLOR(3);
WRITE('DESEA CARGAR STOCK DE OTRO MATERIAL?'); READLN(RTA1);
END;
END;
CLRSCR;
END;
PROCEDURE SALIDA (VAR RTA2:CHAR; VAR MAT:MATERIAL;VAR N:INTEGER); {Modifica el stock con la entrega de los materiales}
VAR
OPC,POS,CANTI,F,C:INTEGER;
RET:CHAR;
BEGIN
CLRSCR;
NILSO();
RTA1:='S'; RET:=' ';
ASSIGN(ARCHI,'C:\NilsoTorre\STOCKadm.DAT');
RESET(ARCHI); GOTOXY(29,11); TEXTCOLOR(14);
WRITE('MODELO');
F:=11; C:=37;
GOTOXY(C,F);
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MODELO);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('CAMISA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.CAMISA);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('MAZA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MAZA);
C:=C+5; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('ARO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.ARO);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('NRO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.NRO:2);
C:=C+8; GOTOXY(C,F);
END;
GOTOXY(4,F+3);TEXTCOLOR(15);
WRITE('PARA VOLVER AL MENé ANTERIOR PRECIONE "R"; CUALQUIER TECLA CONTINUA ');READLN(RET);
IF (RET<>'R') AND (RET<>'r') THEN BEGIN
WHILE (RTA1='S') or (RTA1='s') DO
BEGIN
CLRSCR; NILSO();
RESET(ARCHI); GOTOXY(29,11); TEXTCOLOR(14);
WRITE('MODELO');
F:=11; C:=37;
GOTOXY(C,F);
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MODELO);
C:=C+5; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('CAMISA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.CAMISA);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('MAZA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MAZA);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('ARO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.ARO);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('NRO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.NRO:2);
C:=C+8; GOTOXY(C,F);
END;
CLOSE(ARCHI);
GOTOXY(4,F+3);TEXTCOLOR(2);
WRITE('ELIJA EL MODELO DE ADM A ENTREGAR (segun el nro interno): ');
READLN(POS);
CLRSCR; NILSO();
POS:=POS-1; RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
GOTOXY(4,12);TEXTCOLOR(9);
WRITELN('VA A ENTREGAR STOCK DEL SIGUIENTE MATERIAL: ');
GOTOXY(28,14); TEXTCOLOR(14);
WRITELN('NRO MODELO DESCRIPCION');
GOTOXY(28,15);
WRITELN('--- ------ -----------');
GOTOXY(28,16); TEXTCOLOR(4);
WRITELN(MAT.NRO:3,MAT.MODELO:6,' ',MAT.DESC);
CLOSE(ARCHI);
GOTOXY(4,18);TEXTCOLOR(9);
WRITE('INGRESE LA CANTIDAD A ENTREGAR DE CAMISAS: '); READLN(CANTI);
RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
MAT.CAMISA:=MAT.CAMISA-CANTI;
SEEK(ARCHI,POS); WRITE(ARCHI,MAT);
CLOSE(ARCHI);
GOTOXY(4,20);
WRITE('INGRESE LA CANTIDAD A ENTREGAR DE MAZA CENTRALES: '); READLN(CANTI);
RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
MAT.MAZA:=MAT.MAZA-CANTI;
SEEK(ARCHI,POS); WRITE(ARCHI,MAT);
CLOSE(ARCHI);
GOTOXY(4,22);
WRITE('INGRESE LA CANTIDAD A ENTREGAR DE AROS PORTA ORRINGïS: '); READLN(CANTI);
RESET(ARCHI);
SEEK(ARCHI,POS); READ(ARCHI,MAT);
MAT.ARO:=MAT.ARO-CANTI;
SEEK(ARCHI,POS); WRITE(ARCHI,MAT);
CLOSE(ARCHI);
CLRSCR; NILSO();
GOTOXY(24,14); TEXTCOLOR(3);
WRITE('DESEA CARGAR STOCK DE OTRO MATERIAL?'); READLN(RTA1);
END;
END;
CLRSCR;
END;
PROCEDURE INICIO (VAR N:INTEGER;VAR RES:CHAR);
VAR
RET:CHAR;
BEGIN
CLRSCR;
NILSO();
N:=0; RES:='S'; RET:=' ';
ASSIGN(ARCHI,'C:\NilsoTorre\STOCKadm.DAT'); {Asingno la variable al archivo Fisico, creado manualmente en el S.O.}
REWRITE(ARCHI);
GOTOXY(4,11);TEXTCOLOR(15);
WRITE('PARA VOLVER AL MENé ANTERIOR PRECIONE "R"; CUALQUIER TECLA CONTINUA ');READLN(RET);
IF (RET<>'R') AND (RET<>'r') THEN BEGIN
WHILE (RES='S') or (RES='s') DO
BEGIN
CLRSCR; NILSO();
GOTOXY(4,11);TEXTCOLOR(9);
WRITE('INGRESE EL MODELO DE ADM, COMENZANDO CON EL MODELO MAS CHICO: ');
N:=N+1;
MAT.NRO:=N;
READLN(MAT.MODELO);
GOTOXY(4,13);
WRITE('INGRESE UNA BREVE DESCRIPCION PARA EL MODELO: ');
READLN(MAT.DESC);
MAT.CAMISA:=0;
MAT.MAZA:=0;
MAT.ARO:=0;
WRITE(ARCHI,MAT);
CLRSCR; NILSO();
GOTOXY(20,14);TEXTCOLOR(3);
WRITE('DESEA CONTINUAR CON LA CARGA DE OTRO MATERIAL?'); READLN(RES);
END;
END;
CLOSE(ARCHI);
END;
PROCEDURE CARGAMAT(VAR N:INTEGER;MAT:MATERIAL);
VAR
POS,C:INTEGER;
RES,RET:CHAR;
BEGIN
ASSIGN(ARCHI,'C:\NilsoTorre\STOCKadm.DAT');
RESET(ARCHI);
C:=FILESIZE(ARCHI);
N:=C;
RES:='S'; RET:=' ';
POS:=C;
GOTOXY(4,11);TEXTCOLOR(15);
WRITE('PARA VOLVER AL MENé ANTERIOR PRECIONE "R"; CUALQUIER TECLA CONTINUA ');READLN(RET);
IF (RET<>'R') AND (RET<>'r') THEN BEGIN
WHILE (RES='S') or (RES='s') DO
BEGIN
CLRSCR; NILSO();
GOTOXY(4,11);TEXTCOLOR(9);
SEEK(ARCHI,POS);
WRITE('INGRESE EL MODELO DE ADM, COMENZANDO CON EL MODELO MAS CHICO: ');
N:=N+1;
MAT.NRO:=N;
READLN(MAT.MODELO);
GOTOXY(4,13);
WRITE('INGRESE UNA BREVE DESCRIPCION PARA EL MODELO: ');
READLN(MAT.DESC);
MAT.CAMISA:=0;
MAT.MAZA:=0;
MAT.ARO:=0;
WRITE(ARCHI,MAT);
CLRSCR; NILSO();
GOTOXY(20,14);TEXTCOLOR(3);
POS:=POS+1;
WRITE('DESEA CONTINUAR CON LA CARGA DE OTRO MATERIAL?'); READLN(RES);
END;
END;
CLOSE(ARCHI);
END;
PROCEDURE SALUDO(); {Saludo inicial al abrir el programa}
BEGIN
CLRSCR;NILSO();
GOTOXY(10,11);TEXTCOLOR(9);
WRITELN('BIENVENIDOS AL CONTROL DE STOCK DE ADMïS DE NILSO TORRE S.A.');
GOTOXY(24,13);TEXTCOLOR(15);
WRITELN('PRECIONE UN TECLA PARA CONTINUAR');
GOTOXY(1,14);DELLINE();GOTOXY(40,15);
READLN();
END;
PROCEDURE MENUPPAL (VAR OP:INTEGER); {Menu principal, elijo entre cargar el stock o entregar el mismo}
VAR
F,C:INTEGER;
BEGIN
CLRSCR;
NILSO();
ASSIGN(ARCHI,'C:\NilsoTorre\STOCKadm.DAT');
GOTOXY(3,11);TEXTCOLOR(9);
WRITELN('ELIJA UNA OPCIàN DEL MENé: ');
GOTOXY(3,12);WRITE('----- --- ------ -- -----');
GOTOXY(20,14);
WRITELN('1_ENTRADA DE MATERIA 2_SALIDA DE MATERIAL');
GOTOXY(20,16);
WRITELN('3_CARGA NUEVO MATERIAL 4_INICIALIZA(reset programa)');
REPEAT
READLN(OP)
UNTIL (OP=1) OR (OP=2) OR (OP=3) OR (OP=4);
CLRSCR;
NILSO();
IF OP=1 THEN
BEGIN
ENTRADA (RTA1,MAT,N);
END
ELSE
BEGIN
IF OP=2 THEN
BEGIN
SALIDA (RTA2,MAT,N);
END
ELSE
IF OP=3 THEN
BEGIN
CARGAMAT(N,MAT);
END
ELSE
IF OP=4 THEN
BEGIN
INICIO(N,RES);
END
END;
CLRSCR; NILSO();
GOTOXY(4,11); TEXTCOLOR(9);
WRITELN('LISTADO DE STOCK, HASTA EL MOMENTO: ');
GOTOXY(4,12); WRITELN('******* ** ***** ***** ** ********');
GOTOXY(29,14); TEXTCOLOR(14);
RESET(ARCHI);
WRITE('MODELO');
F:=14; C:=37;
GOTOXY(C,F);
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MODELO);
C:=C+5; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('CAMISA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.CAMISA);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('MAZA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MAZA);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('ARO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.ARO);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('NRO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.NRO:2);
C:=C+8; GOTOXY(C,F);
END;
CLOSE(ARCHI);READLN();
END;
PROCEDURE LISTA(MAT:MATERIAL); {Al terminar todas las tareas me muestra el stock actualizado al cerrar el programa}
VAR
F,C:INTEGER;
BEGIN
CLRSCR; NILSO();
GOTOXY(15,11);TEXTCOLOR(9);
WRITELN('LISTA DE STOCK: ');
GOTOXY(15,12);WRITELN('~~~~~ ~~ ~~~~~~');
RESET(ARCHI);
GOTOXY(29,13);TEXTCOLOR(14);
WRITE('MODELO');
F:=13; C:=37;
GOTOXY(C,F);
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MODELO);
C:=C+5; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('CAMISA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.CAMISA);
C:=C+3; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('MAZA');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.MAZA);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('ARO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.ARO);
C:=C+8; GOTOXY(C,F);
END;
F:=F+2;
GOTOXY(29,F);TEXTCOLOR(14);
WRITE('NRO');
GOTOXY(37,F);C:=37;
TEXTCOLOR(4);
WHILE NOT EOF(ARCHI) DO
BEGIN
READ(ARCHI,MAT);
WRITE(MAT.NRO:2);
C:=C+8; GOTOXY(C,F);
END;
CLOSE(ARCHI); READLN();
CLRSCR; NILSO();
GOTOXY(15,13); TEXTCOLOR(3);
WRITELN('PARA CONTINUAR CON EL CIERRE DEL PROGRAMA OPRIMA UNA TECLA');
READLN();
END;
BEGIN {Cuerpo del programa principla}
SALUDO();
RTA:='N';
WHILE (RTA='N') or (RTA='n') DO
BEGIN
CLRSCR;
MENUPPAL(OP);
CLRSCR; NILSO();
GOTOXY(30,14);TEXTCOLOR(3);
WRITELN('DESEA SALIR DEL PROGRAMA?');
READLN(RTA);
END;
LISTA(MAT);
END.
¿Has visto los ejemplos del hilo que se llama "Ejemplo básico de agenda con array y record"? ¿Los entiendes? ¿Qué dudas tienes con ellos?
Ese programa tiene 660 líneas y no sigue ninguna de las recomendaciones que te he dicho en otros hilos del foro. Empieza por algo sencillo, asegúrate de que funcione, y vas probando poco a poco y ampliando cuando te asegures de que un bloque funciona correctamente.
Depurar un programa monolítico de 660 líneas, repetitivo, sin apenaas comentarios y lleno de variables globales, es algo MUY tedioso. Así que en general sólo podremos ayudarte con dudas concretas (del estilo de "¿por qué no compila la línea 36?") o con ideas de cómo afrontar un proyecto. No creo que nadie del foro tenga el tiempo libre suficiente para rehacer un programa de 660 líneas que no funciona y que no sabemos qué pretende hacer en cada bloque.
Si escuchas (lees) lo que te decimos, aprenderás de tus errores anteriores. Si filtras los errores hasta zonas pequeñas de código, conseguirás que sea fácil ayudarte. Si no haces ninguna de esas dos cosas, inevitablemente te atascarás.
¿Y qué pasó con el programa que estaba en el otro post?, ¿lo revisaste?, ¿te funcionó?, cuéntame.
Si luis, lo pude terminar, funciona de 10...muchas gracias por todo los consejos... ya estoy trabajando en otro, ni bien surga una duda no voy en dudar en consultar....gracias...
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)