# Ajuda Ponteiros

## Recommended Posts

Olá !

Será que podiam ajudar a perceber o que é que eu estou a fazer mal??

```Program HelderHugo;
USES crt, dos;

Type ponteiro = ^atletas;

time = record
horas, minutos, segundos, milesimos, anos, meses, dias, semanas: word;
end;

atletas = record
nome: string[20];
sexo: string[9];
dorsal:        integer;
tempo: time;
next: ponteiro;
end;

VAR
NovoReg ,Inicio, ap, aux:                          ponteiro;
sairam:                                            boolean;
resp:                                              char;
pos, ramdom_dorsal, op, i:                         integer;
DiaSemana:                                         string;
tam_n, tam_i, tam_s, tam_na:                       string;
hora, min, seg, mil, ano, mes, dia, semana:        word;
//***Arrays***
ja_sairam: array[1..100] of integer;
restricoes: array[1..45] of char;
restricoesnumero: array[1..89] of char;

//*********************************//
//*********************************//
Var k, l: integer;
Begin
gotoxy(5,12);
write('CLASSIFICAÇÃO');

For k:=4 to 18 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(3,10);
write(#201);

gotoxy(19,10);
write(#187);

gotoxy(3,14);
write(#200);

gotoxy(19,14);
write(#188);

gotoxy(19,12);
write(#204);

gotoxy(20,12);
write(#205);

gotoxy(21,12);
write(#205);

//***********************************************************************//

gotoxy(24,12);
write('DORSAL');

For k:=23 to 30 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(22,l);
write(#186);
End;
End;

For k:=23 to 30 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(31,l);
write(#186);
End;
End;

gotoxy(22,10);
write(#201);

gotoxy(31,10);
write(#187);

gotoxy(22,14);
write(#200);

gotoxy(31,14);
write(#188);

gotoxy(22,12);
write(#185);

gotoxy(31,12);
write(#204);

gotoxy(32,12);
write(#205);

gotoxy(33,12);
write(#205);

//***********************************************************************//

gotoxy(43,12);
write('NOME');

For k:=35 to 55 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(34,l);
write(#186);
End;
End;

For k:=35 to 55 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(56,l);
write(#186);
End;
End;

gotoxy(34,10);
write(#201);

gotoxy(56,10);
write(#187);

gotoxy(34,14);
write(#200);

gotoxy(56,14);
write(#188);

gotoxy(34,12);
write(#185);

gotoxy(56,12);
write(#204);

gotoxy(57,12);
write(#205);

gotoxy(58,12);
write(#205);

//***********************************************************************//

gotoxy(61,12);

For k:=60 to 66 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(59,l);
write(#186);
End;
End;

For k:=60 to 66 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(67,l);
write(#186);
End;
End;

gotoxy(59,10);
write(#201);

gotoxy(67,10);
write(#187);

gotoxy(59,14);
write(#200);

gotoxy(67,14);
write(#188);

gotoxy(59,12);
write(#185);

gotoxy(67,12);
write(#204);

gotoxy(68,12);
write(#205);

gotoxy(69,12);
write(#205);

//***********************************************************************//

gotoxy(74,12);
write('SEXO');

For k:=71 to 81 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(70,l);
write(#186);
End;
End;

For k:=71 to 81 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(82,l);
write(#186);
End;
End;

gotoxy(70,10);
write(#201);

gotoxy(82,10);
write(#187);

gotoxy(70,14);
write(#200);

gotoxy(82,14);
write(#188);

gotoxy(70,12);
write(#185);

gotoxy(82,12);
write(#204);

gotoxy(83,12);
write(#205);

gotoxy(84,12);
write(#205);

//***********************************************************************//

gotoxy(88,12);

For k:=86 to 103 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(85,l);
write(#186);
End;
End;

For k:=86 to 103 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(104,l);
write(#186);
End;
End;

gotoxy(85,10);
write(#201);

gotoxy(104,10);
write(#187);

gotoxy(85,14);
write(#200);

gotoxy(104,14);
write(#188);

gotoxy(85,12);
write(#185);

gotoxy(104,12);
write(#204);

gotoxy(105,12);
write(#205);

gotoxy(106,12);
write(#205);

//***********************************************************************//

//*********************** Quadros da Hora e Data ************************//

gotoxy(117,12);
write('HORA/DATA');

For k:=108 to 135 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(107,l);
write(#186);
End;
End;

For k:=108 to 135 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(136,l);
write(#186);
End;
End;

gotoxy(107,10);
write(#201);

gotoxy(136,10);
write(#187);

gotoxy(107,14);
write(#200);

gotoxy(136,14);
write(#188);

gotoxy(107,12);
write(#185);

//***********************************************************************//

For k:=20 to 113 do
Begin
gotoxy(k,3);
write(#205);
For l:= 4 to 6 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=20 to 113 do
Begin
gotoxy(k,7);
write(#205);
For l:= 4 to 6 do
Begin
gotoxy(114,l);
write(#186);
End;
End;

gotoxy(19,3);
write(#201);

gotoxy(114,3);
write(#187);

gotoxy(19,7);
write(#200);

gotoxy(114,7);
write(#188);

gotoxy(11,5);
write(#201);

gotoxy(19,5);
write(#185);

gotoxy(11,10);
write(#202);

For k:=12 to 18 do
Begin
gotoxy(k,5);
write(#205);
For l:= 6 to 9 do
Begin
gotoxy(11,l);
write(#186);
End;
End;

gotoxy(114,5);
write(#204);

gotoxy(121,5);
write(#187);

gotoxy(121,10);
write(#202);

For k:=115 to 120 do
Begin
gotoxy(k,5);
write(#205);
For l:= 6 to 9 do
Begin
gotoxy(121,l);
write(#186);
End;
End;
End;

//*********************************//
//*********************************//
Var l, k: integer;
Begin
clrscr;
ap := Inicio;
i := 1;
Repeat
gotoxy(5,6*i+12);
write(i,''+ char(#166) +' Lugar');
For k:=4 to 18 do
Begin
gotoxy(k,6*i+10);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,6*i+14);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(3,6*i+10);
write(#201);

gotoxy(19,6*i+10);
write(#187);

gotoxy(3,6*i+14);
write(#200);

gotoxy(19,6*i+14);
write(#188);

gotoxy(19,6*i+12);
write(#204);

gotoxy(20,6*i+12);
write(#205);

gotoxy(21,6*i+12);
write(#205);

gotoxy(25,6*i+12);
write(ap^.dorsal);

For k:=23 to 30 do
Begin
gotoxy(k,6*i+10);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(22,l);
write(#186);
End;
End;

For k:=23 to 30 do
Begin
gotoxy(k,6*i+14);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(31,l);
write(#186);
End;
End;

gotoxy(22,6*i+10);
write(#201);

gotoxy(31,6*i+10);
write(#187);

gotoxy(22,6*i+14);
write(#200);

gotoxy(31,6*i+14);
write(#188);

gotoxy(22,6*i+12);
write(#185);

gotoxy(22,6*i+12);
write(#185);

gotoxy(31,6*i+12);
write(#204);

gotoxy(32,6*i+12);
write(#205);

gotoxy(33,6*i+12);
write(#205);

gotoxy(36,6*i+12);
write(ap^.nome);

For k:=35 to 55 do
Begin
gotoxy(k,6*i+10);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(34,l);
write(#186);
End;
End;

For k:=35 to 55 do
Begin
gotoxy(k,6*i+14);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(56,l);
write(#186);
End;
End;

gotoxy(34,6*i+10);
write(#201);

gotoxy(56,6*i+10);
write(#187);

gotoxy(34,6*i+14);
write(#200);

gotoxy(56,6*i+14);
write(#188);

gotoxy(34,6*i+12);
write(#185);

gotoxy(56,6*i+12);
write(#204);

gotoxy(57,6*i+12);
write(#205);

gotoxy(58,6*i+12);
write(#205);

gotoxy(61,6*i+12);

For k:=60 to 66 do
Begin
gotoxy(k,6*i+10);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(59,l);
write(#186);
End;
End;

For k:=60 to 66 do
Begin
gotoxy(k,6*i+14);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(67,l);
write(#186);
End;
End;

gotoxy(59,6*i+10);
write(#201);

gotoxy(67,6*i+10);
write(#187);

gotoxy(59,6*i+14);
write(#200);

gotoxy(67,6*i+14);
write(#188);

gotoxy(59,6*i+12);
write(#185);

gotoxy(67,6*i+12);
write(#204);

gotoxy(68,6*i+12);
write(#205);

gotoxy(69,6*i+12);
write(#205);

gotoxy(72,6*i+12);
write(ap^.sexo);

For k:=71 to 81 do
Begin
gotoxy(k,6*i+10);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(70,l);
write(#186);
End;
End;

For k:=71 to 81 do
Begin
gotoxy(k,6*i+14);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(82,l);
write(#186);
End;
End;

gotoxy(70,6*i+10);
write(#201);

gotoxy(82,6*i+10);
write(#187);

gotoxy(70,6*i+14);
write(#200);

gotoxy(82,6*i+14);
write(#188);

gotoxy(70,6*i+12);
write(#185);

gotoxy(82,6*i+12);
write(#204);

gotoxy(83,6*i+12);
write(#205);

gotoxy(84,6*i+12);
write(#205);

gotoxy(87,6*i+12);

For k:=86 to 103 do
Begin
gotoxy(k,6*i+10);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(85,l);
write(#186);
End;
End;

For k:=86 to 103 do
Begin
gotoxy(k,6*i+14);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(104,l);
write(#186);
End;
End;

gotoxy(85,6*i+10);
write(#201);

gotoxy(104,6*i+10);
write(#187);

gotoxy(85,6*i+14);
write(#200);

gotoxy(104,6*i+14);
write(#188);

gotoxy(85,6*i+12);
write(#185);

gotoxy(104,6*i+12);
write(#204);

gotoxy(105,6*i+12);
write(#205);

gotoxy(106,6*i+12);
write(#205);

gotoxy(109,6*i+12);
write(ap^.tempo.horas,':',ap^.tempo.minutos,':',ap^.tempo.segundos,':',ap^.tempo.milesimos,' --> ',ap^.tempo.dias,'/',ap^.tempo.meses,'/',ap^.tempo.anos);

For k:=108 to 135 do
Begin
gotoxy(k,6*i+10);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(107,l);
write(#186);
End;
End;

For k:=108 to 135 do
Begin
gotoxy(k,6*i+14);
write(#205);
For l:= 6*i+11 to 6*i+13 do
Begin
gotoxy(136,l);
write(#186);
End;
End;

gotoxy(107,6*i+10);
write(#201);

gotoxy(136,6*i+10);
write(#187);

gotoxy(107,6*i+14);
write(#200);

gotoxy(136,6*i+14);
write(#188);

gotoxy(107,6*i+12);
write(#185);

inc(ap,1);
i := i + 1;
Until (i-1 = pos);
End;

//*********************************//
//*********************************//
Var delete: integer;
Begin

gotoxy(40,5);
write('Digite o numero do dorsal do atleta que deseja eliminar: ');

ap := NovoReg;

for i := 1 to pos do
begin
if ap^.dorsal = delete
then
begin
NovoReg := NovoReg^.next;
dispose(ap);
end
else
begin
while ap <> NIL do
begin
if ap^.dorsal = delete then
begin
aux^.next := ap^.next;
dispose(ap);
end
else
begin
aux := ap;
ap := ap^.next;
end;
end;
end;
end;

End;

//*********************************//
//*********************************//
VAR k, l: integer;
Begin
clrscr;
For k:=24 to 74 do
Begin
gotoxy(k,4);
write(#205);
For l:= 5 to 7 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,8);
write(#205);
For l:= 5 to 7 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,4);
write(#201);

gotoxy(75,4);
write(#187);

gotoxy(23,8);
write(#200);

gotoxy(75,8);
write(#188);

gotoxy(23,6);
write(#185);

For k:=12 to 22 do
Begin
gotoxy(k,6);
write(#205);
For l:= 7 to 9 do
Begin
gotoxy(11,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(11,6);
write(#201);

gotoxy(11,10);
write(#202);

gotoxy(3,10);
write(#201);

gotoxy(3,14);
write(#200);

gotoxy(19,10);
write(#187);

gotoxy(19,14);
write(#188);

For k:=4 to 18 do
Begin
gotoxy(k,16);
write(#205);
For l:= 17 to 19 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,20);
write(#205);
For l:= 17 to 19 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(3,16);
write(#201);

gotoxy(3,20);
write(#200);

gotoxy(19,16);
write(#187);

gotoxy(19,20);
write(#188);

For k:=4 to 18 do
Begin
gotoxy(k,22);
write(#205);
For l:= 23 to 25 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,26);
write(#205);
For l:= 23 to 25 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(3,22);
write(#201);

gotoxy(3,26);
write(#200);

gotoxy(19,22);
write(#187);

gotoxy(19,26);
write(#188);

For k:=4 to 18 do
Begin
gotoxy(k,28);
write(#205);
For l:= 29 to 31 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,32);
write(#205);
For l:= 29 to 31 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(3,28);
write(#201);

gotoxy(3,32);
write(#200);

gotoxy(19,28);
write(#187);

gotoxy(19,32);
write(#188);

For k:=4 to 18 do
Begin
gotoxy(k,34);
write(#205);
For l:= 35 to 37 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,38);
write(#205);
For l:= 35 to 37 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(3,34);
write(#201);

gotoxy(3,38);
write(#200);

gotoxy(19,34);
write(#187);

gotoxy(19,38);
write(#188);

For k:=4 to 18 do
Begin
gotoxy(k,40);
write(#205);
For l:= 41 to 43 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,44);
write(#205);
For l:= 41 to 43 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(3,40);
write(#201);

gotoxy(3,44);
write(#200);

gotoxy(19,40);
write(#187);

gotoxy(19,44);
write(#188);

For k:=24 to 74 do
Begin
gotoxy(k,10);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,14);
write(#205);
For l:= 11 to 13 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,10);
write(#201);

gotoxy(23,14);
write(#200);

gotoxy(75,10);
write(#187);

gotoxy(75,14);
write(#188);

For k:=24 to 74 do
Begin
gotoxy(k,16);
write(#205);
For l:= 17 to 19 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,20);
write(#205);
For l:= 17 to 19 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,16);
write(#201);

gotoxy(23,20);
write(#200);

gotoxy(75,16);
write(#187);

gotoxy(75,20);
write(#188);

For k:=24 to 74 do
Begin
gotoxy(k,22);
write(#205);
For l:= 23 to 25 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,26);
write(#205);
For l:= 23 to 25 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,22);
write(#201);

gotoxy(23,26);
write(#200);

gotoxy(75,22);
write(#187);

gotoxy(75,26);
write(#188);

For k:=24 to 74 do
Begin
gotoxy(k,28);
write(#205);
For l:= 29 to 31 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,32);
write(#205);
For l:= 29 to 31 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,28);
write(#201);

gotoxy(23,32);
write(#200);

gotoxy(75,28);
write(#187);

gotoxy(75,32);
write(#188);

For k:=24 to 74 do
Begin
gotoxy(k,34);
write(#205);
For l:= 35 to 37 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,38);
write(#205);
For l:= 35 to 37 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,34);
write(#201);

gotoxy(23,38);
write(#200);

gotoxy(75,34);
write(#187);

gotoxy(75,38);
write(#188);

For k:=24 to 74 do
Begin
gotoxy(k,40);
write(#205);
For l:= 41 to 43 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,44);
write(#205);
For l:= 41 to 43 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,40);
write(#201);

gotoxy(23,44);
write(#200);

gotoxy(75,40);
write(#187);

gotoxy(75,44);
write(#188);

gotoxy(11,54);
write(#200);

For k:=12 to 22 do
Begin
gotoxy(k,54);
write(#205);
For l:= 51 to 53 do
Begin
gotoxy(11,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,46);
write(#205);
For l:= 47 to 49 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,50);
write(#205);
For l:= 47 to 49 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,46);
write(#201);

gotoxy(23,50);
write(#200);

gotoxy(75,46);
write(#187);

gotoxy(75,50);
write(#188);

For k:=24 to 74 do
Begin
gotoxy(k,52);
write(#205);
For l:= 53 to 55 do
Begin
gotoxy(75,l);
write(#186);
End;
End;

For k:=24 to 74 do
Begin
gotoxy(k,56);
write(#205);
For l:= 53 to 55 do
Begin
gotoxy(23,l);
write(#186);
End;
End;

gotoxy(23,52);
write(#201);

gotoxy(23,56);
write(#200);

gotoxy(75,52);
write(#187);

gotoxy(75,56);
write(#188);

For k:=4 to 18 do
Begin
gotoxy(k,46);
write(#205);
For l:= 47 to 49 do
Begin
gotoxy(19,l);
write(#186);
End;
End;

For k:=4 to 18 do
Begin
gotoxy(k,50);
write(#205);
For l:= 47 to 49 do
Begin
gotoxy(3,l);
write(#186);
End;
End;

gotoxy(23,48);
write(#185);

gotoxy(11,14);
write(#203);

gotoxy(11,15);
write(#186);

gotoxy(11,16);
write(#202);

gotoxy(11,20);
write(#203);

gotoxy(11,21);
write(#186);

gotoxy(11,22);
write(#202);

gotoxy(11,26);
write(#203);

gotoxy(11,27);
write(#186);

gotoxy(11,28);
write(#202);

gotoxy(11,32);
write(#203);

gotoxy(11,33);
write(#186);

gotoxy(11,34);
write(#202);

gotoxy(11,38);
write(#203);

gotoxy(11,39);
write(#186);

gotoxy(11,40);
write(#202);

gotoxy(19,12);
write(#204);

gotoxy(23,12);
write(#185);

gotoxy(11,44);
write(#203);

gotoxy(11,45);
write(#186);

gotoxy(11,46);
write(#202);

gotoxy(3,46);
write(#201);

gotoxy(11,50);
write(#203);

gotoxy(3,50);
write(#200);

gotoxy(19,46);
write(#187);

gotoxy(23,54);
write(#185);

For k:=20 to 22 do
Begin
gotoxy(k,48);
write(#205);
End;

gotoxy(19,50);
write(#188);

gotoxy(19,48);
write(#204);

For k:=20 to 22 do
Begin
gotoxy(k,12);
write(#205);
End;

gotoxy(19,18);
write(#204);

gotoxy(23,18);
write(#185);

For k:=20 to 22 do
Begin
gotoxy(k,18);
write(#205);
End;

gotoxy(19,24);
write(#204);

gotoxy(23,24);
write(#185);

For k:=20 to 22 do
Begin
gotoxy(k,24);
write(#205);
End;

gotoxy(19,30);
write(#204);

gotoxy(23,30);
write(#185);

For k:=20 to 22 do
Begin
gotoxy(k,30);
write(#205);
End;

gotoxy(19,36);
write(#204);

gotoxy(23,36);
write(#185);

For k:=20 to 22 do
Begin
gotoxy(k,36);
write(#205);
End;

gotoxy(19,42);
write(#204);

gotoxy(23,42);
write(#185);

For k:=20 to 22 do
Begin
gotoxy(k,42);
write(#205);
End;

//**************** Texto Fixo *****************
gotoxy(9,18);
write('NOME');

gotoxy(9,24);

gotoxy(9,30);
write('SEXO');

gotoxy(5,36);

gotoxy(8,42);
write('DORSAL');

gotoxy(7,48);
write('TEMPO/DATA');
//*********************************************
End;

//*********************************//
//*********PROCEDURE LIMPAR********//
//*********************************//
Procedure limpar;
Begin
gotoxy(25,18);
write('                                                  ');

gotoxy(25,24);
write('                                                  ');

gotoxy(25,30);
write('                                                  ');

gotoxy(25,36);
write('                                                  ');

gotoxy(25,42);
write('                                                  ');

gotoxy(25,48);
write('                                                  ');

gotoxy(25,54);
write('                                                  ');
End;

//*********************************//
//********* VALIDAR O NOME ********//
//*********************************//
Procedure validar_nome (Var tam_name: string[21]);
Var x,i,y:    integer;
Begin
//**** Restrições ****
restricoes[1] := '1';
restricoes[2] := '2';
restricoes[3] := '3';
restricoes[4] := '4';
restricoes[5] := '5';
restricoes[6] := '6';
restricoes[7] := '7';
restricoes[8] := '8';
restricoes[9] := '9';
restricoes[10] := '0';
restricoes[11] := '!';
restricoes[12] := '"';
restricoes[13] := '#';
restricoes[14] := '\$';
restricoes[15] := '%';
restricoes[16] := '&';
restricoes[17] := '/';
restricoes[18] := '(';
restricoes[19] := ')';
restricoes[20] := '=';
restricoes[21] := '?';
restricoes[22] := '»';
restricoes[23] := '«';
restricoes[24] := '\';
restricoes[25] := '|';
restricoes[26] := '+';
restricoes[27] := '*';
restricoes[28] := '-';
restricoes[29] := '_';
restricoes[30] := '.';
restricoes[31] := ':';
restricoes[32] := ',';
restricoes[33] := ';';
restricoes[34] := 'º';
restricoes[35] := 'ª';
restricoes[36] := '<';
restricoes[37] := '>';
restricoes[38] := '@';
restricoes[39] := '£';
restricoes[40] := '§';
restricoes[41] := '€';
restricoes[42] := '{';
restricoes[43] := '[';
restricoes[44] := ']';
restricoes[45] := '}';
//********************

Repeat
x := 0;
For i:=1 to 45 do
Begin
For y:=1 to 20 do
Begin
If ((length(tam_name) > 20) OR (tam_name[y] = restricoes[i]))
Then
Begin
gotoxy(25,18);
write('                                            ');
tam_name := '                                            ';
gotoxy(25,54);
write('Nome + de 20 caracteres ou caracteres inválidos!');
gotoxy(25,18);
x := x + 1;
End;
End;
End;
Until (x = 0);
End;

//*********************************//
//*********************************//
Var x,i,y:    integer;
Begin
//**** Restrições ****
restricoesnumero[1] := 'q';
restricoesnumero[2] := 'Q';
restricoesnumero[3] := 'a';
restricoesnumero[4] := 'A';
restricoesnumero[5] := 'z';
restricoesnumero[6] := 'Z';
restricoesnumero[7] := 'w';
restricoesnumero[8] := 'W';
restricoesnumero[9] := 's';
restricoesnumero[10] := 'S';
restricoesnumero[11] := '!';
restricoesnumero[12] := '"';
restricoesnumero[13] := '#';
restricoesnumero[14] := '\$';
restricoesnumero[15] := '%';
restricoesnumero[16] := '&';
restricoesnumero[17] := '/';
restricoesnumero[18] := '(';
restricoesnumero[19] := ')';
restricoesnumero[20] := '=';
restricoesnumero[21] := '?';
restricoesnumero[22] := '»';
restricoesnumero[23] := '«';
restricoesnumero[24] := '\';
restricoesnumero[25] := '|';
restricoesnumero[26] := '+';
restricoesnumero[27] := '*';
restricoesnumero[28] := '-';
restricoesnumero[29] := '_';
restricoesnumero[30] := '.';
restricoesnumero[31] := ':';
restricoesnumero[32] := ',';
restricoesnumero[33] := ';';
restricoesnumero[34] := 'º';
restricoesnumero[35] := 'ª';
restricoesnumero[36] := '<';
restricoesnumero[37] := '>';
restricoesnumero[38] := '@';
restricoesnumero[39] := '£';
restricoesnumero[40] := '§';
restricoesnumero[41] := '€';
restricoesnumero[42] := '{';
restricoesnumero[43] := '[';
restricoesnumero[44] := ']';
restricoesnumero[45] := '}';
restricoesnumero[46] := 'x';
restricoesnumero[47] := 'X';
restricoesnumero[48] := 'e';
restricoesnumero[49] := 'E';
restricoesnumero[50] := 'd';
restricoesnumero[51] := 'D';
restricoesnumero[52] := 'c';
restricoesnumero[53] := 'C';
restricoesnumero[54] := 'r';
restricoesnumero[55] := 'R';
restricoesnumero[56] := 'f';
restricoesnumero[57] := 'F';
restricoesnumero[58] := 'v';
restricoesnumero[59] := 'V';
restricoesnumero[60] := 't';
restricoesnumero[61] := 'T';
restricoesnumero[62] := 'g';
restricoesnumero[63] := 'G';
restricoesnumero[64] := 'b';
restricoesnumero[65] := 'B';
restricoesnumero[66] := 'y';
restricoesnumero[67] := 'Y';
restricoesnumero[68] := 'h';
restricoesnumero[69] := 'H';
restricoesnumero[70] := 'n';
restricoesnumero[71] := 'N';
restricoesnumero[72] := 'u';
restricoesnumero[73] := 'U';
restricoesnumero[74] := 'j';
restricoesnumero[75] := 'J';
restricoesnumero[76] := 'm';
restricoesnumero[77] := 'M';
restricoesnumero[78] := 'i';
restricoesnumero[79] := 'I';
restricoesnumero[80] := 'k';
restricoesnumero[81] := 'K';
restricoesnumero[82] := 'o';
restricoesnumero[83] := 'O';
restricoesnumero[84] := 'l';
restricoesnumero[85] := 'L';
restricoesnumero[86] := 'p';
restricoesnumero[87] := 'P';
restricoesnumero[88] := 'ç';
restricoesnumero[89] := 'Ç';
//********************

Repeat
x := 0;
For i:=1 to 89 do
Begin
For y:=1 to 3 do
Begin
Then
Begin
gotoxy(25,24);
write('                                            ');
gotoxy(25,54);
write('Inserir apenas números!');
gotoxy(25,24);
x := x + 1;
End;
End;
End;
Until (x = 0);
End;

//*********************************//
//********* VALIDAR O SEXO ********//
//*********************************//
Procedure validar_sexo (Var tam_sexo: string[10]);
Var x,i,y:    integer;
Begin
//**** Restrições ****
restricoes[1] := '1';
restricoes[2] := '2';
restricoes[3] := '3';
restricoes[4] := '4';
restricoes[5] := '5';
restricoes[6] := '6';
restricoes[7] := '7';
restricoes[8] := '8';
restricoes[9] := '9';
restricoes[10] := '0';
restricoes[11] := '!';
restricoes[12] := '"';
restricoes[13] := '#';
restricoes[14] := '\$';
restricoes[15] := '%';
restricoes[16] := '&';
restricoes[17] := '/';
restricoes[18] := '(';
restricoes[19] := ')';
restricoes[20] := '=';
restricoes[21] := '?';
restricoes[22] := '»';
restricoes[23] := '«';
restricoes[24] := '\';
restricoes[25] := '|';
restricoes[26] := '+';
restricoes[27] := '*';
restricoes[28] := '-';
restricoes[29] := '_';
restricoes[30] := '.';
restricoes[31] := ':';
restricoes[32] := ',';
restricoes[33] := ';';
restricoes[34] := 'º';
restricoes[35] := 'ª';
restricoes[36] := '<';
restricoes[37] := '>';
restricoes[38] := '@';
restricoes[39] := '£';
restricoes[40] := '§';
restricoes[41] := '€';
restricoes[42] := '{';
restricoes[43] := '[';
restricoes[44] := ']';
restricoes[45] := '}';
//********************

Repeat
x := 0;
For i:=1 to 45 do
Begin
For y:=1 to 20 do
Begin
If ((length(tam_sexo) > 9) OR (tam_sexo[y] = restricoes[i]))
Then
Begin
gotoxy(25,30);
write('                                            ');
tam_sexo := '                                            ';
gotoxy(25,54);
write('Apenas Letras!');
gotoxy(25,30);
x := x + 1;
End;
End;
End;
Until (x = 0);
End;

//*********************************//
//*********************************//
Var x,i,y:    integer;
Begin
//**** Restrições ****
restricoes[1] := '1';
restricoes[2] := '2';
restricoes[3] := '3';
restricoes[4] := '4';
restricoes[5] := '5';
restricoes[6] := '6';
restricoes[7] := '7';
restricoes[8] := '8';
restricoes[9] := '9';
restricoes[10] := '0';
restricoes[11] := '!';
restricoes[12] := '"';
restricoes[13] := '#';
restricoes[14] := '\$';
restricoes[15] := '%';
restricoes[16] := '&';
restricoes[17] := '/';
restricoes[18] := '(';
restricoes[19] := ')';
restricoes[20] := '=';
restricoes[21] := '?';
restricoes[22] := '»';
restricoes[23] := '«';
restricoes[24] := '\';
restricoes[25] := '|';
restricoes[26] := '+';
restricoes[27] := '*';
restricoes[28] := '-';
restricoes[29] := '_';
restricoes[30] := '.';
restricoes[31] := ':';
restricoes[32] := ',';
restricoes[33] := ';';
restricoes[34] := 'º';
restricoes[35] := 'ª';
restricoes[36] := '<';
restricoes[37] := '>';
restricoes[38] := '@';
restricoes[39] := '£';
restricoes[40] := '§';
restricoes[41] := '€';
restricoes[42] := '{';
restricoes[43] := '[';
restricoes[44] := ']';
restricoes[45] := '}';
//********************

Repeat
x := 0;
For i:=1 to 45 do
Begin
For y:=1 to 20 do
Begin
Then
Begin
gotoxy(25,36);
write('                                            ');
gotoxy(25,54);
write('Apenas letras!');
gotoxy(25,36);
x := x + 1;
End;
End;
End;
Until (x = 0);
End;

//*********************************//
//*********************************//
Procedure inserir_info;
VAR
z, num_x: integer;
Begin
pos:=0;         //Começar variável "pos" a 0
z:=1;           //Começar variável "z" a 1
num_x:=0;       //Começar variável "num_x" a 0

New(NovoReg);

Repeat
//**** Atribuir hora e data do sistema aos ponteiros ****
GetTime(hora,min,seg,mil);
GetDate(ano,mes,dia,semana);

NovoReg^.tempo.horas := hora;
NovoReg^.tempo.minutos := min;
NovoReg^.tempo.segundos := seg;
NovoReg^.tempo.milesimos := mil;
NovoReg^.tempo.anos := ano;
NovoReg^.tempo.meses := mes;
NovoReg^.tempo.dias := dia;
NovoReg^.tempo.semanas := semana;
//*******************************************************

gotoxy(6,12);
write(pos+1,''+ char(#166) +' POSI'+ char(#128) + char(#199) +'O');

gotoxy(25,12);
write('Registo do atleta que chegou na ',pos+1,''+ char(#166) +' Posi'+ char(#135) + char(#198) +'o!');

//Ler Nome
gotoxy(25,18);

//***** Validar o nome *****
tam_n := NovoReg^.nome;
validar_nome(tam_n);

gotoxy(25,54);
write('                                                ');

NovoReg^.nome := tam_n;
//**************************

gotoxy(25,24);

gotoxy(25,54);
write('                                                ');

//***************************

//Ler Sexo
gotoxy(25,30);

//***** Validar o sexo *****
tam_s := NovoReg^.sexo;
validar_sexo(tam_s);

gotoxy(25,54);
write('                                                ');

NovoReg^.sexo := tam_s;
//**************************

gotoxy(25,36);

gotoxy(25,54);
write('                                                ');

//*******************************

//****************** Random do Dorsal ******************
sairam := true;

While sairam do
Begin
Randomize;
ramdom_dorsal:=Random(8999)+1000;
sairam := false;

For z:=1 to num_x do
Begin
If ramdom_dorsal = ja_sairam[z]
Then sairam := true;
End;
End;

inc(num_x);
ja_sairam[num_x]:=ramdom_dorsal;
NovoReg^.dorsal:=ja_sairam[num_x];

gotoxy(25,42);
write(NovoReg^.dorsal);
//******************************************************

//**************** Hora do Sistema *********************
Case NovoReg^.tempo.semanas of
0: DiaSemana := 'Domingo';
1: DiaSemana := 'Segunda-Feira';
2: DiaSemana := 'Ter'+ char(#135) +'a-Feira';
3: DiaSemana := 'Quarta-Feira';
4: DiaSemana := 'Quinta-Feira';
5: DiaSemana := 'Sexta-Feira';
6: DiaSemana := 'S'+ char(#160) +'bado';
End;

gotoxy(25,48);
write(NovoReg^.tempo.horas,':',NovoReg^.tempo.minutos,':',NovoReg^.tempo.segundos,':',NovoReg^.tempo.milesimos,' --> ',NovoReg^.tempo.dias,'/',NovoReg^.tempo.meses,'/',NovoReg^.tempo.anos,' --> ',DiaSemana);
//*******************************************************

//***** Perguntar se quer introduzir novo registo *******
gotoxy(25, 54);
write('Deseja inserir um novo registo? (S/N)');
//*******************************************************

If (Inicio = nil)
Then
Begin
Inicio := NovoReg;
NovoReg^.next := nil;
End
Else
Begin
ap := Inicio;

While (ap^.next <> nil) do
Begin
ap := ap^.next;
End;

ap^.next := NovoReg;
NovoReg^.next := nil;
End;

pos := pos + 1;
Inc(NovoReg,1);
limpar;

Until ((resp = 'N') or (resp = 'n'));
End;

//*********************************//
//*********************************//

//*********************************//
//*********************************//
Begin
Repeat
clrscr;

write('Opção:');

Case op of
2: begin          //Chama procedure mostrar
end;
End;

Until (op = 8);
End;

//*********************************//
//*******PROGRAMA PRINCIPAL********//
//*********************************//

BEGIN
END.```

##### Share on other sites

Antes de mais, onde está a ocorrer o erro? É na compilação? É na execução?

Knowledge is free!

##### Share on other sites

É na execução ... eu não compreendo o que se está a passar, ele não apresenta erros nenhuns na compilação.

Mas depois na execução não compreendo o que se passa.

Desculpa pela falta de informação.

##### Share on other sites

Exactamente o que se passa na execução?

Knowledge is free!

##### Share on other sites

Estou um bocado (muito) enferrujado com ponteiros, mas parece-me que o teu problema pode estar no procedimento inserir_info, mas propriamente, no seguinte código:

```If (Inicio = nil)
Then
Begin
Inicio := NovoReg;
NovoReg^.next := nil;
End
Else
Begin
ap := Inicio;

While (ap^.next <> nil) do
Begin
ap := ap^.next;
End;

ap^.next := NovoReg;
NovoReg^.next := nil;
End;
```

Estás a dizer que o ap^.next é igual a NovoReg, e só depois dizes que o NovoReg^.net é igual a nil.

Deste modo, o ap^.next não chega a ser nil.

o que vai acontecer é que, ao eliminar, ele faz um while ap^.next <> nil, e como esta condição nunca é verificada, e estamos a lidar directamente com a memória (ponteiros), vai haver um crash.

