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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2009, 18:10   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Не кейсовый вызов TBitMap

В D7 можно найти контрол посредством Control:=Form1.FindComponent,

А можно ли найти переменную похожим образом?
Вот у меня имеется кусок кода:
Код:
   Case StepCount Of                                                                                                                   
     1 : Case ViewVector Of                                                                                                              
      1 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step11);                                                                                  
      2 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step12);                                                                                  
      3 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step13);                                                                                
      4 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step14);                                                                                  
      End;                                                                                                                              
     2 : Case ViewVector Of                                                                                                               
      1 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step21);                                                                                 
      2 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step22);                                                                                 
      3 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step23);                                                                                 
      4 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step24);                                                                                 
      End;                                                                                                                                 
     3 : Case ViewVector Of                                                                                                                
      1 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step31);                                                                                   
      2 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step32);                                                                                   
      3 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step33);                                                                                   
      4 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step34);                                                                                   
      End;                                                                                                                             
     4 : Case ViewVector Of                                                                                                             
      1 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step41);                                                                                  
      2 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step42);                                                                               
      3 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step43);                                                                        
      4 : Form1.PlayerPicture.Canvas.Draw(0, 0, Step44);                                                                                  
      End;
    End;
Можно ли сократить его в несколько раз, используя похожий метод как через Find?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 21.05.2009, 18:31   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

юзай двумерный массив
Код:
type
  MyArray = array [1..4, 1..4] of integer;

var
  Step: MyArray;
begin
...
Form1.PlayerPicture.Canvas.Draw(0, 0, Step[StepCount, ViewVector]);  
...
end;
soleil@mmc вне форума Ответить с цитированием
Старый 21.05.2009, 18:34   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Отличная идея! Как я сам не догадался! Спасибо большое!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TBitmap и указатели Levsha100 Общие вопросы C/C++ 3 17.05.2009 22:36
движение TBitMap Juffin Мультимедиа в Delphi 1 14.04.2009 21:34
объект класса TBItmap albatros Мультимедиа в Delphi 3 27.03.2009 16:23
TBitmap odi_noki Мультимедиа в Delphi 17 25.10.2008 09:53
TBitmap в многопоточном приложении Sergey_nl Мультимедиа в Delphi 3 09.07.2007 00:34