Program File_Type1; { Este programa abre um arquivo texto indicado pelo usuario, e comeca a exibir linha a linha deste arquivo na tela, ate chegar ao final do arquivo. ==> Versao melhorada do programa File_Type } Uses crt; Var ArqTst : File; { Usado apenas para testar se o arquivo ja exite no disco } ArqTxt : Text; { Define uma variavel ArqTxt do tipo arquivo texto=string } NomeArq: string; { Nome do arquivo que sera lido do disco } LinhaTxt: string; { Linha de texto lida do arquivo - Max. 255 caracteres } CountLine: integer; Begin clrscr; write('Nome do arquivo: '); { Le o nome do arquivo existente no disco } readln(NomeArq); { Codigo para testar a exitencia do arquivo em disco } {$I-} assign(ArqTst,NomeArq); { Associa o nome do arquivo a variavel ArqTst } FileMode:=0; reset (ArqTst); { Tenta abrir o arquivo } close (ArqTst); {$I+} if (ioresult<>0) { Testa para ver se o arquivo existe ou nao } then begin writeln('>> Erro: Arquivo inexistente!'); writeln('Pressione uma tecla para sair do programa...'); readkey; halt(1); { Aborta a execucao do programa } end; assign(ArqTxt,NomeArq); { Associa o nome do arquivo a variavel ArqTst } reset(ArqTxt); { Abre o arquivo para leitura a partir do inicio } writeln('Arquivo aberto... tecle algo para continuar.'); readkey; clrscr; CountLine:=0; while not(Eof(ArqTxt)) { Testa para ver se ainda nao chegou ao fim } do begin readln(ArqTxt,LinhaTxt); { Le uma linha do arquivo texto em disco } writeln(LinhaTxt); { Escreve na tela } CountLine:=CountLine+1; if CountLine = 23 { Da uma pausa a cada tela cheia } then begin CountLine:=0; writeln; write('==> Pressione uma tecla para continuar...'); readkey; { Espera que o usuario aperte uma tecla } clrscr; end; end; writeln; writeln('==> Fim do arquivo. Pressione uma tecla para terminar...'); readkey; close(ArqTxt); { Fecha o arquivo } end.