| 
| 
 | Вопрос # 5 270/ вопрос открыт / | 
 |  Здравствуйте! Прокомментируйте пожалуйста дословно исходник (он приложен). Особенно procedure TForm2.Insert(Num: Integer); Для чего там задается Baton[Num-1], почему не Num-2, или Num+1... Так же что означает  Baton[Num-1]:= TButton.Create(Self); ??? К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) 
|  |   Вопрос задал: 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 (статус: Посетитель), 9 мая 2011, 19:47 [#1]:а что означает эта строчка Baton[Num-1].Top := (Num-1)*(Baton[Num-1].Height + 10); ??? |  
|   | min@y™ (статус: Доктор наук), 9 мая 2011, 20:03 [#2]: Цитата (buldoger): а что означает эта строчка Baton[Num-1].Top := (Num-1)*(Baton[Num-1].Height + 10); ???  Это установка высоты каждой кнопки из массива.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | buldoger (статус: Посетитель), 10 мая 2011, 01:14 [#3]:а именно эта часть за что отвечает (Num-1)*(Baton[Num-1]  ??? |  
|   | min@y™ (статус: Доктор наук), 10 мая 2011, 08:16 [#4]: Цитата (buldoger): а именно эта часть за что отвечает (Num-1)*(Baton[Num-1] ???  Дык это и есть вычисление высоты кнопки по её номеру в массиве.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | 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™ (статус: Доктор наук), 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 (статус: Посетитель), 10 мая 2011, 16:10 [#7]:а можно подробнее про Tag компонентов? |  
|   | min@y™ (статус: Доктор наук), 10 мая 2011, 16:23 [#8]: Цитата (buldoger): а можно подробнее про Tag компонентов?  Свойство Tag есть у каждого потомка TComponent. Оно системой не используется, поэтому программист может юзать его по своему усмотрению. Вот тебе БОЛЬШАЯ ССЫЛКА, читай.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | buldoger (статус: Посетитель), 10 мая 2011, 16:41 [#9]:а для чего конкретно в данном примере используется свойство tag? |  
|   | min@y™ (статус: Доктор наук), 10 мая 2011, 17:02 [#10]: Цитата (buldoger): а для чего конкретно в данном примере используется свойство tag?  Именно для того, чтобы отличать кнопки друг от друга.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | 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™ (статус: Доктор наук), 14 мая 2011, 11:26 [#12]: Цитата (buldoger): а как нарисовать блок-схему этой процедуры?  С помощью графических примитивов (квадратиков, ромбиков и т.д.), стрелок между ними и рук, растущих не из жопы.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | buldoger (статус: Посетитель), 14 мая 2011, 11:32 [#13]:Спасибо КЭП... Нарисуй блок-схему |  
|   | min@y™ (статус: Доктор наук), 14 мая 2011, 11:37 [#14]: Цитата (buldoger): Спасибо КЭП... Нарисуй блок-схему  Щас нарисую.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | min@y™ (статус: Доктор наук), 14 мая 2011, 12:15 [#15]:Ну вот как-то так: 
   Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 14 мая 2011, 16:21 [#16]: Цитата (min@y™): С тебя пиво! в чём рисовал?
 
 ЗЫ: я бы за работу потребовал почку. и еще одну за повелительное наклонение без волшебного слова.
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 14 мая 2011, 16:34 [#17]: Цитата (bugmenot): в чём рисовал? Visio. Я пользуюсь древней 5-й версией, т.к. новые версии выходили уже тогда, когда компанию-создателя зохавала microsoft и прога разрослась на порядок за счёт внедрения в неё всякого ненужного говна. А эта работает даже без установки. Как щас помню, я её на работу 10 лет назад на дискетах таскал. За 3 дня перетащил.
  
 Цитата (bugmenot): я бы за работу потребовал почку. и еще одну за повелительное наклонение без волшебного слова.  Пока не требуется. У меня они тренированные. Пивом. Тьфу (3 раза), тук-тук-тук по столу.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 14 мая 2011, 19:58 [#18]:оо, домелкософтовское визио! какой раритетный антик! виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 14 мая 2011, 20:37 [#19]: Цитата (bugmenot): оо, домелкософтовское визио! какой раритетный антик!  Могу прислать. Работает на ура.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 15 мая 2011, 18:59 [#20]:Пришли, я его не видел ни разу (правда практической пользы наверное нет, т.к. формат стенсилов MS наверняка переделали на OLE storage) виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  Страницы: [1] [2] [Следующая »]  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |