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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2015, 08:37   #1
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Подскажите как проверить загружена ли картинка в image1 если да то грузим в image2
если нет то загружаем в image1

Как проверить на пустоту нашел, а как на занятость?
Код:
if Image1.Picture.Graphic=nil then

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

Цитата:
а как на занятость?
<>nil /.......
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2015, 11:08   #3
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Код:
  S:=Memo1.Lines[0];
  S2:=Memo1.Lines[1];
  if (s='1(2)') or (s2='1(2)')then
  if Image1.Picture.Graphic=nil then
Image1.Picture.LoadFromFile((ExtractFilePath(Application.ExeName)+'img\cart\1(2).jpg'));
  if Image1.Picture.Graphic<> nil then
  Image2.Picture.LoadFromFile((ExtractFilePath(Application.ExeName)+'img\cart\1(2).jpg'));
  if (s='1(3)') or (s2='1(3)')then begin
  if Image1.Picture.Graphic= nil then    begin
Image1.Picture.LoadFromFile((ExtractFilePath(Application.ExeName)+'img\cart\1(3).png'));
  if Image1.Picture.Graphic<> nil then begin
  Image2.Picture.LoadFromFile((ExtractFilePath(Application.ExeName)+'img\cart\1(3).png'));
     if (s='1(4)') or (s2='1(4)')then
  if Image1.Picture.Graphic= nil then
Image1.Picture.LoadFromFile((ExtractFilePath(Application.ExeName)+'img\cart\1(4).png'));
  if Image1.Picture.Graphic<> nil then
  Image2.Picture.LoadFromFile((ExtractFilePath(Application.ExeName)+'img\cart\1(4).png'));
Что не так делаю? пишу 1(2) 1(3) все равно загружает картинки 1(2) и 1(4)
mitiay вне форума Ответить с цитированием
Старый 19.10.2015, 11:18   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Явная куралесь с begin и end. Отформатируй нормально код и смотри где пропустил, а где лишний
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.10.2015, 11:30   #5
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Явная куралесь с begin и end. Отформатируй нормально код и смотри где пропустил, а где лишний
Голова уже кружится ))) Уже по всякому пробывал или вообще не показывается или вот такая фигня
mitiay вне форума Ответить с цитированием
Старый 19.10.2015, 12:28   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
if (s='1(2)') or (s2='1(2)')then
if Image1.Picture.Graphic=nil then
Image1.Picture.LoadFromFile((Extrac tFilePath(Application.ExeName)+'img \cart\1(2).jpg'));
if Image1.Picture.Graphic<> nil then
Image2.Picture.LoadFromFile((Extrac tFilePath(Application.ExeName)+'img \cart\1(2).jpg'));
Ану-ка опиши на словах, как это должно работать?
Я не понял в чем разница, я бы писал так:
Код:
 path:=(ExtractFilePath(Application.ExeName)+'img\cart\';
 with Image1.Picture do begin
  if s='1(2)' then LoadFromFile(path+s+'.jpg')) else
  if s2='1(2)' then LoadFromFile(path+s2+'.jpg')) else
  ....
 end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2015, 14:14   #7
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ану-ка опиши на словах, как это должно работать?
Я не понял в чем разница, я бы писал так:
Код:
 path:=(ExtractFilePath(Application.ExeName)+'img\cart\';
 with Image1.Picture do begin
  if s='1(2)' then LoadFromFile(path+s+'.jpg')) else
  if s2='1(2)' then LoadFromFile(path+s2+'.jpg')) else
  ....
 end;
Спасибо так и сделал
mitiay вне форума Ответить с цитированием
Старый 20.10.2015, 02:07   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Голова уже кружится ))) Уже по всякому пробывал или вообще не показывается или вот такая фигня
явный признак говнокода.

бесплатный совет: при появлении такого признака удалить весь говнокод и написать хороший код с нуля - сэкономишь время и нервы.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TImage DLev2 Общие вопросы Delphi 4 11.08.2013 15:37
excel.Проверка VBA и проверка функции Будда Помощь студентам 0 14.04.2011 21:10
TImage Mania4e11o Компоненты Delphi 3 24.04.2010 17:25
TImage в TImage One.Love Общие вопросы Delphi 15 22.09.2008 19:37
TImage Killbrum Помощь студентам 8 27.08.2008 22:40