Pascal/Turbo Pascal - AYUDA CON LOS ARRAYS

 
Vista:

AYUDA CON LOS ARRAYS

Publicado por TJ (4 intervenciones) el 27/11/2006 17:31:33
ALGUIEN PODRIA DECIRME COMO SE PUEDE ELIMINAR UN ARREGLO EN TURBO PASCAL YA SEA CON UN EJEMPLO O EN SINTAXIS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA CON LOS ARRAYS

Publicado por Carlos Guimaraenz (265 intervenciones) el 29/11/2006 01:13:18
Hola Teresa! ¿A qué te refieres con ELIMINAR UN ARREGLO? ¿A vaciarlo?
Espero tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON LOS ARRAYS

Publicado por TJ (4 intervenciones) el 29/11/2006 01:51:55
Pues me refiero a la eliminacion de un dato, por ejemplo en un programa en la cual agregamos el alumno y despues sus calificaciones, luego de un numero determinado pides buscar un alumno y despues sale la informacion colocada y al final se pregunta si se desea eliminar al alumno y sus datos o no, o algo asi
(^_^) no se si me pude explicar.... y si me pueden pasar un ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON LOS ARRAYS

Publicado por Carlos Guimaraenz (265 intervenciones) el 29/11/2006 02:40:59
Bueno, Teresa, tienes dos opciones: puedes hacer un corrimiento de los datos subsiguientes, y decrementar en uno la dimensión lógica. Por ejemplo, tienes un vector declarado de 50 elementos (supongamos registros con datos del alumno y algunas notas). Su dimensión física será 50, y en principio, su dimensión lógica (la cantidad de casillas ocupadas) será de 0. Entonces, queremos eliminar al alumno en la posición 17. Debes hacer un corrimiento de datos, de manera tal que la posición 17 quede ocupada por los datos que estaban en la 18, en la de 18 la de 19 y así... Y al finalizar ésto, decrementas la dimensión lógica, porque liberaste una posición.

La otra opción, si es que no quieres hacer corrimientos, es marcar de alguna manera la casilla como LIBRE, ya sea poniendo un asterisco al comienzo del nombre del alumno, o alguna nota fuera de rango (si se califica de 0 a 10, pones un 11, por ejemplo).

Cualquiera de las dos maneras tiene sus ventajas y desventajas. Deberás ver cuál te resulta más útil, más cómoda y fácil. Cualquier duda que te quede, preguntas nuevamente. Hasta pronto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON CLAVE

Publicado por TJ (4 intervenciones) el 07/12/2006 05:54:13
Hola, jeje, vuelvo a molestar pero estoy en otro problema, ya que le puse codigo al programa, como le podria cambiar la clave:

var
NI:INTEGER;
I:STRING;
CC:STRING;

{esta dentro del cuerpo }
CC:='TURBO PASCAL';
NI:=0;
REPEAT
TEXTCOLOR(LIGHTMAGENTA);
GOTOXY(31,5); WRITELN('INTRODUCIR CLAVE:');
GOTOXY(31,6); READLN(I);
NI:=NI+1;
IF I<>CC THEN
BEGIN
CLRSCR;
GOTOXY(22,15); WRITELN( '(x_x) ­ESA NO ES LA CLAVE CORRECTA!) ');
IF NI=3 THEN
EXIT
END
UNTIL I=CC;

Y de ahi sigue el menu, pero dentro de una de las opciones del menu tengo que poner uno de utilidades en la cual es donde tengo que hacer los cambios al password y asi comienze otraves, pero ahi no se como hacerle....agradesco la ayuda, y es q aparte no e terminado por completo el programa jejeje....y de ahi tengo el menu de los colores q tambien me esta dando lata....jejeje.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON LOS COLORES

Publicado por TJ (4 intervenciones) el 04/12/2006 04:26:12
GRACIAS POR EXPLICARME LO DEL TEMA PASADO, PERO AHORA TENGO OTRA DUDA Y NO SE SI ME PUEDA AYUDAR.
ES QUE QUIERO HACER UN MENU EN LA CUAL SE PUEDA CAMBIAR LOS COLORES, PERO NO SE COMO HACERLO YA QUE ES LA PRIMERA VES QUE LE VOY A USAR COLOR (X_X).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON LOS COLORES

Publicado por Carlos Guimaraenz (265 intervenciones) el 04/12/2006 21:18:50
Hola Teresa! Para cambiar el color del texto, previo a una (o varias) instrucciones WRITE, usas TEXTCOLOR(color);
El color puede ser un valor de 0 a 15, y cada uno de éstos tiene una constante para que sea más fácil usarlo. Por ejemplo: TextColor(red);
Cada vez que quieras usar un color diferente al actual, lo estableces mediante ese procedimiento, y no hace falta hacerlo previo a cada write.

Prueba éste código para ver cómo funciona:

program Colores;
uses crt;
begin
ClrScr;
{seteo el color}
TextColor(lightred);
Write('Escribo un texto ');
TextColor(lightblue);
WriteLn('de varios colores.');
TextColor(white);
Write('Se pueden escribir ');
Write('muchos WRITE consecutivos ');
Write('sin necesidad de cambiar de color, ');
TextColor(green);
Write('pero cuando quieres hacerlo ');
TextColor(yellow);
WriteLn('usas TextColor.');
TextColor(gray);
Write('Hasta pronto!');
ReadLn;
end.

Algunos de los colores son:
black, blue, red, yellow, green, lightred, lightblue, lightgray, white, lightgreen...
También puedes hacer un efecto de parpadeo, usando:
TextColor(color + blink);
Siendo "color" el que tu escojas.

También tienes la opción de cambiar el color de fondo del texto, usando
TextBackground(color) y se usa de la misma manera que TextColor.

Suerte y hasta luego!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA CON LOS COLORES

Publicado por Diego Romero (996 intervenciones) el 05/12/2006 09:26:24
Un aporte más de mi parte.

Turbo Pascal tiene definida una variable llamada TextAttr que almacena las útimas propiedades de colores del texto usadas (frente, fondo y parpadeo), ésta es útil para restaurar un atributo de texto luego de modificarlo, por ejemplo

var
BkTextAttr: byte: { para guardar los atributos }

begin
...
BkTextAttr:=TextAttr; { se guardan los atributos actuales }
TextColor(red); { cambia a rojo }
WriteLn('Este texto está en rojo');
TextAttr:=BkTextAttr; { restaura los atributos }
WriteLn('Este texto está normal');
...
end.

También es posible asignar valores a TextAttr y tendrá el mismo efecto que usar TextColor() y TextBackground() pero de una sola vez.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar