IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> База вопросов
сообщение
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Мне нужно сделать тест. Базу вопросов хочу хранить как file of record. Проблема заключается в том, что в тесте должны быть картинки. Хотел сделать как поле записи. Но вот проблема: в файл не записывается ни поле :TImage ни :TPicture ни даже :TBitmap.
Как это можно осуществить?

Сообщение отредактировано: sheka -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
если мне для работы ДБГрид не нужен(таблица на форме)
Хм... Ну, обойдись без него, просто не клади его на форму. Никто не запрещает связывать тот же TDBImage напрямую с TDataSource. Грид - он только для отображения информации.

Цитата
Вот нашел как программно сжать бд.
Ух ты smile.gif "А мужики-то не знают" (С), и по-старинке пользуются:
Uses ComObj; // Добавить если еще нет этого модуля

// ...

function CompactAndRepair(DB: string) : boolean;
var
v: OLEvariant;
begin { CompactAndRepair }
Result := True;
try
v := CreateOLEObject('JRO.JetEngine');
try
//try
v.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DB,
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DB +
'x;Jet OLEDB:Engine type=5');
DeleteFile(DB);
RenameFile(DB + 'x', DB)
finally
v := Unassigned
end; { try }

except
Result := False
end; { try }
end; { CompactAndRepair }

// Вызывать - так:
procedure TForm1.btnCompactDBClick(Sender: TObject);
const sDBPath = 'F:\Programs\Delphi\myProject\base.mdb';
begin
ADOTable1.Close; // Закрываем все открытые таблицы и саму базу...
ADOConnection1.Close;

if CompactAndRepair(sDBPath) then
ShowMessage('Success')
else
ShowMessage('Fault');

ADOConnection1.Open; //Открываем в обратном порядке, сначала базу, потом - таблицы
ADOTable1.Open;
end;
, только для этого надо не устанавливать в Инспекторе Объектов ADOConnection.Connected в True, а делать это при инициализации формы, иначе база будет открыта в монопольном режиме, и сжатие не будет произведено. То же самое касается и ADOTable - они в Design-Time должны быть неактивны, активизировать их надо будет при запуске:
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection1.Open;
ADOTable1.Open;

// Ну, и что там тебе еще надо было...
end;
 К началу страницы 
+ Ответить 

Сообщений в этой теме
sheka   База вопросов   7.02.2010 0:05
volvo   По разному можно. Например, выбросить из головы же…   7.02.2010 0:18
sheka   Мне это надо в Дельфях... Можете набросать пример…   7.02.2010 2:43
volvo   Чего это? У тебя ж файл, который типизированный, н…   7.02.2010 3:38
sheka   Я с базами данных вообще никогда не работал. Слыш…   7.02.2010 4:19
volvo   :blink: А на что ты рассчитывал попасть? На готов…   7.02.2010 6:58
Archon   sheka, база данных - это правильное решение, с ним…   7.02.2010 10:50
sheka   Ну как минимум на пример :) Archon, именно в так…   7.02.2010 18:03
Client   а можно вопрос? :) как организовать фильтрацию дан…   8.02.2010 0:11
volvo   Фильтруй, кто тебе запрещает? procedure TForm1.Bu…   8.02.2010 1:04
Client   спасибо   8.02.2010 1:15
Client   что-то сразу не заметил QuotedStr(s);Что она делае…   9.02.2010 17:07
VolvoGuest   Ничего особенного. Просто преобразует входную стро…   9.02.2010 17:20
Client   хитро... раньше вставлял апостроф с помощью chr(),…   9.02.2010 17:30
sheka   А как узнать индекс выделенной записи в DBGrid? Е…   10.02.2010 4:10
volvo   А можно глупый вопрос? "А зачем?" Нет т…   10.02.2010 4:45
sheka   Например, удалить выделенную запись из базы. Так…   10.02.2010 5:18
volvo   А для этого ни разу не надо знать номер строки... …   10.02.2010 6:17
sheka   Опять столкнулся с проблемой. Точнее с -ами))) У …   11.02.2010 0:33
volvo   :blink: Поле типа Memo (описанное как Memo в Acce…   11.02.2010 0:58
sheka   Я текстовым пользуюсь), чтобы красиво в таблице в…   11.02.2010 5:36
volvo   У меня в Д2009 присутствуют свойства Proportional …   11.02.2010 6:09
sheka   Надо бы вопросы выбирать из БД рандомно. Как это о…   16.02.2010 0:48
Client   ADOTable1.RecNo и ADOTable1.RecordCount - это теку…   16.02.2010 0:54
sheka   это текущая запись и количество записей. Мне надо…   16.02.2010 1:00
volvo   Прекрасно работает и на Win7 тоже. procedure TFo…   16.02.2010 2:21
sheka   http://www.cyberguru.ru/delphi-sources/db-...olzuy…   16.02.2010 2:37
volvo   Хм... Ну, обойдись без него, просто не клади его н…   16.02.2010 4:15
sheka   Почему при перемещении по DataSource информация в …   5.03.2010 1:22
Client   проект не компилится, если закомментировать то не …   5.03.2010 1:39
sheka   проект не компилится, если закомментировать то не…   5.03.2010 1:45
Client   Путь к базе поменял в AdoConnection. procedure Nex…   5.03.2010 2:03
sheka   Забыл видимо))), но проблема не в этом. Комп гл…   5.03.2010 2:09
Client   запустилось... :) хм, если добавить в твой проект …   5.03.2010 2:21
sheka   запустилось... :) хм, если добавить в твой проект…   5.03.2010 2:22
Client   создал заново проект, добавил твою базу, кинул на …   5.03.2010 2:30
sheka   Я думал, что проект мог быть "битым". Та…   5.03.2010 3:01
sheka   volvo, Client, большое спасибо! Программу напи…   16.03.2010 2:14


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.09.2025 5:44
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name