Семь чудес и два фокуса на Дельфи
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: текст для изложения, оформление доклада титульный лист
| Добавил(а) на сайт: Бурдаков.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
ShowMessageFmt('%d',[lowInt]);
end;
Figure 5.
Вот теперь - все нормально. Пример очень незамысловат, но дает нам представление о том, как компилятор Delphi обрабатывает константы и определяет их тип.
А вот следующее чудо - пример того, к какой путанице может привести перегрузка функций. Такие чудеса мы зачастую сами устраиваем себе по невнимательности, а потом часами ищем ошибки.
Чудо четвертое (String Trick).
Ну, что ж, добавим опять кнопку на нашу форму и зададим следующий код для события OnClick:
procedure TfrmAllMiracles.btnCopyMrclClick (Sender: TObject);
const
cs: array[0..1] of char='01';
begin
ShowMessage(copy(cs,0,1)+copy(cs,1,1));
end;
Figure 6.
Я знаю, что вы уже ждете подвоха и все же результат может оказаться неожиданным: "00".
Как обычно обратимся к Help'у, смотрим функцию Copy:
Returns a substring of a string or a segment of a dynamic array.
...
function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;
...
Дело в том, что в выражении copy(cs,0,1)+copy(cs,1,1) оба раза вызываются разные версии функции copy, первый раз - для динамических массивов, которые нумеруются с 0, а второй раз - для строчек, первый элемент которых имеет индекс 1. Оба раза cs преобразуется к необходимому типу, и то, что cs, как массив начинается с нулевого элемента, в данном случае не имеет никакого значения.
А теперь, наконец, мы добрались и до обьектов. Множество Дельфийских чудес связаны с тем, что обьекты в Delphi - автоматически разыменуемые ссылки, которые могут указывать на освобожденную или занятую кем-то другим область памяти. О таких случаях написано немало. Наше чудо - иное.
Чудо пятое (Is-Miracle).
Опишите в разделе protected нашей формы поле FControl типа TСontrol и задайте для еще одной - новой кнопки такую вот реакцию на ее нажатие:
Рекомендуем скачать другие рефераты по теме: реферат по философии, реферат безопасность.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата