View Full Version : Alinhamento : Pascal
Jammin @ 07-11-2007, 15:26 O obejctivo é aparecer umas frases mas divididas em colunas ou seja neste caso a coluna de CHR mas eu substitui isso por xxx so para testar:
program multi;
uses wincrt;
var x,h:integer;
begin
for x:=1 to 5 do
writeln('xxx');
begin
for h:=1 to 5 do
gotoxy(30,0);
writeln('xxx');
end;
end.
O erro e que aparece:
xxx xxx
xxx
xxx
xxx
xxx
e era suposto aparecer:
xxx xxx
xxx xxx
xxx xxx
xxx xxx
xxx xxx
Qual é o erro pessoal?
Tu fazes writeln em cada ciclo, no segundo ciclo fazes o mesmo..., o que acontece que isso vá sempre passando para baixo.
Se no segundo ciclo fizeres apenas write vais ficar com o texto "sobreposto" pois o gotoxy é fixo, a meu ver deveria variar consoante a posição do for.
Jammin @ 07-11-2007, 18:17 então devo meter um gotoxy(0,0) no primeiro ciclo right?
O obejctivo é aparecer umas frases mas divididas em colunas ou seja neste caso a coluna de CHR mas eu substitui isso por xxx so para testar:
O erro e que aparece:
xxx xxx
xxx
xxx
xxx
xxx
e era suposto aparecer:
xxx xxx
xxx xxx
xxx xxx
xxx xxx
xxx xxx
Qual é o erro pessoal?
então devo meter um gotoxy(0,0) no primeiro ciclo right?
não.
o código correcto devia ser este.
program multi;
uses wincrt;
var x,h:integer;
begin
for x:=1 to 5 do
writeln('xxx');
for h:=1 to 5 do begin
gotoxy(30,h);
writeln('xxx');
end;
end.
percebeste a diferença?
Jammin @ 07-11-2007, 21:42 Sim, mas eu quero o comando CHR e se o meter as letras já não aparecem =/
Sim, mas eu quero o comando CHR e se o meter as letras já não aparecem =/
tao como keres isso exactamente
Jammin @ 08-11-2007, 18:50 É a tabela dos caracteres com os atalhos o stor mandoume organizala por colunas como so cabem 23 linhas
do genero
...
for i:=1 to 23 do
writeln(' ',i,' ',chr(i));
...
ate 255 so que nao aparece os caracteres correspondentes
O que tu queres é:
program chr_table;
uses wincrt;
var x,y:integer;
begin
clrscr();
for x:= 1 to 12 do
for y:= 1 to 22 do
begin
gotoxy((x-1)*8, y); /* Espaço entre colunas: 3 */
writeln(i, ' ', chr(i)); /* Formato: 255 C */
end;
end.
Não procurei por problemas de sintaxe e muito menos testei... já não toco em pascal à pelo menos 6 anos =)
Jammin @ 09-11-2007, 18:15 BRigado pela ajuda mas so aparece 1 carrada de zeros...
So aparecem zeros porque a variavel "i" nem está declarada, como ele disse em cima, não procurou por problemas no código, devias ter visto tu isso.
Jammin @ 10-11-2007, 18:33 Sim mas a verdade e que ainda estou a tentar corrigir o outro codigo o que ainda não consegui pois continua a não me aparecer o caracter correspondente
Jammin @ 10-11-2007, 18:58 Pensei fazer de trás para a frente e já percebi que o raciocinio é esse, mas tenho aqui um erro que estou a olhar a meia hora po pc e não descubro deve ser por tar a queimar
program multi;
uses wincrt;
var x,h:integer;
begin
for x:=1 to 255 do
begin
gotoxy(75,x);
writeln('',x,' ',chr(x));
begin
for h:=23 to 46 do
gotoxy(30,0);
writeln(h,' ',chr(h));
end;
end;
end.
Resultado:
http://img69.imageshack.us/img69/5542/semttulora7.jpg
Eu sei que deve ser algo no ciclo FOR mas não estou a ver o que seja
orgasmics 10-11-2007, 19:08 nao percebi o que querias fazer.. e pascal.. upa upa nao percebo nada disso!
mas.. nao será pelo facto do writeln impor um "\n" no fim da string impondo uma mudança de linha?
cumps
Jammin @ 10-11-2007, 19:09 O stor a mim e a outro mandou-nos arrumar a tabela por termos tido a melhor nota no modulo.. aos outros deixou fazer com o write mas ficava tudo desarrumado...
program multi;
uses wincrt;
var x,h:integer;
begin
for x:=1 to 255 do
begin
gotoxy(75,x);
writeln('',x,' ',chr(x));
begin
for h:=207 to 231 do
gotoxy(68,0);
h:=x-48;
writeln(h,' ',chr(h));
end;
end;
end.
Assim ja ta tudo bem excepto escrever as 23 linhas na coluna ao lado começa 207 e depois nada ou seja continua igual.
|
|