Программа на лазарусе пример

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags

Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

[Примеры. Lazarus] Форма Авторизации

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Источник: github.com

Заметки о Pascal, Delphi и Lazarus

Следует ожидать переводов разделов справочной системы Delphi, компиляций из учебников, переводы статей, «путевые заметки» и прочие интересности. Блог прежде всего ориентирован на студентов, но опытных людей я тоже буду рад видеть;-)

Читайте также:
Получить земельный участок по программе

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

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

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

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

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

На самом деле тема форматирования телефонных номеров, в общем, не то чтобы новая. Навскидку можно извлечь из гугловской выдачи например вот такие ссылки:

Последний пример взят с code.google.com, что само по себе уже говорит о том, что решение достойно того, чтобы с ним ознакомиться. Библиотека действительно форматирует номера, но делает это вроде бы по достаточно простому алгоритму: в телефонном номере выделяется код страны, и известный этой библиотеке дополнительный код (префикс оператора или код города). В оставшуюся часть номера изменений никаких не вносится. Это возможно правильно с точки зрения мирового стандарта форматирования, однако не совсем устраивает меня, поскольку читать такие телефонные номера не слишком удобно.

Теперь собственно к делу. А дело в том, что в Финляндии длина номера может составлять от пяти до девяти цифр. Код города может включать в себя одну или две цифры (а с учетом так называемого trunk prefix) – от одной до трех цифр. Дополнительно все усложняет тот факт, что телефонные номера в исходной dbf появились из публичного источника. То есть финны сами вводили свои номера, при том делали это без учета какого-то единого правила (например, в каких то номерах trunk prefix присутствует, в каких то – нет).

[Примеры. Lazarus] MiniGames. Racing

Далее ссылки по теме:

Читайте также:
Из какого пункта меню производится настройка общих параметров программы

Префиксы разных телефонных операторов могут начинаться с цифр кода города. А значит, отличить префикс оператора от кода города можно только зная, к какому городу относится этот номер (и зная код этого города). В моей dbfке присутствует название города и даже название провинции, к которой относится этот город. И это уже кое-что, поскольку вот тут есть список кодов по провинциям.

Только по ссылке присутствует карта со старыми провинциями Финляндии (они менялись, было дело), а у меня – новые. И они редко пересекаются. Плюс ко всему, один и тот же населенный пункт может иметь два кода (видимо, в одну половину города нужно звонить по одному коду, в другую – по другому).

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

Итак, мы имеем dbf файл с такой структурой:

phone: string
city: string
province:string

Собираем со всех источников коды городов в электронную таблицу (ну, например, OpenOffice Calc). В результате получится примерно следующее:

ГородКод
Aanekoski 14
Aanekoski 14
Aetsa 3
Ahtari 6
Ahtari 6
Akaa 3
Alaharma 6
Alajarvi 6
Alajarvi 6
Alastaro 2
Alavieska 8
Alavieska 8
Alavus 6
Alavus 6
Anjalankoski 5
Anttola 15
. .

Города в списке дублируются, но в этом ничего страшного нет, поскольку повторяющиеся варианты мы сможем удалить потом автоматически. Сохраняем таблицу в формате CSV (разделители – точки с запятой – ;).

Создаем новое приложение Lazarus, сохраняем его и помещаем в папку с проектом наш файл CSV. Для его разбора мы воспользуемся экземпляром класса TStringList, для этого объявим переменную соответствующего типа, в обработчик события OnCreate основной формы проекта впишем создание экземпляра, а в обработчик события OnDestroy – его разрушение.

Читайте также:
Что такое программа билет в будущее для школьников

var Form1: TForm1; CityCodes:TStringList; implementation < TForm1 >procedure TForm1.FormCreate(Sender: TObject); begin CityCodes:=TStringList.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil(CityCodes); end;

TStringList всем хорош и в Lazarus. Добавляем на форму кнопку и в обработчике OnClick устанавливаем значение разделителя в ‘;’ , запрещаем дублирование данных в списке, загружаем наш CSV и тут же выгружаем его в новый файл, который уже не содержит дубликатов.

procedure TForm1.Button1Click(Sender: TObject); begin CityCodes.Delimiter:=’;’; CityCodes.Duplicates:=dupIgnore; CityCodes.Sorted:=true; try CityCodes.LoadFromFile(‘citycodes.csv’); CityCodes.SaveToFile(‘citycodes1.csv’);//сохраняем результат except on E:Exception do ShowMessage(E.Message); end; end;
Замечание. Будьте внимательны! Режим dupIgnore не включается при Sorted = false.

Теперь надо догрузить двойные коды городов, которые фигурируют в этом списке (например, Hartola — 03/014).

Для этого сложим такие коды в отдельный CSV, отключим режим dupIgnore у нашего списка и догрузим города с двойным кодом. Необходимо заметить, что метод LoadFromFile перед загрузкой очищает свой список, то есть, выполнив код

CityCodes.LoadFromFile(‘citycodes1.csv’); CityCodes.LoadFromFile(‘citycodes2.csv’); CityCodes.SaveToFile(‘citycodes3.csv’);

Программа на лазарусе пример

Проект в Lazarus: Решатель квадратных уравнений

Главная цель проекта — создание программы с помощью объектно–ориентированной среды Lazarus, которая дает возможность решать квадратные уравнения.

Lazarus программа: Калькулятор

Lazarus программа: Калькулятор

Данная Lazarus программа, созданная в объектно-ориентированной среде программирования Lazarus, позволяющая находить результат сложения, вычитания и .

Проект в Lazarus «Кнопки»

Цель данной практической работы исследовать кнопки, их свойства и назначения.

Календарь

Проект в Lazarus «Календарь»

Практическая работа в Lazarus, целью которой является создание программы, которая будет автоматически переводить год календаря .

Форма

Проект в Lazarus «Меры веса»

Практическая работа в Lazarus, целью которой является создание программы перевода мер веса (1 пуд = .

Никлаус Вирт

Язык программирования Free Pascal и Lazarus

Рассмотрим некоторые важные понятия, которые используют в программировании. Компьютер «понимает» только один язык – машинный. .

Проект в Lazarus «Ура! Заработало!»

Практическая работа, целью которой является создание несложного проекта в среде визуального программирования Lazarus.

Источник: klassteacher.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru