Kniga-Online.club
» » » » А. Григорьев - О чём не пишут в книгах по Delphi

А. Григорьев - О чём не пишут в книгах по Delphi

Читать бесплатно А. Григорьев - О чём не пишут в книгах по Delphi. Жанр: Программирование издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Примеры к главе 3

Примеры к третьей главе находятся в папке 3 Подводные камни, содержимое которой приведено в табл. П2.3.

Таблица П2.3. Примеры к главе 3

Папка Подпапка Описание Разделы главы Неочевидные особенности целых чисел Assignment1 Пример потери значения при присваивании беззнаковой переменной отрицательного значения 3.1.2. Выход за пределы диапазона при присваивании Assignment2 Пример потери значения при присваивании переменной значения, большего, чем допускается типом 3.1.2. Выход за пределы диапазона при присваивании Overflow1 Пример перехода беззнакового значения через ноль при вычитании 3.1.3. Переполнение при арифметических операциях Overflow2 Пример невозможности контроля переполнения с помощью опции {$R+} при использовании функции Dec 3.1.3. Переполнение при арифметических операциях Compare1 Пример корректного сравнения знакового и беззнакового числа 3.1.4. Сравнение знакового и беззнакового числа Compare2 Пример некорректного сравнения знакового и беззнакового числа при использовании приведения типов 3.1.4. Сравнение знакового и беззнакового числа ForRange Пример неправильного вычисления границы диапазона цикла for при использовании беззнаковой управляющей переменной 3.1.5. Неявное преобразование в цикле for Неочевидные особенности вещественных чисел WrongValue Пример присваивания вещественной переменной значения, отличного от заданного в программе 3.2.6. "Неправильное" значение Compare1 Пример ошибки при сравнении вещественной переменной и вещественного литерала 3.2.7. Сравнение Compare2 Пример ошибки при сравнении вещественных переменных разных типов 3.2.8. Сравнение разных типов Subtraction Пример накопления ошибки при многократном вычитании 3.2.9. Вычитание в цикле Epsilon Примет поиска машинного эпсилон (минимального числа, которое при добавлении к единице дает значение, отличное от единицы) 3.2.12. Машинное эпсилон Тонкости работы со строками Constants Пример, позволяющий исследовать, где в различных ситуациях хранятся строковые литералы и как они присваиваются переменным 3.3.2. Хранение строковых литералов  PCharLit Пример, демонстрирующий, что явное приведение строковых литералов к типу PChar в большинстве случаев бесполезно, а иногда приводит к ошибке 3.3.3. Приведение литералов к типу PChar  Comparisons Пример, демонстрирующий то, как в различных ситуациях компилятор сравнивает строки 3.3.4. Сравнение строк SideChange Пример нежелательного изменения значения строковой переменной при низкоуровневом изменении значения другой строковой переменной 3.3.5. Побочное изменение Zero Пример, демонстрирующий невозможность правильного преобразования строки, содержащей символ #0, из AnsiString в PChar 3.3.6. Нулевой символ в середине строки ZeroFind Пример неправильной работы функции AnsiPos со строками, содержащими символ #0 3.3.6. Нулевой символ в середине строки StringResult Пример, демонстрирующий особый способ хранения результата функции, возвращающей строковое значение 3.3.7. Функция, возвращающая AnsiString RecordReadWrite Примеры, демонстрирующие правильные и неправильные способы записи типов, содержащих строки, в поток 3.3.8. Строки в записях RecordCopy Пример, демонстрирующий возникновение нежелательных эффектов при низкоуровневом копировании записей, содержащих строки 3.3.8. Строки в записях Прочие подводные камни OpOrder Пример того, что компилятор может вычислять операнды бинарной операции в порядке, отличном от интуитивно ожидаемого 3.4.1. Порядок вычисления операндов UpDownDlg Пример зацикливания обработчика нажатия кнопки мыши компонента TUpDown из-за неоправданного захвата мыши в монопольное использование 3.4.2. Зацикливание обработчика TUpDown.OnClick при открытии диалогового окна в обработчике CloseAV Пример возникновения ошибки в перекрытом методе WndProc из-за неправильной реализации метода TCustomForm.Release 3.4.3. Access violation при закрытии формы перекрытым методом WndProc ClassName Пример, демонстрирующий где хранится имя оконного класса, возвращаемое функцией GetClassInfo, и как эта память может быть использована для других нужд раньше, чем указатель на нее покинет область видимости 3.4.4. Подмена имени оконного класса, возвращаемого функций GetClassInfo ListIndex Пример, демонстрирующий ошибку обращения к свойству TComboBox.Items.Objects при значении свойства, равном -1 3.4.6. Ошибка List index out of bounds при корректном значении индекса WrongAnchors Пример того, что компоненты на форме располагаются не так, как предписывает свойство Anchors, если начальный размер формы во время выполнения программы не совпадает с размером, заданным при проектировании и методы борьбы с этой проблемой 3.4.7. Неправильное поведение свойства Anchors MethodPtrCmp Пример генерирования компилятором неправильного кода при сравнении указателей на методы и способ решения этой проблемы 3.4.8. Ошибка при сравнении указателей на метод ParentWnd Пример возникновения ошибки при использовании в деструкторе оконного компонента свойств, требующих существования окна 3.4.10. Невозможность использования некоторых свойств оконного компонента FrameDel Пример скрытой ошибки при использовании свойств, требующих существования окна, в деструкторе фрейма: исключение не возникает, но происходит утечка ресурсов 3.4.10. Невозможность использования некоторых свойств оконного компонента

Примеры к главе 4

Примеры к четвертой главе находятся в папке 4 Разбор и вычисление выражений, содержимое которой приведено в главе П2.4.

Таблица П2.4. Примеры к главе 4

Папка Описание Разделы главы IsNumberSample Пример анализа выражения на предмет соответствия синтаксису вещественного числа. Анализирует введенную пользователем строку и возвращает результат "Число" или "Не число" 4.3. Синтаксис вещественного числа SimpleCalcSample Пример простейшего калькулятора с четырьмя действиями арифметики над числами без учета приоритета операций 4.4. Простой калькулятор PrecedenceCalcSample Пример калькулятора с четырьмя действиями арифметики над числами с учетом приоритета операций 4.5. Учет приоритета операторов BracketsCalcSample Пример простейшего калькулятора с четырьмя действиями арифметики над числами с возможностью изменять приоритет операций с помощью круглых скобок 4.6.Выражения со скобками FullCalcSample Пример калькулятора, в котором поддерживаются переменные, функции и возведение в степень 4.7. Полноценный калькулятор LexicalSample Пример двухпроходного калькулятора с лексическим анализатором. Лексический анализатор дает возможность вставлять в выражение пробелы, переводы строки и комментарии 4.8. Калькулятор с лексическим анализатором SinglePassSample Пример однопроходного калькулятора с лексическим анализатором. Добавлена также поддержка функций с несколькими аргументами 4.9. Однопроходной калькулятор и функции с несколькими переменными

Список литературы

Перейти на страницу:

А. Григорьев читать все книги автора по порядку

А. Григорьев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


О чём не пишут в книгах по Delphi отзывы

Отзывы читателей о книге О чём не пишут в книгах по Delphi, автор: А. Григорьев. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*