Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi и Lazarus


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик
Статус: Академик
Рейтинг: 9952
∙ повысить рейтинг »
Орловский Дмитрий
Статус: Мастер-Эксперт
Рейтинг: 7139
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2442
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Delphi и Lazarus

Номер выпуска:1620
Дата выхода:14.03.2012, 14:00
Администратор рассылки:Киселёва Алёна aka Verena (Академик)
Подписчиков / экспертов:146 / 100
Вопросов / ответов:1 / 1

Консультация # 185555: Здравствуйте, уважаемые эксперты! Есть проект "клиент-сервер" на Delphi-7 / FireBird с использованием IBX-компонентов (без внешних библиотек), одновременно работает 10-15 человек. Нужно (если это возможно, конечно) перевести его на Lazarus / FireBird. Операционные системы: WinXP, Win-7. Просьба к тем, кто создавал такие проекты на ...


Консультация # 185555:

Здравствуйте, уважаемые эксперты! Есть проект "клиент-сервер" на Delphi-7 / FireBird с использованием IBX-компонентов (без внешних библиотек), одновременно работает 10-15 человек. Нужно (если это возможно, конечно) перевести его на Lazarus / FireBird. Операционные системы: WinXP, Win-7.

Просьба к тем, кто создавал такие проекты на Lazarus/FireBird. Требуется элементарный работающий и проверенный пример такой связки с исходными текстами.
Спасибо.

Дата отправки: 07.03.2012, 13:28
Вопрос задал: lamed (Академик)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует sir Henry (Старший модератор):

Здравствуйте, lamed!

Проект в прикреплённом файле. Lazarus 0.9.31.
Ключевые особенности:
- В компоненте TIBConnection (равно, как и в компонентах соединения с другими БД) обязательно нужно указывать свойство CharSet='utf8', т.к. в Lazarus строки кодируются именнов в UTF-8, а в Вашей БД кодировка строк ср1251. Если же в базе кодировка тоже UTF-8, то, в принципе, этот параметр можно не заполнять, но я Вам рекоммендую всё же его указывать. Этот параметр говорт серверу БД, в какой кодировке нужно высылать клиенту запрошенные им наборы данных.
- В Lazarus нет стандартной формы ввода логина и пароля для БД, как это было в Delphi. Однако, в событии TIBConnection.OnLogin, Вы можете вызвать свою форму для ввода пароля, значения полей которой, после зкрытия формы логина, нужно присвоить параметрам этого события username и password. Заносить логин и пароль при разработке в компонент TIBConnection (и любой другой компонент связи с БД) не рекоммендуется, т.к . они хранятся в открытом виде (как и в Delphi) и легко могут быть прочитаны коварными злодеями.
- При подтверждении транзакции (TSQLTransaction.Commit) одновременно и закрывается связанный с ним запрос (TSQLQuery). Это логично, т.к. всё равно придётся перезапрашивать данные после изменения.
- У компонента TSQLQuery есть три свойства, которых не было у аналогичного компонента в Delphi:
-- DeleteSQL, InsertSQL, UpdateSQL. Их назначение - содержать соответствующие SQL-запросы удаления\вставки\изменения данных, проводимые прямо в том наборе данных, который Вам вернул запрос к БД, текст которого содержится в свойстве SQL. Без них никакие изменения в наборе данных на сервер не попадут. В данной программе используются другие механизмы изменения данных, поэтому эти свойства оставлены пустыми. В Delphi эти функции выполнялись отдельным компонентом.
- Не забывайте положить в системный каталог или каталог с программой клиентскую библиотеку связи с сервером БД - fbclient.d ll.
Пишите вопросы. smile

Консультировал: sir Henry (Старший модератор)
Дата отправки: 11.03.2012, 21:07
Прикреплённый файл: посмотреть » [1.00 Mб]

5
Большое спасибо за пример и содержательный ответ!

-----
Дата оценки: 11.03.2012, 21:55

Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное