Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
kira911

[Resolvido] Duvida com arquivos em pascal

Recommended Posts

Ola pessoal, to com um probleminha que nao consigo solucionar de jeito nenhum :(

Seguinte preciso fazer um programa que use arquivos file ou text(pra serem gravados no HD). Consigo fazer com que o usuario escreva nesses arquivos. Mas como faço pra ver novamente essas informações no programa ? Nao to conseguindo. Me ajudem por favor. :(

Codigo:


program texto;
uses crt;

var nome:string;
var cadastro:text;

begin
clrscr;
assign(cadastro,'c:\documents and settings\all users\desktop\dados.txt');
rewrite(cadastro);
writeln('Digite seu nome.');
readln(nome);
write(cadastro,nome);
close(cadastro);
readln;
end.

Editado por kira911

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Vou usar seu próprio código para te ajudar...

Observe os comentários..

[color=#0000ff]program[/color] texto[color=#000000];[/color]
[color=#0000ff]uses[/color]
CRT[color=#000000];[/color]

[color=#0000ff]var[/color]
nome [color=#000000]:[/color][color=#0000ff]string[/color][color=#000000];[/color]
[color=#008000]//var {só precisa declarar o var uma vez}[/color]
cadastro [color=#000000]:[/color][color=#0000ff]text[/color][color=#000000];[/color]

[color=#0000ff]BEGIN[/color]
ClrScr[color=#000000];[/color]
[color=#000000]assign[/color][color=#000000]([/color]cadastro[color=#000000],[/color][color=#a31515]'c:\documents and settings[/color][color=#a31515]\a[/color][color=#a31515]ll users\desktop\dados.txt'[/color][color=#000000]);[/color]
[color=#000000]rewrite[/color][color=#000000]([/color]cadastro[color=#000000]);[/color] [color=#008000]//recria o arquivo[/color]
[color=#000000]writeln[/color][color=#000000]([/color][color=#a31515]'Digite seu nome.'[/color][color=#000000]);[/color]
[color=#000000]readln[/color][color=#000000]([/color]nome[color=#000000]);[/color]
[color=#000000]write[/color][color=#000000]([/color]cadastro[color=#000000],[/color]nome[color=#000000]);[/color]
[color=#000000]close[/color][color=#000000]([/color]cadastro[color=#000000]);[/color]
[color=#008000]//readln; //dessa forma só segue com um ENTER[/color]
ReadKey[color=#000000];[/color] [color=#008000]//segue pressionando qualquer tecla (o uso de cada um depende do gosto e necessidade)[/color]

[color=#000000]reset[/color][color=#000000]([/color]cadastro[color=#000000]);[/color] [color=#008000]//abre o arquivo no início[/color]
[color=#000000]readln[/color][color=#000000]([/color]cadastro[color=#000000],[/color]nome[color=#000000]);[/color] [color=#008000]//ler a próxima linha (e já aponta para a próxima linha)[/color]
[color=#000000]writeln[/color][color=#000000]([/color]nome[color=#000000]);[/color]
ReadKey[color=#000000];[/color]
[color=#0000ff]END[/color][color=#000000].[/color]

***

Abaixo um exemplo com outros recursos.. para servir de exemplo:

[color=#0000ff]program[/color] texto[color=#000000];[/color]
[color=#0000ff]uses[/color]
CRT[color=#000000];[/color]
[color=#0000ff]const[/color]
[color=#008000]//endCasdastro = 'c:\documents and settings\all users\desktop\dados.txt';[/color]
endCasdastro [color=#000000]=[/color] [color=#a31515]'D:\Dados.txt'[/color][color=#000000];[/color]
[color=#0000ff]var[/color]
nome [color=#000000]:[/color][color=#0000ff]string[/color][color=#000000];[/color]
arqCadastro [color=#000000]:[/color][color=#0000ff]text[/color][color=#000000];[/color]

[color=#0000ff]BEGIN[/color]
[color=#000000]TextColor[/color][color=#000000]([/color]white[color=#000000]);[/color]
ClrScr[color=#000000];[/color]

[color=#008000]{ABERTURA DO ARQUIVO}[/color]
[color=#000000]assign[/color][color=#000000]([/color]arqCadastro[color=#000000],[/color]endCasdastro[color=#000000]);[/color]
[color=#008000]{$I-}[/color] [color=#008000]{desativa o fechamento caso o comando abaixo der erro}[/color]
[color=#000000]append[/color][color=#000000]([/color]arqCadastro[color=#000000]);[/color] [color=#008000]{abre o arquivo no final (para escrita) - caso o arquivo [/color]
[color=#008000]não exista, o SO enviar* uma mensagem de erro que pose ser obtida atraves do [/color]
[color=#008000]"IOresult}[/color]
[color=#008000]{$I+}[/color] [color=#008000]{reativa o fechamento caso der erro}[/color]
[color=#2b91af]if[/color] IOResult [color=#000000]<>[/color] [color=#000000]0[/color] [color=#2b91af]then[/color] [color=#008000]{se o "IOresult for "0" deu tudo certo, senão...}[/color]
[color=#0000ff]begin[/color] [color=#008000]{se for <> de 0, deu algum erro, provavelmente porque o arquivo não exista ainda}[/color]
writeln[color=#000000];[/color]
[color=#000000]TextColor[/color][color=#000000]([/color]yellow[color=#000000]);[/color]
[color=#000000]writeln[/color][color=#000000]([/color][color=#a31515]'OCORREU ALGUM ERRO NA ABERTURA DO ARQUIVO'[/color][color=#000000]);[/color]
[color=#000000]TextColor[/color][color=#000000]([/color]white[color=#000000]);[/color]
writeln[color=#000000];[/color]
[color=#000000]writeln[/color][color=#000000]([/color][color=#a31515]'Tentando recriar...'[/color][color=#000000]);[/color]
[color=#000000]rewrite[/color][color=#000000]([/color]arqCadastro[color=#000000]);[/color] [color=#008000]{tenta criar e abrir o arquivo}[/color]
writeln[color=#000000];[/color]
[color=#000000]writeln[/color][color=#000000]([/color][color=#a31515]' ARQUIVO CRIADO COM SUCESSO'[/color][color=#000000]);[/color]
writeln[color=#000000];[/color]
ReadKey[color=#000000];[/color]
ClrScr[color=#000000];[/color]

[color=#008000]{OBS.: Os erros podem ser dos mais diveros, como "caminho inválido", "disco protegio",[/color]
[color=#008000] "arquivo somente leitura"... neste caso estamos só "prevendo" o caso do arquivo ainda[/color]
[color=#008000] não existir}[/color]
[color=#0000ff]end[/color][color=#000000];[/color]

[color=#008000]{ADICIONANDO NOVOS NOMES}[/color]
[color=#000000]writeln[/color][color=#000000]([/color][color=#a31515]'Digite seu nome.'[/color][color=#000000]);[/color]
[color=#000000]readln[/color][color=#000000]([/color]nome[color=#000000]);[/color]
[color=#000000]writeln[/color][color=#000000]([/color]arqCadastro[color=#000000],[/color]nome[color=#000000]);[/color]
[color=#000000]close[/color][color=#000000]([/color]arqCadastro[color=#000000]);[/color]
[color=#008000]//readln; //dessa forma só segue com um ENTER[/color]
ReadKey[color=#000000];[/color] [color=#008000]//segue pressionando qualquer tecla (o uso de cada um depende do gosto e necessidade)[/color]

[color=#008000]{LENDO OS NOMES CADASTRADOS}[/color]
[color=#000000]reset[/color][color=#000000]([/color]arqCadastro[color=#000000]);[/color] [color=#008000]//abre o arquivo no início (para leitura) {esse comando também poderia dar erro, mas...}[/color]
writeln[color=#000000];[/color]
[color=#2b91af]while[/color] [color=#0000ff]not[/color] [color=#000000]EOF[/color][color=#000000]([/color]arqCadastro[color=#000000])[/color] [color=#2b91af]do[/color] [color=#008000]{enquanto não chegar ao fim do arquivo}[/color]
[color=#0000ff]begin[/color]
[color=#000000]readln[/color][color=#000000]([/color]arqCadastro[color=#000000],[/color]nome[color=#000000]);[/color] [color=#008000]//ler a próxima linha (e já aponta para a próxima linha)[/color]
[color=#000000]writeln[/color][color=#000000]([/color]nome[color=#000000]);[/color]
[color=#0000ff]end[/color][color=#000000];[/color]
ReadKey[color=#000000];[/color]
[color=#0000ff]END[/color][color=#000000].[/color]

No aguardo

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • FuncionoooU !!!!!!!!

    Cara muito obrigado, agora sim subi á um novo nivel na programação :)

    Nao aguentava mais trabalhar com dados pela memoria RAM !!!!!

    Mais uma vez estilingue atomico valeu mesmo voce é F$@

    Moderadores duvida sancionada.

    Editado por kira911

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Visitante
    Este tópico está impedido de receber novos posts.
    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×