Topic: нужна помощь в выводе данных

Добрый день.
использую бесплатную версию 1.45
Пробую создать простой проект по организации информации по моделям смартфонов/ноутбуков и др. бытовой техники + свои допы в помощь при работе. В простом виде всё работает, но дальше начал усовершенствовать и дополнять полезностями и тут возникли вопросы "а как ..." (озвучу сразу все хотелки):
1. Как правильно реализовать поиск по ComboBox ? если при добавлении модели поле ввода TexBox. Заранее прописать все модели невозможно. Скорее тут нужен скрипт, можно ли его реализовать в версии 1.45? пробовал делать связи: в списке выпадают но при поиске ошибка связи.
2. Как сделать TexBox в котором будет сохраняться текстовая запись при закрытии (можно по кнопке или сохранение в txt)? пробовал скрипт по примеру Memo, но не получается.
3. Требуется создавать записи помодельно с кучей информации. Т.к. информации очень много, для экономии размеров решил разделить на 2 таблицы. Можно ли по 1 кнопке ПОИСК выводить результат в 2 таблицы? Пока реализовал поиск для 2 таблиц в 2 кнопки.
4. Можно ли по кнопке реализовать копирование в буфер данных их TexBox ?
5. Возможна ли реализация таймера обратного отсчёта (прописанного заранее) ?
6. Возможна ли реализация задаваемого таймера вручную (мин.) с последующим выводом сообщения поверх всех окон об окончании таймера?
Буду рад любому ответу или ссылке на "ткнуть носом". Пилотную версию прикрепляю

Post's attachments

Attachment icon 0.1.2.rar 5.52 kb, 395 downloads since 2016-09-20 

2 (edited by samum 2016-09-24 13:06:36)

Re: нужна помощь в выводе данных

2. Как сохранить в фаил реализовал, но таких полей 6 - теперь думаю как лучше это скомпоновать (6 файлов создавать не вариант).
4. вопрос снимается - реализовал скриптами

Re: нужна помощь в выводе данных

Приветствую,



1. К сожалению это возможно только в последнях версиях.


2. Лучше создать для этого отдельную таблицу в БД и сохранять там. Пример скрипта

procedure Form1_OnShow (Sender: string; Action: string);
begin
    Form1.Memo1.Text := SQLExecute('SELECT memo1 FROM memotable WHERE id=1');
    Form1.Memo2.Text := SQLExecute('SELECT memo2 FROM memotable WHERE id=2');
    Form1.Memo3.Text := SQLExecute('SELECT memo3 FROM memotable WHERE id=3');
end;

procedure Form1_OnClose (Sender: string; Action: string);
begin
    SQLExecute('INSERT OR REPLACE INTO memotable (id, memo1) VALUES(1, '+Form1.Memo1.sqlValue+')');
    SQLExecute('INSERT OR REPLACE INTO memotable (id, memo2) VALUES(2, '+Form1.Memo2.sqlValue+')');
    SQLExecute('INSERT OR REPLACE INTO memotable (id, memo3) VALUES(3, '+Form1.Memo3.sqlValue+')');
end;

3. В принципе можно, оставьте как есть две кнопки с действием "Поиск", но сделайте их невидимыми, затем разместите на форме еще одну кнопку, которая с помощью скрипта будет нажимать на эти две невидимые кнопки, пример:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.Button2.Click;
    Form1.Button3.Click;
end;

5-6
Это возможно, но к сожалению нет готового примера. Вам необходимо использовать скрипт с объектом TTimer
Здесь можете скачать пример использования объекта TTimer http://myvisualdatabase.com/forum/misc. … download=1

Dmitry.

Re: нужна помощь в выводе данных

3. Дмитрий, спасибо за подсказку - это вполне устроит
2. создал дополнительно таблицу memotable и в ней три текстовых поля memo1, memo2 и memo3. Прописал Ваш скрипт. Но при запуске ошибка скрипта Undeclared indentifier: 'sqlValue'
К сожалению, не силён в sql, побороть эту ошибку не смог даже на чистом проекте, состоящим из только 3-х мемо.
Возможно, этот скрипт не работает на версии 1,15 ?

Re: нужна помощь в выводе данных

samum wrote:

3. Дмитрий, спасибо за подсказку - это вполне устроит
2. создал дополнительно таблицу memotable и в ней три текстовых поля memo1, memo2 и memo3. Прописал Ваш скрипт. Но при запуске ошибка скрипта Undeclared indentifier: 'sqlValue'
К сожалению, не силён в sql, побороть эту ошибку не смог даже на чистом проекте, состоящим из только 3-х мемо.
Возможно, этот скрипт не работает на версии 1,15 ?

В старых версиях еще не было свойства sqlValue, поэтому его необходимо сменить на свойство Text, пример

SQLExecute('INSERT OR REPLACE INTO memotable (id, memo1) VALUES(1, '+Form1.Memo1.sqlValue+')');

измените на

SQLExecute('INSERT OR REPLACE INTO memotable (id, memo1) VALUES(1, "'+Form1.Memo1.Text+'")');
Dmitry.