Topic: Бета версия 1.48

Скачать бета версию 1.48:
https://www.dropbox.com/s/6rz92s72djtmv … 8.zip?dl=0



- Для компонента TableGrid добавлен метод BestFitRow (30.11.2014)
позволяет для указанной строки автоматически изменить ее высоту, в зависимости от содержимого ячеек



- Реализована возможность создания новых полей в БД без потери данных (08.01.2015)


- Реализована возможность создания и удаления таблиц в БД без потери данных (09.01.2015)


- Реализована возможность удаления полей из таблиц БД без потери данных (10.01.2015)


- Реализована возможность редактирования полей из таблиц БД без потери данных (14.01.2015)


- Реализована новая функция для скрипта SQLQuery (12.01.2015)
Позволяет получить результат SQL запроса в объект TDataSet
Пример, выводит список всех фамилий и имен в компонент Memo:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);  
var
    Results: TDataSet;
begin
    SQLQuery('SELECT FirstName, LastName FROM person', Results);
    while not Results.Eof do
    begin
        Form1.Memo1.Lines.Add( Results.FieldByName('FirstName').AsString+' '+ Results.FieldByName('LastName').AsString);
        Results.Next;
    end;
    Results.Free;
end;



- Для компонента TableGrid добавлено свойство dbLimit (14.01.2015)
Позволяет задать максимальное количество записей, которое будет выведено в компонент.
Данное свойство работает только в том случае, когда в компонент выводится информация с помощью кнопки с действием "Поиск" или если используется опция компонента "Включить автовыполнение запроса"
пример:
Form1.TableGrid1.dbLimit := 1000;
Form1.TableGrid1.dbLimit := 0; // снимает ограничение на количество записей

Dmitry.

Re: Бета версия 1.48

при открытии проекта, созданного в версии 1.45, проект был испорчен. пропал файл forms.xml, файл скрипта потерял всю информацию.

Re: Бета версия 1.48

в чем смысл опции "Значение по-умолчанию" ? где его полезно применять?

Re: Бета версия 1.48

DenNik wrote:

в чем смысл опции "Значение по-умолчанию" ? где его полезно применять?

Например вы хотите добавить обязательное (Not Null) новое поле в таблицу БД,  в таком случае вы обязательно должны задать значение по умолчанию, так как в существующих записях, данное поле должно содержать какое либо значение по умолчанию.

Dmitry.

5 (edited by DenNik 2015-01-29 17:09:21)

Re: Бета версия 1.48

таблица имеет вид
http://ipic.su/img/img7/fs/001.1422550682.png

почему при настройке компонента TableGrid происходит задвоение поля record_count?
и почему два раза показана таблица main?
http://ipic.su/img/img7/fs/002.1422550826.png

и еще: поле id, которое не видно в дизайнере - что это? тоже счетчик?

Re: Бета версия 1.48

попробовал отобразить счетчики в таблице, получил:
http://ipic.su/img/img7/fs/003.1422551277.png

то есть, id - это индекс. зачем тогда нужно поле "СЧЕТЧИК", если оно даже в таблице не отображается?!

Re: Бета версия 1.48

DenNik wrote:

таблица имеет вид

почему при настройке компонента TableGrid происходит задвоение поля record_count?
и почему два раза показана таблица main?

и еще: поле id, которое не видно в дизайнере - что это? тоже счетчик?

Задваивается из за моей ошибки, не обращайтесь пока внимания, исправлю )


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

Dmitry.

Re: Бета версия 1.48

DenNik wrote:

попробовал отобразить счетчики в таблице, получил:
то есть, id - это индекс. зачем тогда нужно поле "СЧЕТЧИК", если оно даже в таблице не отображается?!

Не отображается, скорей всего потому что есть ошибка в проекте, например на форме нет компонента Counter, или не заполнено его свойство TableName или данный компонент не внесен в настройки кнопки с действием "Сохранить запись"

Dmitry.

Re: Бета версия 1.48

в таком случае не вижу практической пользы от поля "СЧЕТЧИК". поле id прекрасно удовлетворяет потребность в подобного рода информационном поле

Re: Бета версия 1.48

что такое # (Auto Increment) в окне настройки таблицы?

Re: Бета версия 1.48

DenNik wrote:

что такое # (Auto Increment) в окне настройки таблицы?

Это сквозная нумерация, если вам необходимо сделать колонку с порядковыми номерами.

Dmitry.

Re: Бета версия 1.48

DenNik wrote:

при открытии проекта, созданного в версии 1.45, проект был испорчен. пропал файл forms.xml, файл скрипта потерял всю информацию.

не знаю, как в более ранних версиях. но в этой я отловил очень жестокий баг, который может похерить многодневный труд (упоминание о том, что проект был седелан в 1,45, ни при чем)

короче так. я редактирую проект. сохраняю его. потом выбираю команду "файл/закрыть проект". все закрывается как положено. затем сворачиваю/разворачиваю окно среды разработки (обрати внимание!) и после этого, если выбрать команду "открыть проект", появляется вопрос "Сохранить изменения в проекте?" (что уже чуднО, поскольку я проект закрыл!). и вот если выбрать "Да" (я случайно однажды нажал), ЗАТИРАЕТСЯ ПОСЛЕДНИЙ РЕДАКТИРУЕМЫЙ ПРОЕКТ!!! - стирается файл forms.xml, обнуляется скрипт, обнуляется tables.ini! хорошо хоть БД не стирается!

неужели сложно ввести какой-нибудь внутренний flag: boolean, отвечающий за то, есть ли открытый проект или нет?!

и почему только после того как свернуть/развернуть среду, появляется вопрос? я даже представить не могу, как подобное можно наворотить в Дельфях!

Re: Бета версия 1.48

DenNik
Спасибо за найденный баг, поправлю )

Dmitry.

Re: Бета версия 1.48

DenNik
Поправил, скачайте пожалуйста бета версию 1.49
https://www.dropbox.com/s/bsk683d3yf6jv … 9.zip?dl=0

Dmitry.

Re: Бета версия 1.48

DriveSoft, почти поправил

1. запускаю программу. там, как полагается, открыт чистый проект
2. закрываю его.
3. сворачиваю\разворачиваю программу smile
4. теперь ПРИ ЗАКРЫТИИ ПРОГРАММЫ выдает запрос о сохранении проекта

Re: Бета версия 1.48

дополнительная информация. если во время закрытия проекта программа находится в свернутом (не на весь экран) состоянии, то при выполнении пунктов 2-4 не выдается запрос на сохранеи

Дмитрий, ты издеваешься над бедными пользователями? )

Re: Бета версия 1.48

вот видео записал
https://yadi.sk/d/Ivf1SZw0eNTUC

Re: Бета версия 1.48

DenNik
Спасибо еще раз, исправил )
https://www.dropbox.com/s/bsk683d3yf6jv … 9.zip?dl=0

Dmitry.

Re: Бета версия 1.48

новых багов не появилось? )))