76

(237 replies, posted in Russian)

Предложение по улучшению компонента DBFile. Есть такая бесплатная программа SoftBase Standart ( для организации информации по дистрибутивам программ). В ней мне очень нравится как реализованы относительные пути: если программа определяет, что файл или папка лежат внутри каталога с программой, то она автоматически делает путь относительным... Если нет, то прописывает полные пути или позволяет вручную их "обрезать". Это сильно повышает юзабилити программы создаваемой программы. Сейчас это можно реализовать с помощью скриптов, но хотелось бы иметь встоенную возможность. smile

77

(41 replies, posted in Russian)

Присоединюсь к вышесказанному. Мне очень хочется, чтобы продукт развивался, и я готов платить за результат, но такие цены вводят меня в некоторый ступор. Не скажу точно, но, вроде бы, это получается одна из самых дорогих программ данной категории... А продукт-то пока ещё весьма сырой.
Я без колебаний отдам за персональную версию (минорные обновления) 1000-1500 руб., за пожизненную лицензию - в  два раза больше. А вот на счёт корпоративной... Мне кажется просить за нее деньги вообще пока рано. Во всяком случае, пока не будет внедрена нормальная и понятная реализация прав пользователей и системы блокировок. А для этого нужно уходить с SQLite.

Цитата atempbox

Да, согласен, цена высоковата. Не очень понятна пожизненная лицензия, потому как если честно будут выпускаться версии с 1.46 по 1.99 то это больше 50-ти версий, а при выпуски даже по версии в месяц - это почти пять лет :-)

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

78

(237 replies, posted in Russian)

1) Хотелось бы иметь возможность добавлять свои иконки и изменять иконку приложения.
Ну или иметь более широкий выбор иконок.
2) Предполагается ли введение новых компонентов? Напр., radio buttons или RichEdit.

DriveSoft wrote:

alex842
попробуйте без проверок, просто сделав так, думаю кавычки в любом случае не помешают

OpenFile('"' + file + '"',prog);

Действительно, так значительно проще. smile

Кстати, заметил, что функция "ExtractFilePath" два раза в скриптах отображена: в разделе Other и Files.

2. Добавил новую функцию в бета версию 1.46, скачайте ее: https://www.dropbox.com/s/30ysr48sd8ca4 … 6.zip?dl=0
SelectDirectory(const Caption: string; const Root: String; var Directory: string) : Boolean

А если бы ещё можно было и начальную папку задавать... roll

DriveSoft wrote:

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

попробуйте так

var
prog,file:string;
begin
prog:= 'C:\Program Files (x86)\Windows NT\Accessories\wordpad.exe';
file:= '"D:\MailCloud\Программирование\My Visual Database\DistribCat\ReadMe.rtf"';
OpenFile(file,prog);

Проверил ещё раз это решение. Оно работает, если путь к файлу точно известен, а если надо использовать команды ExtractFilePath или ExtractFileDir, то ошибка опять появляется. Для того, чтобы этого избежать, я ввел проверку на наличие пробелов в пути. Финальный вариант процедуры такой:

procedure FrMain_Button2_OnClick (Sender: string; var Cancel: boolean);
var
  prog,file,path:string;
begin
  path:= ExtractFilePath(Application.ExeName); //получаем путь к папке
  prog:=path+'SoloPad.exe'; //получаем путь к программе, которая находится в папке с исполняемым файлом. 
  If Pos(' ', path) Then //проверяем наличие пробелов в пути
    file:= '"'+path+'ReadMe.rtf"' // если есть, то заключаем в кавычки
  else
    file:= path+'ReadMe.rtf'; // если нет, то ничего не делаем. 

  OpenFile(file,prog);
end;

Подскажите, пожалуйста, а как сделать следующее:
1) Открыть не файл, а папку.
2) Вызвать диалог открытия папки.
3) Удалить папку с подпапками.

Спасибо! Работает.

Не нашел, спрашивал ли уже кто или нет, но столкнулся с такой проблемой:

var
prog,file:string;
begin
prog:= 'C:\Program Files (x86)\Windows NT\Accessories\wordpad.exe';
file:= 'D:\MailCloud\Программирование\My Visual Database\DistribCat\ReadMe.rtf';
OpenFile(file,prog);

При попытке выполнения этого кода вылазит ошибка, что не найден файл и выдается путь "D:\MailCloud\Программирование\My", т.е. до первого пробела. Как этого избежать?

Подскажите, пожалуйста, как можно программно поменять фильтр у компонента Календарь. Т.е. по умолчанию при поиске по дате фильтр равен "=", а как сделать, чтобы при нажатии на кнопку фильтр становился ">="?

85

(3 replies, posted in Russian)

Собственно говоря, у меня два вопроса:
1) Есть поле Цена и Поле Кол-во. - Как их перемножить? Делаю вычисляемое поле и пишу в нем так:
"SELECT Main.Price * Main.Number FROM Main". Выдает ошибку "near "SELECT" syntax error".

2) Можно ли реализовать сумму прописью в программе или при выводе в отчёт?

86

(237 replies, posted in Russian)

Парочка пожеланий:
1) В редакторе скриптов сделать подсветку строки, в которой находится курсор. Пример: любой бесплатный редактор типа AkelPad, Notepad++. Особенно это удобно, когда при двойном клике на процедуре в свойствах компонента, открывается редактор и курсор ставится на ту часть кода, где эта процедура находится. Так вот - найти курсор не всегда сразу получается. А так будет сразу видно... smile

2) Добавить компонент RadioButton для выбора одного варианта из нескольких.

87

(11 replies, posted in Russian)

Нашел небольшую опечатку. Мелочь, а в глаза бросается smile.
Когда пытаешься отредактировать запись в таблице, при этом не выделив ни одной записи, то появляется предупреждение: "Невыбрана запись для редактирования". "Не выбрана" пишется раздельно. Поправьте, пожалуйста.

И ещё: можно ли как-то отключить контекстное меню в таблице? Как правило, оно мне не нужно и только смущает пользователей.

88

(2 replies, posted in Russian)

Вопрос можно закрыть. Это не баг. Это моя невнимательность: после удаления старых контролов после некоторых экспериментов, забыл почистить скрипты... Как только почистил код, всё стало нормально.

89

(13 replies, posted in Russian)

frost666 wrote:

как можно реализовать поиск  по таблице , например, ФИО где ФИО одно текстовое поле
Иванов Иван Иванович
Иванов Константин Матвеевич
Иванченко Герасим Христофорович
Иванесян Рафик Ашотович

к примеру - Ива* используя "*"  (или как то иначе) т.е.  вывести в tableGrid все записи начинающиеся с "Ива" по нажатии
кнопки

Создаете ещё одно текстовое поле. Связываете его с полем ФИО в базе. В свойствах напротив Filter указываете %s%. Тогда у Вас, напр,.при вводе Ива будут показаны записи, содержащие Ива не только в начале, но и в любом месте поля (в имени, фамилии или отчестве). Потом создаете кнопку. В ней выбираете Action "Поиск". Указываете вновь созданное поле и заполняете форму. И теперь при нажатии на кнопку будут отображаться нужные записи. А если в свойстве текстового поля Increm.Search указать только что созданную кнопку, то у Вас будет инкрементный поиск, т. е. записи будут отображаться по мере набора.

90

(2 replies, posted in Russian)

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

91

(9 replies, posted in Russian)

Не нашел тему по ошибкам и багам новой версии (куда-то она совсем далеко задвинулась), поэтому пишу сюда.

Обнаружил такой баг: не могу поменять цвет названия вкладок у PageControl, ни в дизайнере, ни через скрипт. Какой бы цвет я не выбрал, он остается черным.
При этом все остальные параметры меняются нормально. Пробовал на версии 1.41 и 1.42, которую скачал из одного из новых постов.

92

(237 replies, posted in Russian)

Сортировка списка таблиц и связей по алфавиту в выпадающих меню и списке (при выборе связи между таблицами).

П.С.
И еще не помню было ли так в прошлой версии: при настройке грида нужно выбрать в комбобоксе таблицу. В списке отображаются не только таблицы, но и связи. Это нормально?

Хотелось бы иметь оффлайн справку. А то инет к сожалению все еще не везде есть...

Calibe wrote:

Скажите, что я тогда не так делаю? вставил этот текст скрипта, исправил на свои названия чекбокса и комбобокса, а он при запуске проекта пишет "BEGIN" expected

Ну раз он говорит, что не находит "begin", то, скорее всего, Вы потеряли это ключевое слово. smile
В обеих новых процедурах проверьте, чтобы после строки с названием процедуры шло слово "begin" (это если Вы не объявляете переменные var).

