hRtz Posted October 28, 2006 at 10:38 AM Report Share #60495 Posted October 28, 2006 at 10:38 AM 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 More sharing options...
Cypher Posted October 28, 2006 at 12:38 PM Report Share #60537 Posted October 28, 2006 at 12:38 PM 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 More sharing options...
hRtz Posted October 28, 2006 at 02:49 PM Author Report Share #60562 Posted October 28, 2006 at 02:49 PM 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? Link to comment Share on other sites More sharing options...
Cypher Posted October 28, 2006 at 03:03 PM Report Share #60565 Posted October 28, 2006 at 03:03 PM 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: 😁 ? ? 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 More sharing options...
hRtz Posted October 28, 2006 at 04:51 PM Author Report Share #60586 Posted October 28, 2006 at 04:51 PM 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now