Topic: Много вопросов от совершенного новичка!!!

Вопрос первый, но далеко не последний smile
Как воплотить?: есть CheckBox и TextBox. Чекбокс работает по приципу тригера (да\нет). Можно ли активировать текстбок при флажке ДА и убирать техтбокс (деактивировать) при его снятии???

Re: Много вопросов от совершенного новичка!!!

Можно, используя скрипт, создать событие OnClick от компонента CheckBox, здесь вы можете прочитать, как создавать событие:
http://myvisualdatabase.com/help_ru/scr … rview.html


Пример

procedure Form1_CheckBox1_OnClick (Sender: string);
begin
     Form1.Edit1.Enabled := Form1.CheckBox1.Checked;
end;
Dmitry.

Re: Много вопросов от совершенного новичка!!!

Спасибо!
Но при запуске проекта выбивает ошибку: 'BEGIN' expected at 6:1
Кроме данного кода в скрипте нет ничего

Re: Много вопросов от совершенного новичка!!!

у вас должен получится такой код:

procedure Form1_CheckBox1_OnClick (Sender: string);
begin
     Form1.Edit1.Enabled := Form1.CheckBox1.Checked;
end;


begin

end.

скорей всего вы удалили в конце begin и end.
они обязательно должны быть.

Dmitry.

5 (edited by neitrino 2014-09-08 22:46:36)

Re: Много вопросов от совершенного новичка!!!

А где можно посмотреть команды языка на котором пишется код.
Данная команда не сработала Текстбокс так остался активным - в него можно вносить данные


Разобрался!!!
Помогла доп. команда:

procedure Form1_Edit1_OnChange (Sender: string);
  begin
Form1.Edit1.Enabled := frmNewMaterial.CheckBox1.Checked;
end;

Заработало именное в паре с тем кодом, что Вы мне написали.

Re: Много вопросов от совершенного новичка!!!

Еще вопрос: как после нажатия кнопки Сохранить отчистить все до этого заполненные Текстбоксы???

Re: Много вопросов от совершенного новичка!!!

Обычно форма очищается автоматически, перед тем как будет вызвана для создания новой записи.
Частая ошибка, для создания новой записи, присваивают действие Показать форму вместо Новая запись

Dmitry.

Re: Много вопросов от совершенного новичка!!!

DriveSoft wrote:

Обычно форма очищается автоматически, перед тем как будет вызвана для создания новой записи.
Частая ошибка, для создания новой записи, присваивают действие Показать форму вместо Новая запись

Понял.

Вот еще вопросец: как правильно расставлять Связи - какова приоритетность? Нужно ли в каждой таблице выставлять Counter? Что значит таблица является библиотекой?

Заранее благодарен!

Re: Много вопросов от совершенного новичка!!!

Как расставлять связи, к сожалению не подскажу, зависит от задачи, здесь можно посмотреть видео уроки, где этот вопрос рассматривается
http://drive-software.com/myvisualdatabase_ru.html


в каждой таблице создавать поле с типом Counter не нужно, он необходим только для автоматического создания уникального номера записи, например для номера дела.


Словарные таблицы, это в которых как правило содержаться справочные данные, например, города, пол, статус и т.д.

Dmitry.

10 (edited by neitrino 2014-09-19 00:59:57)

Re: Много вопросов от совершенного новичка!!!

Снова здравствуйте!
Новая задачка:
есть два чекбокса и есть задача, чтобы работали они по тригерной системе, т.е. галочку можно поставить только в одном, как только галочка ставится в другом, в первом она снимается.

Еще момент: после запуска программы (созданной) элементы, которые мы с Вами обсуждали, не погашены (я говорю о том коде, который написан выше в сообщении), до того момента, пока я не поставлю, а потом сниму галку в чекбоксе.
Как исправить?

Заранее спасибо!

Re: Много вопросов от совершенного новичка!!!

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


это можно сделать с помощью скрипта

procedure Form1_CheckBox2_OnClick (Sender: string);
begin
     Form1.CheckBox1.Checked := not Form1.CheckBox2.Checked;
end;

procedure Form1_CheckBox1_OnClick (Sender: string);
begin
     Form1.CheckBox2.Checked := not Form1.CheckBox1.Checked;
end;


на счет второго вопроса, попробуйте так

procedure Form1_CheckBox1_OnClick (Sender: string);
begin
     Form1.Edit1.Enabled := Form1.CheckBox1.Checked;
end;

begin
   Form1.Edit1.Enabled := Form1.CheckBox1.Checked;
end.
Dmitry.

12 (edited by neitrino 2014-09-19 10:17:13)

Re: Много вопросов от совершенного новичка!!!

ЗАРАБОТАЛО!!!
Спасибо огромное smile
В качестве предложения: добавьте кнопку "Откат" или "Возврат" в редакторе скрипта, будет очень удобно, чтобы не переписывать заново код, который редактировал, но он, допустим, не заработал.
Еще бы хотелось чтобы была настраиваемая сетка с линейками, в конструкторе форм - удобная вещь.

13 (edited by neitrino 2014-09-19 20:25:57)

Re: Много вопросов от совершенного новичка!!!

Снова я, с проблемой sad
При попытке сохранить в таблице значения выдает следующее:
table Table1 has no column named id_Table1

причем если удалить таблицу, то сохранение происходит

Кстати, данная проблема началась при установке версии 1.43 - раньше этого небыло

Re: Много вопросов от совершенного новичка!!!

neitrino
пришлите пожалуйста ваш проект на support@drive-software.com
со ссылкой на эту тему, постараюсь помочь.

Dmitry.

Re: Много вопросов от совершенного новичка!!!

ок

Re: Много вопросов от совершенного новичка!!!

Кстати, обратите внимание в Group Box "Информация о технике" ни в одном из ComboBox, в настройках, невозможно выбрать таблицы БД.

Re: Много вопросов от совершенного новичка!!!

neitrino wrote:

Кстати, обратите внимание в Group Box "Информация о технике" ни в одном из ComboBox, в настройках, невозможно выбрать таблицы БД.

дело в том, что у вас в структуре базы данных пока нет связей (внешних ключей), в настройке ForeignKey компонента ComboBox указывается внешний ключ.


neitrino
Ответил по емейл по поводу вашего проекта.

Dmitry.

18 (edited by neitrino 2014-09-20 15:24:41)

Re: Много вопросов от совершенного новичка!!!

Спасибо огромное!!! Правда раньше, в старой версии сохранение происходило, ну да ладно - буду знать smile

DriveSoft wrote:

дело в том, что у вас в структуре базы данных пока нет связей (внешних ключей), в настройке ForeignKey компонента ComboBox указывается внешний ключ.

А вот здесь более подробно - не совсем понял sad

Re: Много вопросов от совершенного новичка!!!

neitrino
пожалуйста, посмотрите данный видео урок
https://www.youtube.com/watch?v=cNnEXexH1dk


но этот видео урок был создан в старой версии, когда ComboBox действительно имел свойство TableName вместо ForeignKey, но сути это не меняет, без связей ComboBox работать не будет.

Dmitry.

Re: Много вопросов от совершенного новичка!!!

Это понятно! А как данные связи наводить - на примере моего проекта и в новой версии программы?
Кстати, а нет ли возможности заводить в ComboBox фиксированное кол-во записей, при этом не создавая таблицы?
Ну и сразу же скопом еще один вопрос: мой проект Вы видели, как в нем, да и любом другом, можно реализовать следующие - допустим мне нужно найти два объекта с диапазоном цен "от" и "до", для этого создается два TextBox, в которые вносится данный разброс цен и при нажатии кнопки "Поиск" происходит поиск объектов в данном диапазоне.
Заранее благодарен!

Re: Много вопросов от совершенного новичка!!!

Со связями вроде разобрался - хоть и не совсем понял логику.
А как по поводу остальных вопросов?

Re: Много вопросов от совершенного новичка!!!

Ау!

Re: Много вопросов от совершенного новичка!!!

Извиняюсь, забыл ответить.


к сожалению в вашем проекте, структура базы данных пока не построена полностью и назначение таблицы с названием tblChecBox мне не ясна.  Если по минимуму, у вас должны быть следующие таблицы в БД: Техника, Тип, Фирма, Модель, и другие таблицы, которые будут связаны с компонентами ComboBox


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


У компонента TextBox есть свойство Filter, у одного выберите значение >= а у второго <= таким образом вы сможете искать по диапазону.

Dmitry.