|
Вопрос # 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] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|