//EN MI UNIDAD UNI2.H ESTA ESTO
//---------------------------------------------------------------------------
#ifndef Unit2H
#define Unit2H
#include <vcl.h>
#include <stdio.h>
#include <ctype.h>
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
class ITem{
private:
String name;
String descripcion;
public:
ITem();
ITem(String n,String d);
String Getname();
String GetDescripcion();
};
class TNodo{
private:
ITem info;
TNodo *sig;
public:
TNodo(ITem v,TNodo *siguiente=NULL);
friend class TLista;
};
typedef TNodo *pNodo;
class TLista{
private:
pNodo L;
String name;
struct T{
String a;
String b;
};
public:
TLista();
void insertar(ITem v);
void mostrar(TListBox *l);
//archivos
void leer(TListBox *l);
};
//Y EN MI IMPLEMENTACION ES DECIR EN UNIT2.PP ESTA ESTO
#pragma hdrstop
#include "Unit2.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
ITem::ITem(){
name=""; descripcion="";
}
ITem::ITem(String n,String d){
name=n; descripcion=d;
}
String ITem::Getname(){
return name;
}
String ITem::GetDescripcion(){
return descripcion;
}
//---------------------------------------------------------------------------
TNodo::TNodo(ITem v,TNodo *siguiente){
info=v;
sig=siguiente;
}
//---------------------------------------------------------------------------
TLista::TLista(){
L=NULL;
name="";
}
void TLista::insertar(ITem v){
T copia;
FILE *archivo;
pNodo nuevo=new TNodo(v);
nuevo->sig=L;
L=nuevo;
copia.a=v.Getname();
copia.b=v.GetDescripcion();
archivo=fopen("Solman.txt","a");
fwrite(&copia,sizeof(copia),1,archivo);
fclose(archivo);
}
void TLista::mostrar(TListBox *l){
pNodo p;
p=L;
l->Clear();
while(p!=NULL) {
l->Items->Add(p->info.Getname());
p=p->sig;
}
}
void TLista::leer(TListBox *l){
T copia;
FILE *archivo;
l->Clear();
archivo=fopen("Solman.txt","rt");
fseek(archivo,0L,SEEK_SET);
fread(&copia,sizeof(copia),1,archivo);
l->Items->Add(copia.a);
fclose(archivo); <--- aqui sale error
}