Как сделать чтобы в гриде время отображалось в формате HH:MM (без секунд)
52 2017-03-30 11:13:59
Topic: формат textbox (1 replies, posted in Russian)
Много написано про формат даты/время, а интересует как можно сделать чтобы в textbox отображались числа формата 123 456,78 число может быть любое (3-15 значное), маской не могу сделать.
В Excel это реализовано # ##0,00 как сделать здесь не пойму
53 2016-11-22 03:33:10
Re: Версия 3.1 final (37 replies, posted in Russian)
На сколько я понял ошибку - существует таблица пользователей и таблица с правами пользователей. Все сводится в один грид. При выводе данных, из грида в текстовое поле, права выводятся в виде id записи а не самого значения (в гриде отображается верно)
54 2016-11-18 10:36:08
Re: Версия 3.1 final (37 replies, posted in Russian)
Login.TableGrid1.Cells[2,str] выводит id записи а не значение
55 2016-11-18 10:27:04
Re: Версия 3.1 final (37 replies, posted in Russian)
Скрипт такой
procedure Login_TableGrid1_OnCellClick (Sender: string; ACol, ARow: Integer); // определение пользователя, пароля
var
str : integer;
begin
str := Login.TableGrid1.SelectedRow; //определяем выбранную строку в таблице
Login.Edit1.Text:= Login.TableGrid1.Cells[0,str];// записываем в текстовое поле данные с колонок по выбранной строке
Login.Edit2.Text:= Login.TableGrid1.Cells[2,str];
sUser:= Login.TableGrid1.Cells[1,str];
end;
procedure Login_Button1_OnClick (Sender: string; var Cancel: boolean); // вход по паролю
var
pas, pas1 : string;
begin
pas:= Login.Edit2.Text;
pas1:= Login.Edit3.Text;
if pas = pas1 then Login.Close else MessageDlg('Пароль не верен', mtError, mbOk, 0);
end;
на пароль реагирует адекватно (при неверно введенном выдает ошибку ввода) но после входа переменная sUser:string; определяется как 1, ответственно разделение прав не работает
переменную назначаю в самом начале скриптов
56 2016-11-18 04:17:53
Re: Версия 3.1 final (37 replies, posted in Russian)
ZBear wrote:При запуске из версии 3.0 неверно определяется пользователь и выходят ошибки. В 2.8 всё работает.
Исправил, скачайте пожалуйста снова последнюю версию 3.01а
Ошибок больше нет, но скрипт определения пользователя так и отрабатывает не верно, ещё раз отмечу - в 2.8 всё работает.
57 2016-11-17 04:24:08
Re: Версия 3.1 final (37 replies, posted in Russian)
При запуске из версии 3.0 неверно определяется пользователь и выходят ошибки. В 2.8 всё работает.
58 2016-03-25 11:14:44
Topic: Ощибка при поиске (1 replies, posted in Russian)
Установи фильтр на значение поиска меньше либо равно и теперь при поиске появляется ошибка, при фильтре "равно" всё работает.
версия 2.5
59 2016-02-29 07:23:55
Re: Нужна помощь (28 replies, posted in Russian)
Шаловливые ручки покою не дают. Попробую объяснить вопрос - есть база ТО приборов (парк ~3000 позиций) у каждого прибора ежемесячное ТО, в базе плановая дата и фактическая. Необходимо 31 января очищать все фактические даты и пересчитывать плановые на +1 год. Как возможно сделать? Проект во вложении но он рассчитан на MySQL
Форма ТОиППР пароль администратора $
61 2016-02-26 09:56:43
Re: Нужна помощь (28 replies, posted in Russian)
Спасибо, всё работает.
Назрел ещё один вопрос. У меня по чек-боксу срабатывает скрипт который меняет значение DateTimePicker.
При изменении данного DateTimePicker срабатывает скрипт но срабатывает только при ручном изменении.
Как сделать что-бы после сработки первого скрипта запускался второй? объединить в один не вариант так-как они достаточно громоздкие.
62 2016-02-19 03:21:10
Re: Нужна помощь (28 replies, posted in Russian)
Увеличил до 512М. При загрузке файла в 32М выдаёт ошибку как во вложении
63 2016-02-18 11:13:25
Re: Нужна помощь (28 replies, posted in Russian)
Не правильно сформулировал вопрос. Не импорт файла в базу, а сохранение файла в базу.
64 2016-02-17 11:33:17
Re: Нужна помощь (28 replies, posted in Russian)
Что бы не плодить тем напишу здесь. Как снять ограничение на импорт файлов в базу MySQL? У меня грузит файлы до 4 мб, нужно в пределах 15
65 2016-02-01 03:34:48
Re: Нужна помощь (28 replies, posted in Russian)
По поводу второй ошибки, программа не умеет автоматически связывать между собой те таблицы, между которыми нет связи, в вашем случае это таблицы SI и apparats, они связаны через таблицу posit, поэтому вы должны в таблице posit создать вычисляемое поле, в котором будет выведено необходимое значение из таблицы apparats и уже это вычисляемое поле необходимо выводить в грид.
Выч. поле для таблицы posit, которое выводит значение из apparats.apparat
(SELECT apparats.apparat FROM apparats WHERE apparats.id=posit.id_apparats)
И ещё вопрос, как связать три таблици SI->posit->apparats->plan_gp ?
66 2016-01-29 03:10:04
Re: Нужна помощь (28 replies, posted in Russian)
Пароль 11, проверка заполнения поля пароля отключена так-что можно просто закрыть форму ввода пароля.
Сразу же при запуске появляется ошибка на колонку которая передаётся через вычисляемое поле, если оставить в таблице только поля этой связи то всё работает, стоит только добавить хотя бы ещё одну одну колонку передающуюся через связь сразу появляется ошибка.
Связанных списка у меня два и оба работают одинаково.
67 2016-01-28 12:55:42
Re: Нужна помощь (28 replies, posted in Russian)
Спасибо за помощь.
Нашёл ещё ошибку (или я что-то не так делаю ), сделал связанные списки, на SQLite работает, на MySQL выходят ошибки главной таблици
68 2016-01-22 05:14:13
Re: Нужна помощь (28 replies, posted in Russian)
В принципе с ошибкой решил. Переработал всю структуру базы.
Появился новый вопрос. Существует таблица:
Тип СИ Модель Номер и т.д.
Манометр МП-4 123 .....
Манометр МП-4 145 .....
Манометр МП-3 321 ........
Датчик давления Метран-150 231 ..........
Необходимо подсчитать и вывести в отдельной таблице количество каждых Тип-Модель
В таком виде
Тип СИ Модель Кол-во
Манометр МП-4 2 шт.
Манометр МП-3 1 шт.
Датчик давления Метран-150 1 шт.
69 2016-01-19 07:17:56
Re: Нужна помощь (28 replies, posted in Russian)
Изображение вынес в отдельную таблицу-справочник.
Теперь при добавлении возникает такая ошибка (во вложении).
70 2016-01-19 03:43:15
Re: Нужна помощь (28 replies, posted in Russian)
Спасибо, ошибки с изображением больше нет. Скрипт тоже стал более стабилен (иногда были ошибки).
Не работает такой момент:
begin
main.mainGrid.Cell[iCol,iRow].Color := clRed; // если год меньше текущего
main.mainGrid.Cell[15,iRow] := 'Просрочен'; //<= Не работает
end;
Хотелось что бы при определённом условии (в данном случае истёкший срок) заполнялось поле в таблице для осуществления поиска по этому идентификатору.
Всё, не актуально. Сделал просто поиск по дате с фильтром.
71 2016-01-18 06:16:35
Re: Поквартальная выборка в грид (3 replies, posted in Russian)
если ещё актуально
DecodeDate(si.DateTimePicker2.DateTime, YY, MM, DD); // декодируем дату поверки
si.Edit6.Text := (IntToStr(MM)); // извлекаем месяц
si.Edit8.Text := (IntToStr(YY)); // извлекаем год
m := StrToInt (si.Edit6.Text);
y := StrToInt (si.Edit8.Text);
if (m >=1) and (m <=3) then si.Edit7.Text := '1'; // определяем квартал
if (m >=4) and (m <=6) then si.Edit7.Text := '2';
if (m >=7) and (m <=9) then si.Edit7.Text := '3' ;
if (m >=10) and (m <=12) then si.Edit7.Text := '4';
72 2016-01-18 03:54:12
Re: Нужна помощь (28 replies, posted in Russian)
1. Добавляю поле.
2. Запускаю проект.
3. Открываю прибор через форму редактирования.
4. Появляется ошибка.
По первому вопросу есть какие-нибудь предложения?
73 2016-01-15 07:20:12
Re: Нужна помощь (28 replies, posted in Russian)
И ещё вопрос.
Добавляю в основную базу поле ИЗОБРАЖЕНИЕ, при открытии формы для редактирования или просмотра записи появляется ошибка - #42S22Unknown column 'SI.foto_filename' in 'field list'
Добавляю в любой справочник - всё нормально
75 2016-01-14 10:15:21
Topic: Нужна помощь (28 replies, posted in Russian)
Не могу вставить значение в ячейку. Ругается на несоответствие форматов, перепробовал уже все варианты. Может я что-то не так делаю
procedure main_mainGrid_OnChange (Sender: string; Action: string);
var
i, mNow, yNow, c, q, e : integer;
iRow, iCol : integer;
k : integer;
DD, YY, MM: word;
begin
c := main.mainGrid.RowCount - 1;
i := main.mainGrid.Columns.Count-1;
for iRow := 0 to c do
for iCol := 0 to i do
begin
DecodeDate(Now, YY, MM, DD); // декодируем текущую дату
mNow := StrToInt ((IntToStr(MM))); // извлекаем месяц
yNow := StrToInt ((IntToStr(YY))); // извлекаем год
q := StrToInt (main.mainGrid.Cells[13,iRow]); // определяем квартал поверки
e := StrToInt (main.mainGrid.Cells[14,iRow]); // определяем год поверки
if (mNow >=1) and (mNow <=3) then k := 1; // определяем текущий квартал
if (mNow >=4) and (mNow <=6) then k := 2;
if (mNow >=7) and (mNow <=9) then k := 3 ;
if (mNow >=10) and (mNow <=12) then k := 4;
if (e < yNow) then
begin
main.mainGrid.Cell[iCol,iRow].Color := clRed; // если год меньше текущего
main.mainGrid.Cell[15,iRow] := 'Просрочен'; //<= Не работает
end;
if (e = yNow)and (q < k) then main.mainGrid.Cell[iCol,iRow].Color := clRed; // год совпадает квартал меньше текущего
if (e = yNow)and (q = k) then main.mainGrid.Cell[iCol,iRow].Color := clYellow; // квартал и год совпадает с текущим
if (e = yNow)and (q - k = 1) then main.mainGrid.Cell[iCol,iRow].Color := clGreen; // квартал и год совпадает с текущим
begin
main.Edit3.Text := 'Списан';
main.Edit4.Text := 'На списание';
begin
main.mainGrid.BestFitColumns(bfBoth); // автоподбор ширины по содержимому ячеек и названия колонок
end;
end;
end;
end;
проект во вложении
в принципе мне нужен просто какой-то идентификатор по условию что-бы осуществлять по нему выборку(поиск)