Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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


Ответ
 
Опции темы
Старый 15.01.2012, 12:09   #1
HelpMeGiveWmr
Новичок
Джуниор
 
Регистрация: 15.01.2012
Сообщений: 0
Восклицание объяснить код на Delphi за WMR

Понимая, что данные формы посещают только хорошие программисты, прошу помочь.

Код, который будет приведен ниже взят из программы по написании "шахмат". Хочу узнать, что делают именно эти строчки.

За полный ответ ( с объяснениями на русском ) заплачу 100 WMR.

procedure TFigure.con_y(y:integer);
begin
self.nach_y:=y;
if (Self.y>0)and(Self.y<9)and(Self.x>0 )and(Self.x<9) then
Self.Image.Parent:=PanelArray[Self.x,Self.y]
else
Self.Image.Parent:=PanelArray[0,0]

end;


В конце вашего поста, оставьте ваш кошелек, деньги переведу вечером.
HelpMeGiveWmr вне форума Ответить с цитированием
Старый 15.01.2012, 12:34   #2
HelpMeGiveWmr
Новичок
Джуниор
 
Регистрация: 15.01.2012
Сообщений: 0
По умолчанию

Цитата:
Сообщение от HelpMeGiveWmr Посмотреть сообщение
Понимая, что данные формы посещают только хорошие программисты, прошу помочь.

Код, который будет приведен ниже взят из программы по написании "шахмат". Хочу узнать, что делают именно эти строчки.

За полный ответ ( с объяснениями на русском ) заплачу 100 WMR.

procedure TFigure.con_y(y:integer);
begin
self.nach_y:=y;
if (Self.y>0)and(Self.y<9)and(Self.x>0 )and(Self.x<9) then
Self.Image.Parent:=PanelArray[Self.x,Self.y]
else
Self.Image.Parent:=PanelArray[0,0]

end;


В конце вашего поста, оставьте ваш кошелек, деньги переведу вечером.
конкретно интересует, что делают

if (Self.y>0)and(Self.y<9)and(Self.x>0 )and(Self.x<9) then
Self.Image.Parent:=PanelArray[Self.x,Self.y]
else
Self.Image.Parent:=PanelArray[0,0]

или хотя бы

Self.Image.Parent:=PanelArray[Self.x,Self.y]
else
Self.Image.Parent:=PanelArray[0,0]

За ответ в течении нескольких минут заплачу 150 WMR.
HelpMeGiveWmr вне форума Ответить с цитированием
Старый 15.01.2012, 12:49   #3
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Что-то типа проверки на место хода, чтоли.
TFigure.nach_y присваивается значение y, переданное в функцию, потом TFigure.у и TFigure.х проверяются на нахождение в диапазоне [1..8], если они в диапазоне, то TFigure.Image.Parent присваивается родитель PanelArray[TFigure.x,TFigure.y], иначе присваивается родитель с нулями.

Скорее всего проверка фигуры на невыход за границы поля.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 15.01.2012, 12:51   #4
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

В данном коде проверяется принадлежность фигуры любой клетке, за исключением граничных. И в зависимости от расположения определяется компонент-родитель для отображения фигуры. Предположу, что данная процедура проверяет возможность перемещения. Только не делается проверка на граничный [9,9]. В этом может быть ошибка. У вас на форме располагается 100 панелей и 1 имадж, который меняет родителя для прорисовки (делается ход) взависимости от допустимости условия. Наверное так.
"ковыряю изнутри" (с)

Последний раз редактировалось 3D Hunter; 15.01.2012 в 12:53.
3D Hunter вне форума Ответить с цитированием
Старый 15.01.2012, 13:06   #5
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
procedure TFigure.con_y(y:integer);
begin
self.nach_y:=y; // что это хз
if (Self.y>0)and(Self.y<9)and(Self.x>0 )and(Self.x<9) then // проверяем координаты 
Self.Image.Parent:=PanelArray[Self.x,Self.y] // и если они в доске [1..8] переставляем фигуру
else
Self.Image.Parent:=PanelArray[0,0] // иначе Фигуру ставим на клетку [0,0] опять таки хз что это за клетка(скорее всего предыдущие координаты)
(*То что отмечено как хз по этой процедуре не определяемо*)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 15.01.2012 в 13:57.
Mad_Cat вне форума Ответить с цитированием
Старый 15.01.2012, 14:37   #6
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Огласите победителя! кто является счастливым обладателем 150 деревянных, а?
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 15.01.2012, 22:28   #7
Igor[Игорь]
Пользователь
 
Аватар для Igor[Игорь]
 
Регистрация: 25.11.2011
Сообщений: 52
По умолчанию

Igor23dec@yandex.ru
ICQ 2168364
e-mail: igor23dec@yandex.ru , ICQ: 2168364 , Telegram: @IgorVN
Delphi, PHP
Примеры http://igorvn.ucoz.ru/
Igor[Игорь] вне форума Ответить с цитированием
Старый 15.01.2012, 22:46   #8
flance
Форумчанин
 
Регистрация: 31.05.2011
Сообщений: 176
По умолчанию

> Огласите победителя! кто является счастливым обладателем 150 деревянных, а?

Победителем стал HelpMeGiveWmr, получивший объяснение, как работает код, на халяву.
Программист-фрилансер, готовый рассмотреть предложения на постоянную удаленную работу... Ответственный, трудолюбивый
skype: flancejob
flance вне форума Ответить с цитированием
Старый 15.01.2012, 23:47   #9
sheka
Босс
Форумчанин
 
Аватар для sheka
 
Регистрация: 03.06.2009
Сообщений: 125
По умолчанию

+1.

Тов.Админы, чего там за правила такие, что нельзя отзывы ставить одному и тому же человеку подряд???

Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
Ася 255507394. Отзывы здесь.
sheka вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кто может объяснить,почему на моем компе программа работает на других нет?код в Delphi Symba Общие вопросы Delphi 1 24.03.2011 01:03
как грамотно объяснить код (делфи 7) MegaMozg28 Помощь студентам 0 10.06.2010 13:23
Срочно!Нужно объяснить код программ! ArcaN0id Помощь студентам 1 28.06.2009 11:15
Delphi. Объяснить прогу. Bomber Помощь студентам 0 02.06.2008 18:59


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS