Подскажите, как из поля ДАТА/ВРЕМЯ получить формат dd.mm.YYYY HH:mm (без секунд) для отображения в гриде?
Спасибо.
My Visual Database → Posts by adiziktdy
Подскажите, как из поля ДАТА/ВРЕМЯ получить формат dd.mm.YYYY HH:mm (без секунд) для отображения в гриде?
Спасибо.
все потому, что в случае EncodeTime(16, 0, 0, 0)
Вы получаете такую дату
30.12.1899 16:00:00
Спасибо!
Вышла из положения так
timeEnd:=FormatDateTime('HH',talon2.DateTimePicker1.DateTime); //время талона
условие
if timeEnd>='16' Then
begin
MessageBox('Время талона превышает время окончания рабочего дня','Предупреждение',MB_ICONINFORMATION);
Cancel:=True;
Рабочий день до 16:00
if talon2.DateTimePicker1.DateTime > EncodeTime(16, 0, 0, 0) Then
begin
MessageBox('Время талона превышает время окончания рабочего дня','Предупреждение',MB_ICONINFORMATION);
Cancel:=True;
end
else begin
MessageBox('Количество выданных талонов за этот день = '+IntToStr(countTal+1),'Информация', MB_OK+MB_ICONINFORMATION);
end;
Ошибка в том, что при любом изменении поля времени на наименьшее всё равно появляется Предупреждение. Подскажите советом пжлста.
Спасибо. Думала над этим. Просто эти справочники меняются/корректируются каждый год на основании правил приема в ВУЗы и соответственно нужно всё приводить в порядок.
Хотя можно и так.
procedure priem_corr_one_ComboBox6_OnChange (Sender: TObject);
begin
ShowMessage(priem_corr_one.ComboBox6.Text);
end;
Только пользователю нужно будет ещё раз на ОК жать..
Спасибо. AutoWidth у ComboBox появилось в версии 6.1 . У меня более ранняя.
Ладно, пусть остаётся как есть. В принципе по первой части можно понять о чём идёт речь, а выгружается текст полностью.
Возможно ли как-то "подсветить" выбираемый текст в ComboBox полностью, не изменяя заданную ширину ComboBox'а?
Как подсказку, например
Спасибо.
Ошибка в объявлении переменной cb: используйте класс TdbComboBox:
Спасибо! Так работает
PS.
Если комбобоксы заполнены командой dbSQLExecute, то содержимое стирается полностью. Я думаю, чтобы сбросить значения, достаточно присвоить им -1
cb.dbItemID:=-1
Проверено
Здравствуйте. Работает.
procedure talon2_Button3_OnClick (Sender: TObject; var Cancel: boolean);
var
nameCombo, j: string;
begin
nameCombo:='Form1.ComboBox.'; //в переменную общее имя комбобоксов
for i:=1 to 5 do
begin
j:=nameCombo+IntToStr(i)+'.Clear'; //цикл очистки по счетчику i
end;
end;
Здравствуйте.
Ругается на a.otvet_data = is Null.
Пробовал a.otvet_data = '' так же выходит ошибкаprocedure Form_oth_Button6_OnClick (Sender: TObject; var Cancel: boolean); begin if (not isAdmin) then Form_oth.Button6.dbSQL := 'distinct a.id, b.name, a.vhod_numer, a.vhod_data, a.otvet_data, a.otvet_numer '+ 'from zapros a '+ 'join departament b on a.id_departament=b.id '+ 'where a.otvet_data = is Null and a.id_departament = '+ inttostr (iddepartament) + else Form_oth.Button6.dbSQL := 'distinct a.id, b.name, a.vhod_numer, a.vhod_data, a.otvet_data, a.otvet_numer '+ 'from zapros a '+ 'join departament b on a.id_departament=b.id '+ 'where a.otvet_data = is Null '; end;
Скрипт в MySQL проходит без ошибок.
select distinct a.id, b.name, a.otvet_data, a.otvet_numer from zapros a join departament b on a.id_departament=b.id where a.otvet_data IS NULL
знак равенства нужно убрать
where a.otvet_data = is Null
Спасибо!
Как сделать правильно?
klass_edit.DateTimePicker1.Date:=12/31/2999;
Нужна либо галка CheckBox1 либо кнопка Button1 c процедурой OnClick
Form1.Table1.dbFilter:='Quantity>='+Form1.Edit1.Text;
Form1.Table1.dbUpdate;
Тогда фильтрация будет гибкой в зависимости от значения Edit.
Решение:
procedure Form1_OnShow (Sender: TObject; Action: string);
var
sqlstr: TDataSet;
sName: string;
begin
SQLQuery('Pragma table_info("mainTable")',sqlstr);
while not sqlstr.Eof do
begin
sName := sqlstr.FieldByName('name').asString;
Form1.ComboBox1.Items.Add(sName);
sqlstr.Next;
end;
end;
Спасибо большое!
Получила структуру в виде:
cid name type notnull dflt_value pk
0 id INTEGER 0 NULL 1
1 name TEXT 1 NULL 0
2 summa REAL (10, 2) 1 NULL 0
3 check BOOLEAN 1 NULL 0
4 dVvod DATE 1 NULL 0
Теперь осталось вытащить названия полей name из массива.
Буду думать
Чтобы заполнить содержимым, достаточно одной команды
Form1.ComboBox1.dbSQLExecute('SELECT name,id FROM mainTable');
ну или через || добавить необходимые для отображения поля (в sqlite) или CONCAT() в MySQL
Т.е. автоматически достать имена всех полей в таблице нельзя? Только явное указание?
procedure Form1_ComboBox1_OnDropDown (Sender: TObject); begin Form1.ComboBox1.dbSQLExecute('SELECT поле FROM таблица'); end;
Спасибо, но это немного не то. Мне нужна структура таблицы, т.е названия её полей.
Можно ли вывести структуру таблицы в ComboBox командой Form1.ComboBox1.dbSQLExecute(), не создавая вспомогательную таблицу с этой структурой?
Заранее спасибо за ответ.
Вышла из положения так:
1. В свойствах таблицы Editable-> AllowEdit -> False
2. Разрешила редактирование последней колонки
procedure Form1_TableGrid1_OnChange (Sender: TObject);
var i: integer;
begin
Form1.TableGrid1.Columns[11].Options := Form1.TableGrid1.Columns[11].Options + coEditing;
end;
Сообщение об ошибке:
Есть таблица с вычисляемым полем (номер 9 на рисунке)
procedure Form1_TableGrid1_OnChange (Sender: TObject);
var i: integer;
begin
For i:=0 to 10 do {запрет на редактирование всех колонок кроме последней}
Form1.TableGrid1.Columns[i].Options := Form1.TableGrid1.Columns[i].Options - coEditing;
end;
Но к нему всё равно остаётся доступ, если кликнуть по полю. Как вылечить?
manixs2013, you mean it?
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
OpenFile('calc.exe');
end;
Function OpenFile() calls anything executable file on Form.
You can try it:
procedure Form1_TableGrid1_OnChange (Sender: TObject);
var
i, c: integer;
begin
Form1.TableGrid1.Options := Form1.group1Grid.Options or goRowResizing;
c := Form1.group1Grid.Columns.Count - 1;
for i := 0 to c do
begin
Form1.TableGrid1.Columns[i].Header.Multiline:=True;
Form1.TableGrid1.Columns[i].VerticalAlignment := taAlignTop;
Form1.TableGrid1.Columns[i].WrapKind := wkWordWrap;
end;
end;
and this
Установки правильные, но проблему не решают
Кто уже работал в HelpNDoc? Файл справки создаётся на русском, а в поиске разделы отображаются иероглифами. Где копать?
Заранее спасибо.
My Visual Database → Posts by adiziktdy
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi