Annelise Postado Maio 19, 2005 Denunciar Share Postado Maio 19, 2005 GALERA , E O SEGUINTE:GRAVO DADOS EM UM TXT, USANDO UMA FUINCAO QUE SEGUE ABAIXO://*FUNCAO CRIA ARQ TXT*//function CriarArquivo(NomeArq,Dados: String):Boolean;var F:TextFile;begin try AssignFile(F,NomeArq); if not FileExists(NomeArq) then ReWrite(F) else Append(F); Result:=True; except Result:=False; end; if Result then begin WriteLn(F,Dados); CloseFile(F); end;end;//*FIM CRIA TXT*//AI CHAMO ESSA FUNCAO DA SEUINTE MANEIRA: //*CRIA ARQUIVO TXT*// NOME_ARQ := 'PACIENTESLOCAL.txt'; CriarArquivo(NOME_ARQ,vaiTXTProcordis); //*FIM CRIA ARQUIVO TXT*//MAS TA DANDO UM ERRO QUE já ME TIROU A PACIENCIA...não TEM NADA DE ERRADO NO CODIGO.....ME AJUDEM POR FAVOR...não AGUENTO MAIS.....O ERRO E ESSE:"nome do projeto" raised excepition class ElnOutError with message 'I/O error 32'.VOU POSTAR O CODIGO TODO, QUEM SABE ASSIM ALGUM PODE ME AJUDAR.DESDE já AGRADEÇO.procedure TFormPrescricao.BitBtnSalvarClick(Sender: TObject);varDiretorio : string;vai_arq : string;contlinha : integer;aux : string;vaiTXTProcordis : String;num_pront : string;NOME_ARQ : string;begin if MessageDlg('DESEJA REALMENTE SALVAR ESTA PRESCRIÇÃO?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then BEGIN cont := 0; vai_arq := ''; MemoGeraPacientesProcordis.Lines.Clear; MemoGeraPacientesProcordis.Lines.Append(EditNProntuario.Text); MemoGeraPacientesProcordis.Lines.Append(EditNomePaciente.Text); MemoGeraPacientesProcordis.Lines.Append(ComboBoxLeito.Text); MemoGeraPacientesProcordis.Lines.Append(ComboBoxNAtendimento.Text); MemoGeraPacientesProcordis.Lines.Append(ComboBoxPrescricaoPadrao.Text); MemoGeraPacientesProcordis.lines.Append(MemoVaiParaPrescricao.Lines.Text); contlinha := MemoGeraPacientesProcordis.Lines.Count; while contlinha <> 0 do begin aux := MemoGeraPacientesProcordis.Lines[cont]; vai_arq := vai_arq + aux +';'; contlinha := contlinha - 1; cont := cont + 1; end; //*CRIA O TXT*// vaiTXTProcordis := ''; vaiTXTProcordis := vai_arq; //*FIM CRIA O TXT*// //*CRIA ARQUIVO TXT*// NOME_ARQ := 'PACIENTESLOCAL.txt'; CriarArquivo(NOME_ARQ,vaiTXTProcordis); //*FIM CRIA ARQUIVO TXT*// SHOWMESSAGE('PRESCRIÇÃO SALVA COM SUCESSO');END;END; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Annelise Postado Maio 19, 2005 Autor Denunciar Share Postado Maio 19, 2005 O "ERRO" E NA LINHA APPEND DA FUNCAO Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kikonanet Postado Maio 19, 2005 Denunciar Share Postado Maio 19, 2005 Olá,Criar arquivo var F: TextFile; begin AssignFile(F,'c:\arq.txt'); Rewrite(F); Writeln(F,Dados); CloseFile(F); end; O erro pode ser porque você não esteja especificando o caminho c:\arq.txtAbs.Kiko Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Annelise Postado Maio 19, 2005 Autor Denunciar Share Postado Maio 19, 2005 OLA....ATE QUE FUNIONOU O CODIGO QUE você ME PASSOU...PAROU DE DAR O ERRO....MAS É O SEGUINTE, ELE GRAVA APENAS O ULTIMO DADO....QUERIA QUE GRAVASSE TODOS...POR EXEMPLO:DADO 1DADO 2DADO 3DADO 4DADO 5//AssignFile(F,'C:\PACIENTESPROCORDIS.txt');Rewrite(F);Writeln(F,vaiTXTProcordis); //VAITXTPROCORDIS -> VARIAVEL QUE RECEBERA OS DADOS A SEREM GRAVADO NO TXTCloseFile(F);// Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kikonanet Postado Maio 19, 2005 Denunciar Share Postado Maio 19, 2005 Olá,você diz q ele substitui o q estava gravado no arquivo antes?Se for isso, primeiro você tem q ler o arquivo, salvar em uma string, concatenar com o q você quer adicionar e por último escrever.Abs.Kiko Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Annelise Postado Maio 19, 2005 Autor Denunciar Share Postado Maio 19, 2005 COMO POSSO FAZER ISSO...ESTOU COMECANDO AGORA NO MUNDO DO DELHPI....SERA QUE você PODE ME AJUDAR? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kikonanet Postado Maio 19, 2005 Denunciar Share Postado Maio 19, 2005 Olá,Dê uma olhada neste exemplo var F: TextFile; Dados, Insere: string; Memo:TMemo; begin // Usa um Memo pra guardar as informaçoes do Arquivo Memo:= TMemo.Create(Self); with Memo do begin Parent := Form1; Visible:=False; end; Memo.Clear; //Lê o Arquivo AssignFile(F,'c:\arq.txt'); Reset(F); while Not Eof(F) do begin Readln(F,Dados); Memo.Lines.Add(Dados); end; CloseFile(F); // Limpa o Arquivo AssignFile(F,'c:\arq.txt'); Rewrite(F); Writeln(F,''); CloseFile(F); // Dado a ser Inserido Insere:=Edit1.Text; Memo.Lines.Text:= Memo.Text + Insere; Dados:=Memo.Text; // Escreve AssignFile(F,'c:\arq.txt'); Rewrite(F); Writeln(F,Dados); CloseFile(F); end; qualquer coisa posta ae.Abs.Kiko Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Annelise
GALERA , E O SEGUINTE:
GRAVO DADOS EM UM TXT, USANDO UMA FUINCAO QUE SEGUE ABAIXO:
//*FUNCAO CRIA ARQ TXT*//
function CriarArquivo(NomeArq,Dados: String):Boolean;
var F:TextFile;
begin
try
AssignFile(F,NomeArq);
if not FileExists(NomeArq) then
ReWrite(F)
else
Append(F);
Result:=True;
except
Result:=False;
end;
if Result then
begin
WriteLn(F,Dados);
CloseFile(F);
end;
end;//*FIM CRIA TXT*//
AI CHAMO ESSA FUNCAO DA SEUINTE MANEIRA:
//*CRIA ARQUIVO TXT*//
NOME_ARQ := 'PACIENTESLOCAL.txt';
CriarArquivo(NOME_ARQ,vaiTXTProcordis);
//*FIM CRIA ARQUIVO TXT*//
MAS TA DANDO UM ERRO QUE já ME TIROU A PACIENCIA...não TEM NADA DE ERRADO NO CODIGO.....ME AJUDEM POR FAVOR...não AGUENTO MAIS.....
O ERRO E ESSE:
"nome do projeto" raised excepition class ElnOutError with message 'I/O error 32'.
VOU POSTAR O CODIGO TODO, QUEM SABE ASSIM ALGUM PODE ME AJUDAR.
DESDE já AGRADEÇO.
procedure TFormPrescricao.BitBtnSalvarClick(Sender: TObject);
var
Diretorio : string;
vai_arq : string;
contlinha : integer;
aux : string;
vaiTXTProcordis : String;
num_pront : string;
NOME_ARQ : string;
begin
if MessageDlg('DESEJA REALMENTE SALVAR ESTA PRESCRIÇÃO?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
BEGIN
cont := 0;
vai_arq := '';
MemoGeraPacientesProcordis.Lines.Clear;
MemoGeraPacientesProcordis.Lines.Append(EditNProntuario.Text);
MemoGeraPacientesProcordis.Lines.Append(EditNomePaciente.Text);
MemoGeraPacientesProcordis.Lines.Append(ComboBoxLeito.Text);
MemoGeraPacientesProcordis.Lines.Append(ComboBoxNAtendimento.Text);
MemoGeraPacientesProcordis.Lines.Append(ComboBoxPrescricaoPadrao.Text);
MemoGeraPacientesProcordis.lines.Append(MemoVaiParaPrescricao.Lines.Text);
contlinha := MemoGeraPacientesProcordis.Lines.Count;
while contlinha <> 0 do
begin
aux := MemoGeraPacientesProcordis.Lines[cont];
vai_arq := vai_arq + aux +';';
contlinha := contlinha - 1;
cont := cont + 1;
end;
//*CRIA O TXT*//
vaiTXTProcordis := '';
vaiTXTProcordis := vai_arq;
//*FIM CRIA O TXT*//
//*CRIA ARQUIVO TXT*//
NOME_ARQ := 'PACIENTESLOCAL.txt';
CriarArquivo(NOME_ARQ,vaiTXTProcordis);
//*FIM CRIA ARQUIVO TXT*//
SHOWMESSAGE('PRESCRIÇÃO SALVA COM SUCESSO');
END;
END;
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.