• Domingo 19 de Mayo de 2024, 05:13

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - jimmyg

Páginas: [1]
1
Pascal / Re: Como Cambiar El Color
« en: Viernes 17 de Junio de 2005, 20:06 »
Saludos desde Costa Rica, mira, si quieres cambiar el color de un texto, es asi:
usemos el texto: "texto de prueba"

program xxx
.
.
begin
.
textbackground(white);textcolor(blue);
write("texto de prueba")
.
end.

eso imprimira en pantalla el texto en color azul sobre fondo blanco. los colores pueden ser identificados como numeros, que se yo, el azul es 1, el rojo 2 y asi... yo siempre he usado la palabra completa, es  mas significativo!!
Hay mas combinaciones, mas formas de hacer que el texto se presente, por ejemplo,

textbackground(white);textcolor(blue+blink);
write("texto de prueba")

hara que el texto parpadee en azul sobre fondo blanco! espero te ayude, cualquier duda, recuerda que estamos a tus ordenes!!

2
Pascal / Re: Informar los datos de una empresa
« en: Viernes 27 de Agosto de 2004, 21:28 »
Gracias Eugenio, igoraba eso, es mi primer participacin en este foro! pero listo, saludos a todos desde Costa Rica

3
Pascal / Re: Informar los datos de una empresa
« en: Viernes 27 de Agosto de 2004, 20:19 »
SALUDOS, buenos consejos los de los colegas, usar variables significativas y otra cosa, identar el codigo, que sea mas legible, eso facilita la lectura de un programa en el futuro, es una buena practica, al igual que documentar el codigo.
Bueno, aqui esta tu programa, espero que te sirva:

Código: Text
  1.  
  2. program ejer_seis;
  3.  
  4. {ESTE ES UN CODIGO ULTRA SENCILLO, LOGICAMENTE, SE PUEDE SUPER MEJORAR
  5. PONERLE MARCOS, COLORES, BOTONES, UTILIZAR UN ARCHIVO PARA GUARDAR LOS DATOS
  6. EN FIN.... AL MENOS TE PUEDE SERVIR}
  7.  
  8. uses
  9.   crt;
  10.  
  11. var
  12.  
  13. hombres,mujeres,totaltraba      : integer;
  14. nombre,nombremayor              : string;
  15. sueldo,totalsueldo,sueldomayor  : real;
  16. totalh,totalm,error,tempo,edad  : integer;
  17. sexo,tecla                      : char;
  18.  
  19. {leera el total de trabajadores,
  20. en formato string para poder capturar errores.
  21. TOTRAST = TO tal de TRA bajadores en ST ring}
  22. TOTRAST                    : string;
  23.  
  24.  
  25. {*******************************************************************}
  26. {CONVIERTE A MAYUSCULA UN STRING}
  27. procedure mayusc( var x : string);
  28. var
  29.    i : integer;
  30. begin
  31.   for i := 1 to length(x) do
  32.      x[i] := upcase(x[i]);
  33. end;
  34.  
  35. {*******************************************************************}
  36. {produce un sonidillo, nada mas eso, simple sonidillo}
  37. procedure bip;
  38. begin
  39.    sound(4000);
  40.    delay(100);
  41.    nosound;
  42. end;
  43.  
  44. {*******************************************************************}
  45. {Ubica el string TIRA en la posicion X,Y}
  46. procedure poner(x,y: integer; tira : string);
  47. begin
  48.   gotoxy(x,y);
  49.   write(tira);
  50. end;
  51.  
  52. {**********************************************************}
  53. procedure errormsg;
  54. begin
  55.  window(65,4,79,4);
  56.  write(chr(7));
  57.  textbackground(lightgray);textcolor(red + blink);
  58.  write ('   ERROR   ');
  59.  window(1,1,80,25);
  60.  textbackground(black);textcolor(white);
  61. end;
  62.  
  63.  
  64. {*************************************}
  65. {*           BEGIN PRINCIPAL         *}
  66. {*************************************}
  67.  
  68. begin
  69. while true do
  70.  begin
  71.    repeat
  72.      clrscr;
  73.      textbackground(black);textcolor(white);
  74.      poner(1,1,'ingrese cantidad trabajadores, <0> = salir ');
  75.      {se lee string, para permitir que se digiten caracteres no numericos,
  76.      despues se valida lo digitado}
  77.      readln(tOTRAst);
  78.      val(totrast,totaltraba,error);
  79.         if error <> 0 then
  80.           begin
  81.            {Hay un error, algun caracter del string no se pudo convertir a numero}
  82.            bip;
  83.            errormsg;
  84.            poner(1,3,'Digite un valor numerico.. Presione ENTER para seguir');
  85.            readln;
  86.           end
  87.             else
  88.               if totaltraba = 0 then
  89.                 halt;
  90.      until error = 0;
  91.  
  92.    for tempo := 1 to totaltraba do
  93.        begin
  94.             CLRSCR;
  95.             poner(5,2,'CANTIDAD DE TRABAJADORES A INCLUIR:');
  96.             GOTOXY(43,2);
  97.             WRITE(totaltraba);
  98.             poner(5,3,'INCLUYENDO TRABAJADOR NUMERO:');
  99.             GOTOXY(39,3);
  100.             WRITE(tempo);
  101.  
  102.             poner(3,5,'Nombre:     ');
  103.             poner(3,6,'Edad:       ');
  104.             poner(3,7,'Sueldo:     ');
  105.             poner(3,8,'Sexo (M/F): ');
  106.  
  107.             gotoxy(19,5);
  108.             readln(nombre);
  109.             {pasamos el nombre digitado a mayuscula}
  110.             mayusc(nombre);
  111.             poner(19,5,nombre);
  112.  
  113.             {OJO, AQUI SE DEBE PONER LA RUTINILLA PARA VERIFICAR QUE
  114.             SOLO SE DIGITEN NUMEROS, IGUAL QUE EN CANTIDAD DE TRABAJADORES,
  115.             SE PUEDE HACER UN PROCEDIMIENTO QUE SIMPLIFIQUE EL ASUNTO}
  116.             gotoxy(19,6);
  117.             readln(edad);
  118.  
  119.             {VALIDAR QUE LO DIGITADO SEA EFECTIVAMENTE UN NUMERO}
  120.             gotoxy(19,7);
  121.             readln(sueldo);
  122.  
  123.             repeat
  124.               gotoxy(19,8);
  125.               sexo := readkey;
  126.             until upcase(sexo) in ['F','M'];
  127.             poner(19,8,upcase(sexo));
  128.  
  129.             {ESPERA DE UNOS SEGUNDOS PARA PEDIR EL OTRO NOMBRE}
  130.  
  131.             textbackground(lightgray);textcolor(red);
  132.             PONER(20,12,'ESPERE UN MOMENTO, POR FAVOR');
  133.             textbackground(black);textcolor(white);
  134.             delay(1000);
  135.  
  136.  
  137.             {AQUI VIENEN LOS CALCULOS}
  138.  
  139.             {HAY UNA VARIABLE QUE SE LLAMA TOTALM, TENDRA EL TOTAL DE LAS
  140.             MUJERES O SEA, CADA VEZ QUE SE ELIJA F COMO SEXO, ESA VARIABLE
  141.             DEBE INCREMENTARSE EN UNO}
  142.             if (sexo = 'F') or (sexo = 'f') then
  143.               inc(totalm)
  144.             else
  145.               begin
  146.               {SE DEBE HACER LO MISMO PARA LOS HOMBRES,
  147.               CON EL FIN DE SACAR EL PROMEDIO DE SUELDO}
  148.               inc(totalh);
  149.  
  150.               {SE LLEVA UNA SUMA DE LOS SUELDOS DIGITADOS, SOLO SI
  151.               SON HOMBRES.  ¨MACHISMO? NO SE, ASI DICE EL ENUNCIADO!! JEJE}
  152.               totalsueldo := totalsueldo + sueldo;
  153.               end;
  154.  
  155.             if tempo = 1 then
  156.             {Es el primer trabajador, asi que guardamos los datos que
  157.              pide el enunciado}
  158.               begin
  159.                 nombremayor := nombre;
  160.                 sueldomayor := sueldo;
  161.               end
  162.               else
  163.                begin
  164.                  {NO es el primer trabajador}
  165.                  {Comparamos el sueldo que se digita con el guardado,
  166.                  si el sueldo digitado es mayor que el guardado, actualizamos
  167.                  los datos guardados}
  168.                  if sueldo > sueldomayor then
  169.                    begin
  170.                      nombremayor := nombre;
  171.                      sueldomayor := sueldo;
  172.                    end
  173.               end;
  174.        end;
  175.  
  176.        textbackground(lightgray);textcolor(red + blink);
  177.        PONER(20,12,'  CAPTURA DE DATOS TERMINADA  ');
  178.        textbackground(black);textcolor(white);
  179.  
  180.         poner(3,19,'Total de Trabajadores:');
  181.         poner(3,20,'Cantidad de mujeres:');
  182.         poner(3,21,'Sueldo promedio de los hombres:');
  183.         poner(3,22,'Trabajador con sueldo mayor:');
  184.         poner(3,23,'Sueldo mayor:');
  185.  
  186.         gotoxy(35,19);
  187.         write(totaltraba);
  188.  
  189.         gotoxy(35,20);
  190.         write(totalm);
  191.  
  192.         gotoxy(35,21);
  193.         write(totalsueldo/totalh:12:2);
  194.  
  195.         gotoxy(35,22);
  196.         write(nombremayor);
  197.         gotoxy(35,23);
  198.         write(sueldomayor:12:2);
  199.         gotoxy(35,19);
  200.         write(totaltraba);
  201.          repeat
  202.            poner(15,25,'Presione la tecla ESC para salir o ENTER para seguir');
  203.            tecla := readkey;
  204.          until (tecla = char(13)) or (tecla = char(27));
  205.           if tecla = char(27) then
  206.             halt;
  207. end;
  208. end.
  209.  
  210.  

Páginas: [1]