Kuks |
Отправлено: 22.06.2006, 12:36 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
Здравствуйте Всем!!!!
Имеется база на SQL 2000 и клиент BDS 2006-ADO..
В отдном из полей таблицы храняться файлы — вордовские, изображения и т.д.
Приведенный ниже код читает BLOB поле из таблицы, сохраняет его во временный файл и запускает приложение, которое ассосиировано
с типом данного файла...
CODE | void __fastcall TTestForm::ComboBox1Select(TObject *Sender)
{
ADODataSet2->Locate("FileName",ComboBox1->Text,S_Opt);
ADODataSet2Value->SaveToFile(ComboBox1->Text);
ShellExecute(Handle,"open",ComboBox1->Text.c_str(),NULL,NULL,SW_SHOWNORMAL);
// DeleteFile(ComboBox1->Text.c_str()); |
Работает все достаточно коряво, хотелось бы сдалать как в Outlook Express, открываешь "скрепку" и видишь прикрепленные к письму
файлы с соответствующими значками.. При нажатии файл открывается...
Подскажите пожалуйста, как это сделать....
|
|
olegenty |
Отправлено: 22.06.2006, 14:54 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
также, только с интерфейсом, как у Outlook.
|
|
Kuks |
Отправлено: 22.06.2006, 15:12 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
QUOTE | файлы с соответствующими значками.. |
Вот этого хотелось бы...
|
|
olegenty |
Отправлено: 22.06.2006, 15:15 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
наиневьетупейшее решение: табличка, хранящая значок для расширения.
|
|
Kuks |
Отправлено: 22.06.2006, 15:19 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
QUOTE | наиневьетупейшее решение |
Зато простое, но мне думается, что в Аутлуке используется
что-то типа TOLEContainer....
или реестр...
|
|
xim |
Отправлено: 23.06.2006, 18:37 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 143
|
MSDN:
CODE | SHFILEINFO shfi;
memset(&shfi,0,sizeof(shfi));
SHGetFileInfo("foo.bmp",
FILE_ATTRIBUTE_NORMAL,
&shfi, sizeof(shfi),
SHGFI_ICON|SHGFI_USEFILEATTRIBUTES);
| |
|
olegenty |
Отправлено: 24.06.2006, 06:13 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
вот то, что xim нарисовал, Outlook и использует.
|
|
Kuks |
Отправлено: 26.06.2006, 07:59 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
Понял, спасибо огромное, буду разбираться....
|
|