Diesel Pascal
Модератор: Модераторы
-
Kemet
- постоялец
- Сообщения: 241
- Зарегистрирован: 10.02.2010 18:28:32
- Откуда: Временно оккупированная территория
- Контактная информация:
Я посмотрел парсеры в SynEdit и пришел к выводу, что UTF8 там нет только потому, что тому, кто эти парсеры писал, она была не нужна. Ну так исторически сложилось.
Но на первый взгляд технически перевести парсер на uf8 проблем нет, проблема как всегда одна - КТО СДЕЛАЕТ?
Но на первый взгляд технически перевести парсер на uf8 проблем нет, проблема как всегда одна - КТО СДЕЛАЕТ?
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
Kemet писал(а):Я посмотрел парсеры в SynEdit и пришел к выводу, что UTF8 там нет только потому, что тому, кто эти парсеры писал, она была не нужна. Ну так исторически сложилось.
Но на первый взгляд технически перевести парсер на uf8 проблем нет, проблема как всегда одна - КТО СДЕЛАЕТ?
Я к такому-же выводу пришел.
Я какое-то время посвятил этому вопросу, но по быстрому, на вскидку проблему решить не удалось, поэтому оставил до лучших времен, пока некогда, добавил подсветку для DieselPascal и успокоился...
Но это ерунда, это со временем все можно победить, есть ещё другая проблема. На практике использовать русскую транскрипцию можно только в случае, если удастся полностью все русифицировать, чтобы в момент набора кода, не переключаться в русский-английский, иначе это выносит мозг. Тут проблема заключается в том, что имена компонентов FCL и LCL понимает только латинские, т.е. кнопке имя - "Кнопка1" не присвоишь, будет только Button1. Поэтому с практическим применением без русских имен компонентов - большой вопрос...
Последний раз редактировалось *Rik* 09.04.2015 18:19:31, всего редактировалось 1 раз.
-
Kemet
- постоялец
- Сообщения: 241
- Зарегистрирован: 10.02.2010 18:28:32
- Откуда: Временно оккупированная территория
- Контактная информация:
В русификации компонентов/процедур и т.п. я не вижу особых проблем - делал когда-то для Дельфи свой интерпретатор, там был словарь псевдонимов, причем даже object inspector с русскими именами работал.
Добавлено спустя 9 часов 27 минут 57 секунд:
Юра, можно интегрировать fpspreadsheet и kcontrols из lazatrus_ccr, ну и до кучи Visual Synapse подтянуть.
А еще, а еще, саблю и будёновку ) - портировать с Дельфи и интегрировать библиотеку ObjectView
Добавлено спустя 9 часов 27 минут 57 секунд:
Юра, можно интегрировать fpspreadsheet и kcontrols из lazatrus_ccr, ну и до кучи Visual Synapse подтянуть.
А еще, а еще, саблю и будёновку ) - портировать с Дельфи и интегрировать библиотеку ObjectView
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
Kemet писал(а):Юра, можно интегрировать fpspreadsheet и kcontrols из lazatrus_ccr, ну и до кучи Visual Synapse подтянуть.
А еще, а еще, саблю и будёновку ) - портировать с Дельфи и интегрировать библиотеку ObjectView
Уп-фф..
У меня на работе полный ахтунг... Этот год вообще сумасшедший был.. Портировать скорее всего нет, просто по причине нехватки времени.
То что есть под Lazarus, можно, если поможете.. Процесс интеграции компонентов в движок ни как не автоматизирован, надо все public методы и свойства прописывать, рутины много. Если есть возможность работы с исходным кодом, я могу начать, Вы закончите... Либо ждать пока у меня работа в "лес не убежит", как по свободней будет можно заняться...
ObjectView - штука не плохая для создания аналога 1С. Многие такую штуку хотят, я подумываю о написании нечто подобного (хотя для меня она бесполезна, я предпочитаю без промежуточной прослойки юзать базу)...
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
Небольшая вводная по дизелю..
http://youtu.be/EES8aXxwAoI
http://youtu.be/EES8aXxwAoI
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
Выложил новую сборку.
Добавлена возможность шифрования приложения. Для шифрования приложения в дизайнере (CrossDesigner) в меню выбрать Файл->Зашифровать приложение. Откроется диалог выбора приложения (шифруется не то приложение, которое открыто в дизайнере, а то что будет указано через диалог выбора файла). После выбора приложения, оно будет зашифровано, при этом исходный файл остается не тронутым, рядом будет создан файл с тем-же именем и расширением .sl9". Зашифрованное приложение в дизайнер загрузить уже не получится, его можно только отправить на выполнение. При сборке из исходного кода, вы можете добавить собственную функцию шифрования и дешифрования, смотрите модуль CodeUtils.pas, он подключен в проекты CrossMachine и CrossDesigner. В модуле CodeUtils есть 2 переменные OnEncodeStr и OnDecodeStr - указатели на пользовательские методы шифрования строки, назначьте на эти переменные собственные методы.
Кроме защиты от внесения несанкционированных изменений, эта функция может быть полезна для организации коммерческого производства ПО на базе DiselPascal.
Добавлена возможность шифрования приложения. Для шифрования приложения в дизайнере (CrossDesigner) в меню выбрать Файл->Зашифровать приложение. Откроется диалог выбора приложения (шифруется не то приложение, которое открыто в дизайнере, а то что будет указано через диалог выбора файла). После выбора приложения, оно будет зашифровано, при этом исходный файл остается не тронутым, рядом будет создан файл с тем-же именем и расширением .sl9". Зашифрованное приложение в дизайнер загрузить уже не получится, его можно только отправить на выполнение. При сборке из исходного кода, вы можете добавить собственную функцию шифрования и дешифрования, смотрите модуль CodeUtils.pas, он подключен в проекты CrossMachine и CrossDesigner. В модуле CodeUtils есть 2 переменные OnEncodeStr и OnDecodeStr - указатели на пользовательские методы шифрования строки, назначьте на эти переменные собственные методы.
Кроме защиты от внесения несанкционированных изменений, эта функция может быть полезна для организации коммерческого производства ПО на базе DiselPascal.
Привет *Rik*
А ты в первоисточник IBX не посматриваеш ... там вроде новые компоненты появились http://www.mwasoftware.co.uk/downloads/category/2-ibx в дополнение к уже имеющимся ... интересно твое мнение
А ты в первоисточник IBX не посматриваеш ... там вроде новые компоненты появились http://www.mwasoftware.co.uk/downloads/category/2-ibx в дополнение к уже имеющимся ... интересно твое мнение
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
ogorodov писал(а):Привет *Rik*
А ты в первоисточник IBX не посматриваеш ... там вроде новые компоненты появились http://www.mwasoftware.co.uk/downloads/category/2-ibx в дополнение к уже имеющимся ... интересно твое мнение
Новые компоненты у них - это визуальные контролы, они мне не интересны. Они хоть и отдельным пакетом идут, но в кучу к IBX они их зря положили. SQL парсер у них какой-то появился, внутри TSelectSQLParser, только для Select запросов, как они его применяют не разбирался, у меня то-же есть парсер, но я его использую для разбора выражений EXECUTE BLOCKE и ORDER BY в SELECT для модификации, чтобы метод OrderByField работал.. Функционал у них не поменялся, в основном фиксят чего-то периодически. Я что нашел, в прошлом годе пофиксил, всё вроде работает.
А IBTable работает (без программных манипуляций с транзакциями и т.п.)?
Дизель-Паскаль 1.6.2.
IBTransaction1 -> IBDatabase1 <- IBTable1 <- DataSource1 <- DBGrid1
Пытаюсь отредактировать запись, при попытке отправить изменения
1. При использовании одной транзакции:
Operation cannot be performed on an inactive dataset
Данные в базу коммитятся, а IBTable1.Active становиться False.
2. При раздельных транзакциях:
Transaction is not active
Данные не отправляются, IBTable1 активна, но изменения можно только отменить.
P.S. При раздельных транзакциях, даже если вручную в Object Inspector выставить IBWriteTransaction.Active в True, при запуске она сбрасывается в False.
Дизель-Паскаль 1.6.2.
IBTransaction1 -> IBDatabase1 <- IBTable1 <- DataSource1 <- DBGrid1
Пытаюсь отредактировать запись, при попытке отправить изменения
1. При использовании одной транзакции:
Operation cannot be performed on an inactive dataset
Данные в базу коммитятся, а IBTable1.Active становиться False.
2. При раздельных транзакциях:
Transaction is not active
Данные не отправляются, IBTable1 активна, но изменения можно только отменить.
P.S. При раздельных транзакциях, даже если вручную в Object Inspector выставить IBWriteTransaction.Active в True, при запуске она сбрасывается в False.
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
v-t-l писал(а):А IBTable работает (без программных манипуляций с транзакциями и т.п.)?
Дизель-Паскаль 1.6.2.
IBTransaction1 -> IBDatabase1 <- IBTable1 <- DataSource1 <- DBGrid1
Пытаюсь отредактировать запись, при попытке отправить изменения
1. При использовании одной транзакции:
Operation cannot be performed on an inactive dataset
Данные в базу коммитятся, а IBTable1.Active становиться False.
2. При раздельных транзакциях:
Transaction is not active
Данные не отправляются, IBTable1 активна, но изменения можно только отменить.
P.S. При раздельных транзакциях, даже если вручную в Object Inspector выставить IBWriteTransaction.Active в True, при запуске она сбрасывается в False.
IBTable пока не используйте...
IBTable возможно совсем уберу, - это зло..
IBTable возможно совсем уберу, - это зло..
Зато удобное
IBTable вполне работает, если в рантайме активировать UpdateTransaction.
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
v-t-l писал(а):IBTable возможно совсем уберу, - это зло..
Зато удобное- не надо всякие скюэли заполнять.
IBTable вполне работает, если в рантайме активировать UpdateTransaction.
UpdateTransaction не стоит долго держать открытой. Не завершенная пишущая транзакция будет удерживать версии записей.
Обновитесь, должно работать:
ibx 2.2.5
Дизель-паскаль 1.6.3
Не, как и было. 
Добавлено спустя 46 минут 52 секунды:
Может я что не так делаю?
Простейший тестовый проект во вложении.
База любая, таблица любая.
Добавлено спустя 46 минут 52 секунды:
Может я что не так делаю?
Простейший тестовый проект во вложении.
База любая, таблица любая.
- Вложения
-
- testfbd2.lm9.7z
- (1.03 КБ) 1013 скачиваний
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
v-t-l писал(а):Не, как и было.
Добавлено спустя 46 минут 52 секунды:
Может я что не так делаю?
Простейший тестовый проект во вложении.
База любая, таблица любая.
Я ваш проект поправил (см. вложение). Эти компоненты рассчитаны на работу с раздельными транзакциями, читающей и пишущей, я добавил пишущую, установил параметры. Про использование раздельных транзакций можно прочитать здесь:
http://www.devrace.com/ru/fibplus/articles/2169.php
ps.
В проекте исправьте подключение к базе данных в компоненте IBDatabase1, я его затер.
- Вложения
-
- testfbd2.7z
- (1.52 КБ) 1016 скачиваний
Спасибо.