Experimenta mudar este trecho de código pelo seguinte:

```If (Inicio = nil)
Then
Begin
NovoReg^.next := nil;
Inicio := NovoReg;
End
Else
Begin
ap := Inicio;

While (ap^.next <> nil) do
Begin
ap := ap^.next;
End;

NovoReg^.next := nil;
ap^.next := NovoReg;
End;
```

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

Eu testei o que pediste, mas ele continua a dar crash :s

##### Share on other sites

thoga, quando eu vou a abrir a procedure remover ele crasha.

##### Share on other sites

que compilador estás a usar? não consigo que os teus quadros apareçam correctamente, nem com o fpc nem com o delphi... Aliás, nem compila sequer, por causa dos "string[xx]" que tens em baixo...

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

Segundo o Delphi, ele crasha exactamente nesta linha: while ap <> NIL do (dentro do eliminar)

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

Eu estou a utilizar o Dev-pas.

##### Share on other sites

1. O bloco de eliminação

Não estava a compreender bem o que fizeste (mais uma vez, os meus ponteiros estão muito perros  ), pelo que resolvi refazer. Testa com este, que me parece funcionar:

```if Inicio^.dorsal=delete
then begin
Inicio:=nil;
ap:=nil;
end
else begin
aux:=Inicio;
NovoReg:=Inicio;
while (NovoReg<>nil) and (NovoReg^.Dorsal<>Delete) do
begin
aux:=NovoReg;
NovoReg:=NovoReg^.next;
end;
if NovoReg^.dorsal=delete then aux.next:=novoreg.next;
end;
```

