>O que eu quero saber, é como se grava e abre com o  APPEND e
>o INPUT. Ah, eu quero q vc me explique certinho, onde deve-se colocar
>PRINT #1, A$...

Resposta 1: Usa-se o APPEND do mesmo modo que o OUTPUT.

Resposta 2:
------
INPUT

Essa explicacao eu vou comecar com um exemplo

OPEN "lucas.txt" FOR INPUT AS #1'Abre o arquivo "lucas.txt" para leitura (OBS.: Se o 
                                'arquivo nao existir, sera dada uma mensagem de erro,
                                'pois nao e' possivel abrir um arquivo se ele nao 
                                'existe.)

LINE INPUT #1, linha$           'Carrega a primeira linha do arquivo. A variavel linha$,
                                'entao, vai conter a primeira linha do arquivo '"lucas.txt"

PRINT linha$                    'Escreve na tela o conteudo da variavel linha$.

LINE INPUT #1, linha$           'Carrega a segunda linha do arquivo. A variavel que vai
                                'conter a segunda linha e' linha$ (de novo!)

PRINT linha$                    'Escreve o conteudo da variavel linha$ (que agora e' a 
                                'segunda linha)

CLOSE #1                        'Fecha o arquivo


OBS.: Voce sabe qual e' a diferenca entre o INPUT e o LINE INPUT? E' que o
INPUT nao aceita virgulas (e alguns outros caracteres), e o LINE INPUT aceita.
Mas, para carregar uma linha no arquivo tambem pode-se usar o INPUT #1.

OBS2.: Cada vez que se usa o INPUT #1/LINE INPUT #1, se carrega a proxima
linha do arquivo. Se a ultima linha carregada foi a 1a., da proxima vez
que voce for usar usar o INPUT #1/LINE INPUT #1, sera carregada a 2a.,
depois a 3a., 4a., 5a....

Como fazer para identificar o fim do arquivo
--------------------------------------------

Quando voce usa o INPUT #1/LINE INPUT #1 para carregar uma linha, quando ja
foram carregadas todas as linhas do arquivo, e' dada uma mensagem de erro
(exemplo: voce usa o INPUT #1/LINE INPUT #1 pela quarta vez quando o arquivo
so tem tres linhas). Para evitar essa mensagem de erro, deve-se verificar
pelo fim-de-arquivo. Para isso, usa-se o EOF (abreviacao de End-Of-File).

Usando o EOF
--------------

Nao sei se voce conhece o WHILE...WEND, mas de qualquer jeito e' uma boa
oportunidade para aprender.

        Usando o WHILE...WEND
        ---------------------

        WHILE, em ingles, significa ENQUANTO.
        O uso do WHILE...WEND e' semelhante ao do DO...LOOP.
        Usa-se assim:

        WHILE condicao
        .
        .
        .
        WEND


        A utilidade e' executar as linhas entre o WHILE e o WEND ENQUANTO a
        condicao for verdadeira.
        No exemplo abaixo, eu estou numerando as linhas apenas para facilitar
        a mencao das mesmas.
        Exemplo:

        1 WHILE i < 40
        2  i = i + 1
        3  PRINT i
        4 WEND

        Esse exemplo executa as linhas 2 e 3 *ENQUANTO* i for menor que 40.

        Entendido?
        -------------------------------------

Voltando ao EOF...

Entao, para carregar uma linha sem dar a mensagem de erro, devemos CARREGAR
A LINHA ENQUANTO O ARQUIVO AINDA TIVER LINHAS PARA CARREGAR. Ora, e' obvio,
so podemos carregar carregar uma linha se ela existir.

Para fazer isso, usamos o WHILE da seguinte maneira:

WHILE NOT EOF(1)                'ENQUANTO o arquivo nao tiver chegado ao fim...
  LINE INPUT #1, texto$         '...Carregue a proxima linha...
  PRINT texto$                  '...E a escreva na tela.
WEND                            'Volta ao inicio

Entao, eis um exemplo de como carregar um arquivo:

CLS
INPUT "Que arquivo deseja abrir? ", ARQ$
OPEN ARQ$ FOR INPUT AS #1
WHILE NOT EOF(1)
LINE INPUT #1, LINHA$
PRINT LINHA$
WEND
CLOSE #1

UFA! Espero que tenha entendido.
No fim do e-mail tem outro exemplo.
---------------------

Resposta 3:
Voce deve colocar o PRINT #1, A$, quando quiser gravar a variavel A$ no
arquivo aberto.

Cordialmente,
        Rodrigo

CLS
INPUT "Arquivo: ", arq$
OPEN arq$ FOR INPUT AS #1
LINE INPUT #1, M$
WHILE NOT EOF(1)
  PRINT M$
  LINE INPUT #1, M$
  I = I + 1: IF I = 23 THEN SLEEP: CLS : I = 0
WEND
CLOSE
END





rod@svn.com.br

1