Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как хранить компоненты в БД? [D7, IB6.x, Paradox]


allucard ©   (2007-04-10 15:20:00) 

Добрый день.

Как можно записать компоненты и их данные(TLabel, TButton, TEdit) в Б.Д?

(Запись в файл делать умею).


Desdechado   (2007-04-11 11:55:00) [1]

> чтоб пользователь сам сохранял розмещение обьектов как ему нравится
Для этого реестр существует или ini-файл.
В БД имеет смысл сохранять только в случае перманентного "дрейфа" пользователя между компами. Но тогда возникает опасность противоречия сохраненных настроек и свойств рабочего стола конкретного компа (например, разрешение у моника другое).


Карелин Артем   (2007-04-10 21:47:00) [2]


> MsGuns ©   (10.04.07 21:41) [7]

Вот ты не знаешь что и как юноша конкретно делает, а уже ругаешь.
Не стыдно тебе? А я вот думаю что юноша сообразит что правильно, а что неправильно. Он же не икону из трея в базу пузырит!


MsGuns   (2007-04-10 21:41:00) [3]

Артем, зачем подсказываешь юноше как НЕЛЬЗЯ делать ?
Писать в БД настройки локального пользователя все равно, что использовать троллейбус как такси  ;)


allucard   (2007-04-10 20:01:00) [4]


> Карелин Артем ©   (10.04.07 16:05) [5]

Значительно.
Вери сенькс.


Карелин Артем   (2007-04-10 16:05:00) [5]


> allucard   (10.04.07 15:40) [4]

Представь, что у блоба есть метод LoadFromStream. Ну или на крайний случай вообрази что есть TBlobStream ;)
Чем это облегчит твою работу?


allucard   (2007-04-10 15:40:00) [6]

>jack128 ©   (10.04.07 15:36) [3]

procedure TForm1.FormCreate(Sender: TObject);
var FileStream: TFileStream;
    i: integer;
begin

 if (FileExists('Formstate.dat')) then
    begin
      for i:= 0 to ComponentCount-1 do self.Components[0].Free;
      FileStream := TFileStream.Create('Formstate.dat', fmOpenRead);
      FileStream.ReadComponent(self);
      FileStream.Free;
    end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var FileStream: TFileStream;
begin
FileStream := TFileStream.Create('Formstate.dat', fmCreate);
  FileStream.WriteComponent(self);
  FileStream.Free;
end;

так что-ли?
А как теперь это в поле BLOB впихнуть?


jack128   (2007-04-10 15:36:00) [7]

куда уж прозрачнее то ? Stream.WriteComponent + F1


allucard   (2007-04-10 15:35:00) [8]

>Desdechado ©   (10.04.07 15:21) [1]

Ну, чтоб пользователь сам сохранял розмещение обьектов как ему нравится.
Или есть более прозрачный способ?


Desdechado   (2007-04-10 15:21:00) [9]

Подключиться к БД, создать таблицу с BLOB, сохранять в блоб-поток.

Только зачем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо