Tiago Correia
Membro
Olá a todos
Tenho uma superclasse ADT constituida por várias classes (Msh, piv, pac, evn). Cada novo paciente implica que seja preenchida a superclasse ADT, ou seja cada paciente tem os seus proprios dados e consequentemente um ADT diferente. contudo quero guardar todos os ADTs num ficheiro binário. O problema é que adicionando um novo paciente o registo ADT do paciente anterior é eliminado. Além disso como tentei colocar os dados ADT do paciente num vector, quando quero lelos ele dá uma erro que é:"java.lang.ClassCastException: java.util.Vector cannot be cast to ADT"
para me melhor compreensão do meu codico, coloqueio em todo em anexos. aqui enconta-se a fração que axo necessário neste momento....
Alguem me pode ajudar?
Agradecia mesmo muito muito....
Muito obrigado pela atenção
Tenho uma superclasse ADT constituida por várias classes (Msh, piv, pac, evn). Cada novo paciente implica que seja preenchida a superclasse ADT, ou seja cada paciente tem os seus proprios dados e consequentemente um ADT diferente. contudo quero guardar todos os ADTs num ficheiro binário. O problema é que adicionando um novo paciente o registo ADT do paciente anterior é eliminado. Além disso como tentei colocar os dados ADT do paciente num vector, quando quero lelos ele dá uma erro que é:"java.lang.ClassCastException: java.util.Vector cannot be cast to ADT"
para me melhor compreensão do meu codico, coloqueio em todo em anexos. aqui enconta-se a fração que axo necessário neste momento....
Alguem me pode ajudar?
Agradecia mesmo muito muito....
Muito obrigado pela atenção
Código:
public class accoes {
(........)
static void apresentardados(ADT a){
geral.limparEcra();
System.out.println("Dados do Paciente");
System.out.println("");
System.out.println("Numero do Paciente: "+a.PAC.id+"");
System.out.println("Data da admissão: "+a.M.AR.dia+"/"+a.M.AR.mes+"/"+a.M.AR.ano+ "as" +a.M.AR.hora+":"+a.M.AR.min+"");
System.out.println("Nome: " +a.PAC.nome+"");
System.out.println("BI: "+a.PAC.bi+"");
System.out.println("Sexo: "+a.PAC.sexo+"");
System.out.println("Local de Nascimento: "+a.PAC.localNascimento+"");
System.out.println("Data de Nascimento: "+a.PAC.nasc.dia+"/"+a.PAC.nasc.mes+"/"+a.PAC.nasc.ano+"");
System.out.println("Morada" +a.PAC.moradaLugar+" " +a.PAC.moradaConcelho+" "+a.PAC.moradaDistrito+"");
System.out.println("Codico Postal: " +a.PAC.codPostal+"");
System.out.println("Contacto");
System.out.println("Telemovel: "+a.PAC.telemovel+" / Telefone: "+a.PAC.telefone+"");
System.out.println("Estado Civil: " +a.PAC.estadoCivil+"");
System.out.println("Codico do evento a realizar: " +a.E.codEvento+"");
System.out.println("Data da consulta a realizar: " +a.E.EC.dia+"/"+a.E.EC.mes+"/"+a.E.EC.ano+" as "+a.E.EC.hora+"/"+a.E.EC.min+"");
System.out.println("Medico da consulta: "+a.P.nomeMedico+" "+a.P.apelidoMedico+"");
System.out.println("Localizacao");
System.out.println("Servico "+a.P.servico+" da unidade "+a.P.unidade+" com o quarto "+a.P.quarto+" e cama "+a.P.cama+"");
}
static void registarPaciente1() {
String ficheiro="HL8.dat";
int id=6;
ADT a = leDadosPaciente(id);
a.PAC.id=id;
Vector<ADT> pacientes = new Vector<ADT>();
try {
pacientes.add(a);
FileOutputStream fos =new FileOutputStream(ficheiro);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(pacientes);
oos.close();
}
catch (Exception e) {
e.printStackTrace();
}
geral.limparEcra();
}
static ADT leDadosPaciente(int id){
MSH msh = MSH.preencheMSH();
Paciente PAC = Paciente.preenchePaciente(id);
EVN evento = EVN.preencheEvento();
PIV piv = PIV.preenchePIV();
ADT a = new ADT(msh, evento, PAC, piv);
return a;
}
static void listarPaciente() {
ADT a;
String ficheiro="HL8.dat";
Vector<ADT> pacientes = new Vector<ADT>();
try {
FileInputStream fis = new FileInputStream(ficheiro);
ObjectInputStream ois = new ObjectInputStream(fis);
ADT f = (ADT) ois.readObject();
while(f != null){
pacientes.addElement(f);
f = (ADT) ois.readObject();
apresentardados(f);
}
ois.close();
}
catch (Exception e) { e.printStackTrace();
}
}