(dentro do procedimento de eliminar, depois de ler qual o dorsal a eliminar)

EDIT: Mete em stand-by! Estava aqui a testar, e apaga bem se for o primeiro, mas os outros ainda não! Um momento que já volto...

Agora, com isto, surge outro bug:

Ao mostrar os dados, se não houver nenhum dorsal, há outro crash. Isto deve-se à linha write(ap^.dorsal); no procedimento mostrar_dados; pois não há teste nenhum se ap é nil ou não.

Sugiro que, logo no inicio do mostrar_dados, coloques a linha:

```if ap=nil then exit;
```

Assim, se não houver dados, ele termina logo ao inicio o procedimento, pelo que não chega a escrever nada e claro, nem dar erro...

Testa isso...

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

Dessa maneira o programa continua a crachar na procedure de eliminar :/

##### Share on other sites

Que confusão. O programa aqui nem compila (Free Pascal).

Tentei ver o código mas sinceramente nem sei o que é suposto ele fazer.

Tens demasiadas variáveis globais, tens definição de novos tipos de dados dentro dos cabeçalhos dos procedimentos, e tens uma forma peculiar de atribuir valores às strings `restricoes` e `restricoesnumeros`.

Não sei qual é a pressa que tens neste projecto, mas eu aconselhava-te a tentares separar o código de uma forma mais lógica... procedimentos que lidam com as tuas estruturas numa unit e procedimentos para mostrar dados no ecrã noutra unit. Mais ainda, seria boa ideia utilizares funções nalguns casos (e não procedimentos). Outra boa ideia seria começares com um interface de texto sem a unit `crt`. Quanto menos tralha o código tiver nas fases iniciais, mais simples é de corrigir.

Sei que tens aí uma lista ligada, mas da forma que fizeste o código (onde os procedimentos estão constantemente a ir buscar variáveis globais) torna-se muito difícil saber o que está mal, visto que eu estou a olhar para o procedimento `eliminar` mas não sei quantos mais procedimentos andam a mexer nas variáveis sem eu saber...

EDIT: Parece-me mais um caso do "Síndrome dos ficheiros com milhares de linhas de código".

##### Share on other sites

Sim, eu sei... Tenho de ver melhor aqui onde anda o gato, mas olha, já não vai ser hoje...

Amanhã é feriado, a ver se te consigo ver isso!

Ou então pode ser que o passarito ou o pedro-kun que estão mais batidos com ponteiros possam ver o que se passa...

EDIT: Pedro, parece-me que o problema é mesmo esse...

Quando acaba de inserir dados, a lista ligada está perfeita: Inseri 3 registos e a lista ficou com 3 niveis como é suposto.

Mas assim que entra no procedimento delete, a variavel inicio^.next já só tem lixo, até o proprio texto que ele mandou escrever no ecrã lá aparece...

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

Helder,

vou dar uma vista de olhos nesse teu programa mais logo quando tiver tempo disponivel.

Mas podes-me ajudar... diz- onde encontras erros

1. Insere pelo menos 5 registos.

2. Lista-os.

3. Apaga o 1 registo da lista

4. Lista-os.

5. Apaga o último registo da lista

6. Lista-os.

7. Apaga o registo do meio da lista

8. Lista-os.

Diz-me o que concluiste

##### Share on other sites

Passarito: O programa dá-lhe erro no eliminar, à segunda passagem do ciclo while.

Tanto com o 1º registo como no meio ou no fim, é igual!

Aquilo parece-me que anda lá algo a mexer-lhe nos valores, pois quando ele sai do "inserir" a lista está completa e correcta, mas quando entra no "eliminar", só o primeiro registo (o inicio) é que está correcto, o resto da lista é lixo sem sentido...

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

Isto corre em quê? (que pascal?)

Tentei compilar aquilo mas nem consigo inserir.....

Será que é desta que tenho de instalar o Free Pascal? :nono: :wallbash:

##### Share on other sites

Isto corre em quê? (que pascal?)

Tentei compilar aquilo mas nem consigo inserir.....

Será que é desta que tenho de instalar o Free Pascal? :nono: :wallbash:

Mas ainda estás no TP? Ele foi muito bom... em anos idos.

O FP não é o best-of, contudo é muitíssimo bom e cheio de funcionalidades porreiras. Instala-o!

Knowledge is free!

##### Share on other sites

Sim passarito, instala o FPC que é suficientemente bom para não sentires muito a falta do TP.

Mas no caso deste programa, está em Dev-Pascal.

Das duas uma, ou instalas também o dev-pascal (sem debugger??  😲) ou tiras os limites das strings nos cabeçalhos dos procedimentos (ex. xpto:String[10] - tira o [10])

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

PRONTO... JÁ ESTÁ... 😡

é que afinal aquilo tb é modo DOS!!!  😡

@Thoga, agora que estou a cortar a direirto, diz-me lá qual é o melhor..... sem me fazeres ir à procura do tópico X que o pessoal falou nisso..

O que eu queria era um em modo windows sem muitos "requintes"....

##### Share on other sites
Das duas uma, ou instalas também o dev-pascal (sem debugger??  ) ou tiras os limites das strings nos cabeçalhos dos procedimentos (ex. xpto:String[10] - tira o [10])

Achas que foi só isso que tive de alterar?

este simbolo // não é nada para o BP.. tive de substituir aquilo tudo por { e } ou (* e *)  😡

Além do mais os quadros ou estão mal feitos ou não sei... vou ter de analisar akilo!!!!

##### Share on other sites

PRONTO... JÁ ESTÁ... 😡

é que afinal aquilo tb é modo DOS!!!  😡

