Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2015, 08:53   #1
muk07
Пользователь
 
Регистрация: 27.03.2015
Сообщений: 11
По умолчанию jpg - unknown extension для TImage

Ниже текст, который работает (почти такой же) в др. задаче, а здесь заявляет, что (.jpg) - unknown file extension при выполнении LoadFromFile.
imgFilePicture - на форме лежит TImage.
В Path получается совершенно правильный файл.
Очень надеюсь на помощь.

Код:
void __fastcall TfrmLookFile::FormActivate(TObject *Sender){
Geometry();
AnsiString Sql="";
if(this->WhatFile==LOOKTASKFILE){
	Sql=Sql+
	 "select TaskFileName as FileName,FileContent "
	 "from TaskFile "
	 "where TaskFile_ID="+this->TaskFile_ID;
} else{
	Sql=Sql+
	  "select DecisionFile as FileName,FileContent "
	  "from DecisionFile "
	  "where DecisionFile_ID="+this->DecisionFile_ID;
}
TADOQuery *q=new TADOQuery(this);
q->Connection=DataMod->Conn;
q->SQL->Add(Sql);
q->Active=true;
AnsiString FileName=q->FieldByName("FileName")->AsString;
AnsiString Ext=FileExtension(FileName); // моя ф-я
TBlobField *blob=(TBlobField *)q->FieldByName("FileContent");
AnsiString Path,Slash="";
char *c;
if(Ext.AnsiCompareIC("jpg")==0){
	mem->Visible=false;
	imgFilePicture->Visible=true;
	*c=WorkDir.c_str()[WorkDir.Length()-1];
	if(*c!='\\'){
		Slash="\\";
	}
	Path=WorkDir+Slash+"pic.jpg";
	if(access(Path.c_str(),0)==0){
		unlink(Path.c_str());
	}
	blob->SaveToFile(Path);
	imgFilePicture->Picture->LoadFromFile(Path);
	delete q;
	return;
}
mem->Visible=true;
imgFilePicture->Visible=false;
mem->Text=q->FieldByName("FileContent")->AsString;
delete q;
}

Последний раз редактировалось Stilet; 01.10.2015 в 09:12.
muk07 вне форума Ответить с цитированием
Старый 01.10.2015, 09:13   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В Делфи для этого в uses прописывают модуль jpeg.
Не удивлюсь, если в билдере нужно писать
Код:
#include <jpeg>
или типо этого.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2015, 09:18   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В Делфи для этого в uses прописывают модуль jpeg.
Не удивлюсь, если в билдере нужно писать
Код:
#include <jpeg>
или типо этого.
Как ни странно, но это так. В h-файле нужно прописать - #include <jpeg.hpp>.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 01.10.2015, 15:48   #4
muk07
Пользователь
 
Регистрация: 27.03.2015
Сообщений: 11
По умолчанию

Спасибо, сейчас не могу проверить - БД на работе, я дома, а на работе вырубили сеть и я не могу соединиться с SQL server.
Однако, почему другая задача с таким же текстом (с точностью до имён) работает благополучно без всяких jpeg.
Кстати и раньше были программы, в которых я писал то же самое.
muk07 вне форума Ответить с цитированием
Старый 01.10.2015, 16:23   #5
muk07
Пользователь
 
Регистрация: 27.03.2015
Сообщений: 11
По умолчанию

Починили сеть. Проверил. Работает.
Большое спасибо.

Но не понял почему в др месте и без jpeg.hpp работает
muk07 вне форума Ответить с цитированием
Старый 01.10.2015, 17:32   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
не понял почему в др месте и без jpeg.hpp работает
А ты уверен что в "другом месте" он нигде не подключен этот хедер?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2015, 19:24   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Например, в другом хедере.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.10.2015, 19:46   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

А мне интересно как подключения .h файла оказывает влияние на runtime...
waleri вне форума Ответить с цитированием
Старый 01.10.2015, 20:19   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А мне интересно как подключения .h файла оказывает влияние на runtime...
А где у ТС это сказано?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2015, 22:01   #10
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А где у ТС это сказано?
unknown file extension при выполнении LoadFromFile
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещая папки с экзел файлом и jpg картинками, ссылки на jpg не работают?? Igorilla Microsoft Office Excel 0 16.03.2013 21:36
Ошибка в Delphi: unknown picture file extension(.) ДениC Общие вопросы Delphi 35 12.05.2011 14:29
как узнать цвет пикселя в TImage , если там не bmp а jpg Dima_Dima Общие вопросы Delphi 0 31.05.2010 14:12
Загрузка *.jpg фалов в Timage Delphi7 Dalagardi Помощь студентам 3 23.03.2010 08:47