немного в коде
предположим есть класс TDataStore
имеющий следующую структуру
- Код: Выделить всё
- TDataStore= class
 private
 Data:string;
 public
 constructor Create;
 destructor Destroy;
 SQL: string;
 DataSet:TsdfDataset;
 procedure FillDataset;
 Action: integer; //enum of Select,Insert,Update,Delete
 end;
Далее есть класс например TPeople наследник TDataStore
- Код: Выделить всё
- TDataStore= class
 private
 DataForDataSet:string;
 public
 constructor Create(class_description:string); override;
 destructor Destroy;
 SQL: string;
 DataSet:TsdfDataset;
 procedure FillDataset;
 Action: integer; //enum of ormSelect,ormInsert,ormUpdate,ormDelete
 //////// от TPeople
 id: integer;
 name:string;
 bdate:datetime;
 price:float;
 end;
А теперь суть вопроса. Так как я не в зуб ногой в lazRTTI (да и в делфовом не очень) то что хотелось бы увидеть.
Есть некоторый структурированный текстовый файл в котором содержатся поля и их значения а также данные для датасета (DataSet) в DataForDataSet.
Создать из этого файла класс с необходимыми полями, и с случае если есть данные для датасета заполнить его. И наоборот из имеющегося класса создать текстовый файл из которого его можно было бы воссоздать исходный класс. Сами данные передаются по сети (транспорт есть)
как бы хотелось это видеть
- Код: Выделить всё
- ...
 TPeople = class(TDataStore)
 end;
 ....
 procedure Button1Click(Sender:TObject);
 var People:TPeople;
 People2:TPeople;
 DataClassAsText:string;
 begin
 //это у работа с insert update delete
 DataClassAsText:='какой-то текст'
 People := TPeople.Create(DataClassAsText);
 People.name := EditName.text; // вот пока не обматерили замечу что сам знаю что не так все просто, но можно же придумать схему через функцию
 People.bdate:=EditBdate.text;
 People.price:=SpinEditPrice.text;
 People.Action:=ormInsert;
 // тут будет Select
 DataClassAsText:='какой-то текст содержащий правила для создания полей(какие они заранее известно)';
 People := TPeople.Create(DataClassAsText);
 EditName.text:=People.name;
 EditBdate.text:=People.bdate;
 Peopleю.SQL := 'select * from lalalal'; // а поля пойдут как Where cause
 ///или датасет
 People.FillDataset;
 DS.DataSet := People.DataSet;
 People.DataSet.Active:=True;
 end;
Надеюсь описал более менее понятно.
Если кто готов взяться за написание подобной вещи, то пишите в ЛС сколько по времени и стоимости. Лимит бюджета обсуждаем так что все зависит от ВАС
Надеюсь на сотрудничество
PS примеры писал на ходу из головы, поэтому прошу не судить строго если найдете мелкие синтаксические ошибки