@Thoga, agora que estou a cortar a direirto, diz-me lá qual é o melhor..... sem me fazeres ir à procura do tópico X que o pessoal falou nisso..

O que eu queria era um em modo windows sem muitos "requintes"....

Estou a fazer um IDE para o FPC em windows... Se esperares, pode ser que tenhas sorte! heheheh

O // já funciona em FPC, Dev-Pascal, Delphi, etc, etc... Tinha sido mais rapido! lol

Os quadros... Eu apaguei-os todos, fiquei só com o texto! Mas ainda não tive tempo de olhar mais para o programa, desde o primeiro dia que tentei!

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

##### Share on other sites

@passarito, olha a linguagem. Nem com símbolos posso aceitar. No máximo com estrelinhas e só a letra inicial. Mas procura sempre que possível palavras "mais-melhores"

Não te vou encaminhar para outro tópico, mas peço a todos que não falemos aqui disso, se não é um off-topic dos diabos. New topic ou então procura um semelhante e muito recente

@HelderT. Também não consegui compilar. Que compilador (e IDE, já agora) utilizas?

O código também não é lá muito romântico, como diz o meu prof de Matemática

Knowledge is free!

##### Share on other sites

@nuno

@Thoga

e moderaste-me o meu post... mostrava muito melhor o que eu queria dizer e não tinha vogal nenhuma!!!!LOL... mas também te percebo, isto para descambar basta uma ponta solta e um faz sempre um pouco pior que o anterior!!! OK TU é que está perdoado!!!! LOL

##### Share on other sites

@nuno

Pelo sim pelo não, senta-te... Tenho dois projetos em mãos, esse e um outro a sério (trabalho), e este ultimo tenho de o entregar o mais tardar daqui a 15 dias, para ir a aprovação e se aprovado, formação, pois a ideia seria se possível começar a usa-lo no dia 1 de janeiro. E para ajudar, ainda hoje me pediram que incluisse mais funcionalidades (Arghhhh  😲)

Mas para não aumentar o offtopic, vai a este post e segue os passos: http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=424044

### "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

## Create an account

Register a new account

×

• #### Revista PROGRAMAR

• Wiki
• IRC
×
• Create New...