Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 270

/ вопрос открыт /

Здравствуйте! Прокомментируйте пожалуйста дословно исходник (он приложен). Особенно procedure TForm2.Insert(Num: Integer); Для чего там задается Baton[Num-1], почему не Num-2, или Num+1... Так же что означает Baton[Num-1]:= TButton.Create(Self); ???

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

buldoger Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: buldoger (статус: Посетитель)
Вопрос отправлен: 9 мая 2011, 19:26
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Цитата:


Baton[Num-1], почему не Num-2, или Num+1...

Потому что массив начинается с нулевого индекса, а не с 1.

Цитата:


Так же что означает Baton[Num-1]:= TButton.Create(Self); ???

Это создание очередной кнопки на форме. Вызов конструктора.

З.Ы. Код не смотрел, включил телепатор.

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 9 мая 2011, 19:37


Мини-форум вопроса

Всего сообщений: 21; последнее сообщение — 16 мая 2011, 08:07; участников в обсуждении: 3.

Страницы: [1] [2] [Следующая »]

buldoger

buldoger (статус: Посетитель), 9 мая 2011, 19:47 [#1]:

а что означает эта строчка Baton[Num-1].Top := (Num-1)*(Baton[Num-1].Height + 10); ???
min@y™

min@y™ (статус: Доктор наук), 9 мая 2011, 20:03 [#2]:

Цитата (buldoger):

а что означает эта строчка Baton[Num-1].Top := (Num-1)*(Baton[Num-1].Height + 10); ???

Это установка высоты каждой кнопки из массива.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
buldoger

buldoger (статус: Посетитель), 10 мая 2011, 01:14 [#3]:

а именно эта часть за что отвечает (Num-1)*(Baton[Num-1] ???
min@y™

min@y™ (статус: Доктор наук), 10 мая 2011, 08:16 [#4]:

Цитата (buldoger):

а именно эта часть за что отвечает (Num-1)*(Baton[Num-1] ???

Дык это и есть вычисление высоты кнопки по её номеру в массиве.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
buldoger

buldoger (статус: Посетитель), 10 мая 2011, 15:38 [#5]:

procedure TForm2.ButtonClick(Sender: TObject);
var
tak : Integer;
begin
if not(Sender is TButton) then Exit; //как расшифровать эту строчку (особенно Sender is TButton) ???
tak := Ini.ReadInteger('Вопрос №'+inttostr(NumV), 'Правильный вариант',-1); // почему в данном месте стоит -1 ???
if tak<0 then Exception.Create('В файле с вопросами не написан правильный вариант');
if (Sender as TButton).Tag=tak then //что означает эта строчка???
begin
inc(ball);
end;
inc(NumV);
ShowVopros;
end;
min@y™

min@y™ (статус: Доктор наук), 10 мая 2011, 16:02 [#6]:

procedure TForm2.ButtonClick(Sender: TObject);
var
  tak : Integer;
begin
  if not(Sender is TButton)
    then Exit; // если событие вызвано не объектом типа TButton (или его потомком), то на выход
 
  tak := Ini.ReadInteger('Вопрос №'+inttostr(NumV), 'Правильный вариант',-1); // это значение по умолчанию.
       // Очевидно, что -1 будет сообщать об ошибке.
 
  if tak < 0
    then Exception.Create('В файле с вопросами не написан правильный вариант');
 
  if (Sender as TButton).Tag = tak  // Проверка того, что нажата нужная кнопка.
    // У всех компонентов есть свойство Tag, по которому их можно идентифицировать.
    then begin
           inc(ball);
         end;
 
  inc(NumV);
  ShowVopros; // <--- отсутствие знания английского языка - это very bad!
end;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
buldoger

buldoger (статус: Посетитель), 10 мая 2011, 16:10 [#7]:

а можно подробнее про Tag компонентов?
min@y™

min@y™ (статус: Доктор наук), 10 мая 2011, 16:23 [#8]:

Цитата (buldoger):

а можно подробнее про Tag компонентов?

Свойство Tag есть у каждого потомка TComponent. Оно системой не используется, поэтому программист может юзать его по своему усмотрению. Вот тебе БОЛЬШАЯ ССЫЛКА, читай.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
buldoger

buldoger (статус: Посетитель), 10 мая 2011, 16:41 [#9]:

а для чего конкретно в данном примере используется свойство tag?
min@y™

min@y™ (статус: Доктор наук), 10 мая 2011, 17:02 [#10]:

Цитата (buldoger):

а для чего конкретно в данном примере используется свойство tag?

Именно для того, чтобы отличать кнопки друг от друга.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
buldoger

buldoger (статус: Посетитель), 14 мая 2011, 02:47 [#11]:

а как нарисовать блок-схему этой процедуры?

procedure TForm2.ButtonClick(Sender: TObject);
var
tak : Integer;
begin
if not(Sender is TButton) then Exit;
tak := Ini.ReadInteger('Вопрос №'+inttostr(NumV), 'Правильный вариант',-1);
if tak<0 then Exception.Create('В файле с вопросами не написан правильный вариант');
if (Sender as TButton).Tag=tak then /
begin
inc(ball);
end;
inc(NumV);
ShowVopros;
end;
min@y™

min@y™ (статус: Доктор наук), 14 мая 2011, 11:26 [#12]:

Цитата (buldoger):

а как нарисовать блок-схему этой процедуры?

С помощью графических примитивов (квадратиков, ромбиков и т.д.), стрелок между ними и рук, растущих не из жопы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
buldoger

buldoger (статус: Посетитель), 14 мая 2011, 11:32 [#13]:

Спасибо КЭП... Нарисуй блок-схему
min@y™

min@y™ (статус: Доктор наук), 14 мая 2011, 11:37 [#14]:

Цитата (buldoger):

Спасибо КЭП... Нарисуй блок-схему

Щас нарисую.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 14 мая 2011, 12:15 [#15]:

Ну вот как-то так:
С тебя пиво!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 14 мая 2011, 16:21 [#16]:

Цитата (min@y™):

С тебя пиво!

в чём рисовал?

ЗЫ: я бы за работу потребовал почку. и еще одну за повелительное наклонение без волшебного слова.
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 14 мая 2011, 16:34 [#17]:

Цитата (bugmenot):

в чём рисовал?

Visio. Я пользуюсь древней 5-й версией, т.к. новые версии выходили уже тогда, когда компанию-создателя зохавала microsoft и прога разрослась на порядок за счёт внедрения в неё всякого ненужного говна. А эта работает даже без установки. Как щас помню, я её на работу 10 лет назад на дискетах таскал. За 3 дня перетащил. :)

Цитата (bugmenot):

я бы за работу потребовал почку. и еще одну за повелительное наклонение без волшебного слова.

Пока не требуется. У меня они тренированные. Пивом. Тьфу (3 раза), тук-тук-тук по столу.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 14 мая 2011, 19:58 [#18]:

оо, домелкософтовское визио! какой раритетный антик!
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 14 мая 2011, 20:37 [#19]:

Цитата (bugmenot):

оо, домелкософтовское визио! какой раритетный антик!

Могу прислать. Работает на ура.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 15 мая 2011, 18:59 [#20]:

Пришли, я его не видел ни разу (правда практической пользы наверное нет, т.к. формат стенсилов MS наверняка переделали на OLE storage)
виконання програми розпочинається з того самого мiсця, де призупинилося.

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:26
Выполнено за 0.03 сек.