Или, возможно, Вы удалили обязательную конструкцию begin ... end. Она должна находится в самом низу редактора. Эта конструкция, которая осталась от примерочного скрипта Hello. Т.е. эти два слова нельзя удалять! Все что между ними, можно...

1) Горизонтальный скролбар в редакторе скриптов или перенос по словам!!!
2) Скролбары в компоненте Memo. (Во всяком случае обязательно нужен вертикальный!)
3) Удаление процедуры из свойства компонента при удалении ее из редактора скриптов (Наподобие того, как это реализовано в Embarcadero XE). Вообще, в идеале было бы сделать возможность сворачивать код и ввести окно навигации по коду, т.е. вертикальное окно, в котором отображается список всех процедур и функций и при клике на названии можно было бы быстро переходить в нужное место кода. Напр., как это сделано в Notepad++ или Akelpad. Типа содержания кода... smile

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

96

(31 replies, posted in Russian)

Не работает опция "Сохранить как"... Т..е она бесполезна. Объясню: я начал проект. Через какое-то время решил попробовать изменить дизайн формы. Сохранил проект. Потом пересохранил его через опцию "Сохранить как"... Удалил старую форму, сделал новую, поработал... Потом решил вернуться к старому сохранению... И.... ничего не получилось. Все осталось как прежде, т.е. из версии 2. Видимо, потому что настройки таблиц и форм хранятся в ини-файле. При нажатии на "Сохранить как" происходит сохранение только файла проекта, а эти ини-файлы остаются не тронутыми. В результате, они благополучно перезаписываются. Т.е. сейчас единственный простой способ сделать сохранение проекта - это скопировать папку в другое место...

1) Возможность копирования записи.
2) Выпадающий список с чекбоксами. Тогда можно было бы организовать систему тэгов, меток.
3) Компоненты ListView, ListBox. Побольше файловых функций.
4) Было бы замечательно, если бы удалось внедрить в проект AlphaControls. Есть у этих компонентов такая замечательная функция: каждый компонент имеет встроенное свойство (забыл как точно называется) Caption. Т.е. не надо отдельно добавлять на форму label. У компонента активируем данное свойство, задаем текст, выравнивание (слева, справа, сверху слева, сверху по центру и т.п.). Очень удобно. Кстати, насколько я знаю для жителей стран СНГ компоненты абсолютно бесплатны... А также они позволяют менять оформление программы.

Подскажите, пжл..: есть таблица Translators, В ней есть поле "Город", значения для которого берутся из таблицы-справочника "Cities".

Делаю такой запрос:

SELECT
  Translators.Active,
  Translators.DateAdd,
  Translators.Name,
  Translators.FirstName,
  Translators.Patronymic,
  Translators.id_Cities,
  Translators.id,
  TranslTheme.id_Themes
FROM Translators
  INNER JOIN TranslLang ON Translators.id = TranslLang.id_Translators
  INNER JOIN TranslTheme
    ON Translators.id = TranslTheme.id_Translators
WHERE
  TranslLang.LangPair LIKE '{edLangPair}' AND
  TranslTheme.id_Themes LIKE '{cbThemesSearch}'
 

В результате в таблице в столбце "Город", отображаются числа. Как сделать, чтобы пользователь видел название города?

99

(15 replies, posted in Russian)

DriveSoft wrote:

alex842
Моя недоработка, чтобы поиск заработал, пришлось вывести в результат поиска поле TranslTheme.id_Themes, заодно и поле Themes.ThemesID


если наличие TranslTheme.id_Themes в результатах поиска недопустимо, придется делать поиск через SQL запрос.


исправленный проект приатачен к сообщению.

Спасибо! Буду разбираться. Наличие этих столбцов не критично.

100

(15 replies, posted in Russian)

Подскажите, пжл., никак не могу наладить поиск по дочерней таблице с помощью стандартной функции ПОИСК.

Бросил на форму несколько компонентов: текстовое поле для поиска по ФИО, парочку комбобоксов для поиска по другим параметрам. Везде поставил инкрементный поиск. Все работает отлично, пока не начинаю искать по теме. Т.е. выбираю значение в комбобоксе, связанном с таблицей темы... Тут и вылезает ошибка, что такого поля нет...
Никак не могу понять, где моя ошибка.