Jump to content

ajuda ascii


hRtz
 Share

Recommended Posts

boas, queria antes de mais pedir desculpa, asm so este ano estou a começar a aprender pascal na escola,e queria saber algumas coisas, por exemplo desenvolvi um pequenino programa que simula um virus mas ele faz a percentagem com o writeln 5% 10% etc, e gostava de saber como fazer para utilizar uma barra d eprogresso, acho que o simbolo da tabela ascii que devo usar e o 216 mas nao sei como usá-lo e tambem gostava de saber que tipo de opções posso utilizar com o until eu so aprendi until(keypressed); por exemplo, obrigado.

Link to comment
Share on other sites

onde tens writln ("5%");.......bla bla bla...

mudas para este codigo.

program a;
uses crt;
var s:integer;
begin
  textbackground(7);
  clrscr;
  textcolor(0);
  gotoxy(29,12);
  write('ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿');
  gotoxy(29,14);
  write('ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
  gotoxy(29,13);
  write('³');
  gotoxy(47,13);
  write('³');
  gotoxy (31,13);
  Write ('±±±±±±±±±±±±±±±');
  textcolor(1);
  for s:= 1 to 21 do
  gotoxy(31,13);
  delay (0500);Write ('±');delay (0700);Write ('±');delay (0700);Write ('±');delay (0500);Write ('±');
  delay (0500);Write ('±');delay (0100);Write ('±');delay (0200);Write ('±');delay (0500);Write ('±');
  delay (0500);Write ('±');delay (0500);Write ('±');delay (0500);Write ('±');delay (0300);Write ('±');
  delay (500);Write ('±');delay (0200);Write ('±');
end.

o metio um tempinho para n fazer tudo seguido... ?

decidi fazer outro lol, na minha opiniao + engraçado  😄

http://programmers.com.sapo.pt/systemstart.htm

(* by_ricardo *)
program starttttt;
uses crt;
var i,s,ta,te:integer;
procedure w(ta,te:integer);
begin
  for i:=1 to ta do
  begin
    textcolor(2);
    s:=random(2)+1;
    gotoxy(30+i,16);
    if s=1 then
      write('0');
    if s=2 then
      write('1');
    delay(te);
  end;
end;
procedure carre;
begin
  textcolor(2);
  gotoxy(31,11);
  write('System Start ...');
  gotoxy(29,12);
  write('ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿');
  gotoxy(29,14);
  write('ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
  gotoxy(29,13);
  write('³');
  gotoxy(47,13);
  write('³');
  textcolor(10);
  gotoxy(31,13); delay (0500); Write ('²');  w(1,20);
  textcolor(10);
  gotoxy(32,13); delay (0400); Write ('²');  w(2,20);
  textcolor(10);
  gotoxy(33,13); delay (0700); Write ('²');  w(3,20);
  textcolor(10);
  gotoxy(34,13); delay (0500); Write ('²');  w(4,20);
  textcolor(10);
  gotoxy(35,13); delay (0500); Write ('²');  w(5,20);
  textcolor(10);
  gotoxy(36,13); delay (0100); Write ('²');  w(6,20);
  textcolor(10);
  gotoxy(37,13); delay (0200); Write ('²');  w(7,20);
  textcolor(10);
  gotoxy(38,13); delay (0500); Write ('²');  w(8,20);
  textcolor(10);
  gotoxy(39,13); delay (0400); Write ('²');  w(9,20);
  textcolor(10);
  gotoxy(40,13); delay (0500); Write ('²');  w(10,20);
  textcolor(10);
  gotoxy(41,13); delay (0400); Write ('²');  w(11,20);
  textcolor(10);
  gotoxy(42,13); delay (0300); Write ('²');  w(12,20);
  textcolor(10);
  gotoxy(43,13); delay (500);  Write ('²');  w(13,20);
  textcolor(10);
  gotoxy(44,13); delay (0200); Write ('²');  w(14,20);
  textcolor(10);
  gotoxy(45,13); delay (50);   Write ('²');  w(15,20);
  gotoxy(64,25);
  write('Press Enter ...');
end;

begin
  randomize;
  textbackground(0);
  clrscr;
  carre;
  repeat until keypressed;
end.

quer num exemplo quer no outro ambos mostram aqui os caracteres mal  ? mas np basta mudar para os caracteres certos atravez da tabela ascii mudas os caracteres mal para os uqe gostares mais atravez do chr(numero_do_caracter) ou ficas a carregar na tecla Alt e ao mesmo tempo introduzes o numero, ao largares os alt ele mostra o desenho correspoondente ao numero  😛

Aqui está um exemplo como fica com os caracteres certos 😄

http://programmers.com.sapo.pt/forum/loads.rar

Se nao gostas assim e queres uma coisa mais simples pegas no 1º codigo e tiras todos delay() e onde tens os delay poens o codigo e quando o teu programa executar aquela instrução a barra de progresso aumenta...mas na minha opiniao é simples demais. Obviamente que os delays é para tirar, e mudar para instruções, não existe nenhuma logica esperar por nada  🙂

----------------------------------

So um aparte se não sabes como construir a tabela Ascii basta fazeres

program taabela;
uses crT;
var i:integer;
begin
  clrscr;
  for i:=1 to 256 do
  begin
    write(i,chr(i),' ');
  end;
  repeat until keypressed;
  clrscr;
  for i:=1 to 30 do
  begin
    write(i,' '); textcolor(i+1);
  end;
  readln;
end.
Link to comment
Share on other sites

o until é uma estruta de repetição onde tu estás a repetir sempre as instruções que tiverem dentro

mas atenção nunca confundas do Repeat Until com o While!!!

Fax a mesma coisa ??

Parecido, o que tu fixeres com o repeat consegues fazer com o while só que presta atenção é diferente usar um e outro porque senão para é que existiam os 2 ??

Sintaxe:

Repeat 
  ....
  instruções
  ...
Until (condição); 

Se fores  a ver o que fazes com o repeat until keypressed, é estar num ciclo de repetição neste caso n repete nada, até ser carregada uma tecla...

pois podes por assim

repeat
until keypressed;

A condição é testada no fim pois, como o pascal é uma linguagem que compila sequencialmente vai obrigatoriamente executar as instruções que estao dentro do repeat.

é aqui simplesmente neste caso de onde é testada a condição que o while difere pois o while testa a condição no inicio e depois é que decide se entra no ciclo ou n...

é esta a simples diferença que leva muitos programadores (no0bs) na minha opiniao que afirmam claramente "TANTO FAZ UTILIZAR UMA OU A OUTRA FAX O MESMO" :nono: :wallbash: 😁 ? ? :wallbash: por isso se tas a começar nao caias no mesmo erro

por exemplo num menu tens que utilizar o

repeat

  menu

until ( sair);

Link to comment
Share on other sites

thanx 😄 sim estou a começar ams nunca usei o while sabia que era praticamente a mesma coisa, ams como nao sabia as diferenças nk arrisquei usar, agr já sei, tks 😄 mas ainda me falta uma coisa e possivel tipo ter o until e envez de until keypressed; ter o until a acabar parra alguns segundos como fazemos com o delay(tempo); por exemplo, ty

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.