Ir para conteúdo
Fórum Script Brasil
  • 0

Ler Txt (Resolvido)


Guest ANONIMO INICIANTE

Pergunta

Guest ANONIMO INICIANTE

GALERA É O SEGUINTE, TENHO QUE LER UM ARQ TXT...SEU LAYOUT É ESTE ABAIXO:

1669275;CARLOS MURILO ROCHA;1;2;MEDIC1;MEDIC2;MEDIC3

1669663;ZELMA MARIA MOREIRA;2;1;MEDIC1;MEDIC2;MEDIC3

1669745;MARCINELE FONSECA GUIMARAES;2;3;MEDIC1;MEDIC2;MEDIC3

1675239;MARIA DOS REIS DA SILVA;1;1;MEDIC1;MEDIC2;MEDIC3

1675303;CLAUDINEY DE ALMEIDA CAMPELO;1;1;MEDIC1;MEDIC2;MEDIC3

alguém PODE ME AJUDAR??

BRIGADIM

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Guest ANONIMO INICIANTE

é o seguinte, vou ler e colocar cada dado em seu campo, EDITS

JÁ os medics vou colocar no mesmo MEMO da seguinte forma.

MEDIC1

MEDIC2

MEDIC3

VALEU

Link para o comentário
Compartilhar em outros sites

  • 0
Guest anonimo iniciante

OLHA COLEGA.....

NUMERO

NOME

NUMERO

NUMERO

SERAO SEMPRE ESTES, MAS OS MEDICS não...SERAO ALEATORIOS.

PODE TER UM COMO PODE TER 50

valeu

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - anonimo -

ate da...mas so em parte.....

quando chega nos medicamentos....COMO FAÇO PRA DAR QUEBRA DE LINHA..

PARA QUE NO MEMO APARECAM ASSIM OS DADOS

MEDIC1

MEDIC2

.

.

.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - ANONIMO -

de uma olhada ..por favor.

AssignFile(ArqTxt,'C:\PROCORDIS.txt');

Reset(ArqTxt);

Achou := False;

while not eof(ArqTxt) do begin

Readln(ArqTxt, Linha);

Codigo := Copy(Linha,1,Pos(';',Linha)-1);//NUM PACIENTE

delete(Linha,1,Pos(';',Linha));

Cliente := Copy(Linha,1,Pos(';',Linha)-1);//NOME PACIENTE

delete(Linha,1,Pos(';',Linha));

Leito := Copy(Linha,1,Pos(';',Linha)-1);//NUM LEITO

delete(Linha,1,Pos(';',Linha));

Atendimento := Copy(Linha,1,Pos(';',Linha)-1);//NUM ATENDIMENTO

delete(Linha,1,Pos(';',Linha));

x := Length(Linha) - Length(Atendimento);

Medicamento := Copy(Linha,Pos(';',Linha)+1,x);

if trim(EditNProntuario.text) = Codigo then

begin

EditNomePaciente.Text := Cliente;

ComboBoxLeito.Text := Leito;

ComboBoxNAtendimento.Text := Atendimento;

MemoVaiParaPrescricao.Lines.Add(Medicamento);

Achou := True;

Exit;

end;

end;

Linha := '';

Closefile(ArqTxt);

if not Achou then

begin

//LE DADOS TXT PIC

AssignFile(ArqTxt,'C:\PACIENTES.txt');

Reset(ArqTxt);

Achou := False;

while not eof(ArqTxt) do

begin

Readln(ArqTxt, Linha);

Codigo := Copy(Linha,1,Pos(';',Linha)-1);// NUM PRONTUARIO

delete(Linha,1,Pos(';',Linha));

Cliente := Copy(Linha,1,Pos(';',Linha)-1);//NOME PACIENTE

delete(Linha,1,Pos(';',Linha));

Atendimento := Copy(Linha,1,Pos(';',Linha)-1);//NUM ATENDIMENTO

x := Length(Linha) - Length(Codigo);

if trim(EditNProntuario.text) = Codigo then

begin

EditNomePaciente.Text := Cliente;

ComboBoxNAtendimento.Text := Atendimento;

Achou := True;

Exit;

end;

end;

Linha := '';

Closefile(ArqTxt);

if not Achou then

begin

EditNomePaciente.Text := '';

ComboBoxNAtendimento.Text := '';

ShowMessage('Prontuário não encontrado!'+#13+'Comece uma nova prescrição para este paciente');

EditNomePaciente.SetFocus;

end;

end;

berigadu

Link para o comentário
Compartilhar em outros sites

  • 0

ve se isso resolve:

procedure TForm1.Button1Click(Sender: TObject);

var

  linha, codigo : string;

  i, x : integer;

  ArqTxt : TextFile;

  achou : boolean;

begin

  AssignFile(ArqTxt,'C:\PROCORDIS.txt');

  Reset(ArqTxt);

  i := 0;

  achou := False;

  while not eof(ArqTxt) do begin

    i := i + 1;

    Readln(ArqTxt,linha);

    Codigo := Copy(Linha,1,Pos(';',Linha)-1);

    x := Length(Linha) - Length(Codigo);

    if Trim(EditNProntuario.Text) = Codigo then begin

       achou := True;

       Delete(linha,1,Pos(';',linha));

       EditNomePaciente.Text:= Copy(linha,1,pos(';',linha)-1);

       Delete(linha,1,Pos(';',linha));

       ComboBoxLeito.Text := Copy(linha,1,pos(';',linha)-1);

       Delete(linha,1,Pos(';',linha));

       ComboBoxNAtendimento.Text := Copy(linha,1,pos(';',linha)-1);

       Delete(linha,1,Pos(';',linha));

       MemoVaiParaPrescricao.Clear;

       while Pos(';',linha) > 0 do begin

          MemoVaiParaPrescricao.Lines.Add(Copy(linha,1,pos(';',linha)-1));

          Delete(linha,1,Pos(';',linha));

       end;

      MemoVaiParaPrescricao.Lines.Add(linha);

       Break;

    end;

  end;

  Closefile(ArqTxt);

  if not Achou then begin

     EditNomePaciente.Text := '';

     ComboBoxLeito.Text := '';

     ComboBoxNAtendimento.Text := '';

     MemoVaiParaPrescricao.Clear;

     ShowMessage('Prontuário não encontrado!'+#13+'Comece uma nova prescrição para este paciente');

     EditNProntuario.SetFocus;

  end;

end;

Abs. Progr'amador.

wink.gif

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...