![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как хранить компоненты в БД? [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, сохранять в блоб-поток.
Только зачем?