суббота, 28 апреля 2012 г.

Примеры простых программ на Lazarus под Win32 (Часть 2)

В этом посте я расскажу о своем первом опыте по работе с базами данных в Lazarus.

Как я уже писал в первой части, задача была подключиться к удаленной базе данных MySQL, извлечь оттуда данные и записать их в CSV.

Так наверное довольно часто бывает, когда берешься за новый инструмент, все может пойти совсем не так, как было задумано изначально. И хоть инструмент не совсем новый, и задача - ну уж совсем понятная, мне все-таки пришлось поломать голову в попытках разыскать решения для совсем банальных проблем...

воскресенье, 25 марта 2012 г.

Анонимные методы в Delphi

Перевод из справочной системы Delphi

Как предполагает название, анонимный метод – это процедура или функция, с которой не связано имени. Анонимный метод обрабатывает блок кода как сущность, которая может быть присвоена переменной или использоваться в качестве параметра для передачи в другой метод. Вдобавок анонимный метод может ссылаться на переменные и связывать значения с переменными в контексте, где он объявлен. Анонимные методы могут объявляться и использоваться при помощи простого синтаксиса. Они схожи с замыканиями, определенными в других языках программирования.

Примеры простых программ на Lazarus для Win32 (Часть 1). Резюме.

Вообще резюме я решил написать, чтобы сформулировать отличия, которые я заметил в сравнении с Delphi. Lazarus производит вполне себе нормальное впечатление, пока делаешь несложные штуки. Местами я конечно поломал голову, но с ума не сошел ;-) (это я говорю скорее про вторую часть поста, которая на подходе).

Различия с Delphi 7 на самом деле небольшие (наверняка опять же, пока делаешь, что-то не слишком мудреное). Наверняка люди, берущиеся портировать под Lazarus, испытывают… приятное ;-)

Примеры простых программ на Lazarus под Win32 (Часть 1)

Довольно долго не было повода написать что-нибудь про Lazarus. Программированием последнее время я не занимался, но тут, что называется, “приперло”. Надо было сделать быстро, просто и без заморочек. Соответственно, качать пробную XE2 не стал, а решил положиться на бесплатный инструмент.

Задачи были следующие: выполнить форматирование нескольких тысяч финских телефонных номеров, лежащих в dbf, и выкачать из удаленной БД MySQL некоторую информацию, выгрузив ее в формат CSV.

Обо всех этих затеях

четверг, 1 марта 2012 г.

Поля

Перевод из справочной системы Delphi

О полях

Поле схоже с переменной, принадлежащей объекту. Поля могут быть любого типа, включая классы (то есть поля могут хранить ссылки на объекты). Поля обычно имеют видимость private.

Классы и объекты

Перевод из справочной системы Delphi

Тип класс

Класс или тип класса определяет структуру, состоящую из полей, методов и свойств. Экземпляры классов называются объектами. Поля, методы и свойства класса называются его компонентами или членами.

  • Поле представляет собой переменную, которая является частью объекта. Как и поля записей, поля классов представляют элементы данных, которые присутствуют в каждом экземпляре класса.
  • Метод – это процедура или функция, связанная с классом. Большая часть методов оперирует объектами (т.е. экземплярами классов). Некоторые методы (называемые методами класса) работают с классами как с типами.
  • Свойство – это интерфейс к данным, связанным с объектом (которые часто хранятся в полях). Свойства имеют спецификаторы доступа, которые определяют, каким образом данные могут быть прочитаны или изменены. Из других частей программы, то есть снаружи объекта, свойство в большинстве случаев выглядит как поле.

суббота, 25 февраля 2012 г.

Объявляемые константы

Перевод из справочной системы Delphi

Несколько видов конструкций языка называют "константами". Существуют числовые константы (их также называют числами), строковые константы (их называют символьными строками или строковыми литералами), например, "Hello world!". Все перечисляемые типы определяют константы, которые являются значениями этих типов. Есть предопределенные константы, такие как True, False и nil. Наконец, есть константы, создаваемые объявлением.

Объявляемые константы могут быть либо "чистыми константами" или типизированными константами. Эти два вида констант в целом похожи, но работают по разным правилам и применяются для различных целей.