• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

hRtz

ajuda ascii

5 mensagens neste tópico

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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... :2funny:

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

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  :P

Aqui está um exemplo como fica com os caracteres certos :D

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Thanx pela ajuda, e ja agora aquilo em relação ao until??  que posso em usar mais em conjunto com o until sem ser apenas o keypressed?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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: :cheesygrin: :mad: :rant_01: :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);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

thanx :D 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 :D 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora