Sorry for delay. Missed your message.
I made example for you.
My Visual Database → Posts by DriveSoft
Sorry for delay. Missed your message.
I made example for you.
Please, send me your project to support@drive-software.com
with link on this topic.
Thanks.
Приветствую,
скачайте пожалуйста пример, как вывести текущее время
http://myvisualdatabase.com/forum/misc. … download=1
на счет логина пользователя, подсказать не могу, так как мне необходимо видеть для этого скрипт вашего проекта.
Попробуйте по аналогии этого кода, разукрашивать не более ста строк, вам необходимо добавить данную строку
if c > 100 then c := 100;
procedure Form1_TableGrid1_OnChange (Sender: string);
var
i,c: integer;
begin
Form1.TableGrid1.BeginUpdate;
c := Form1.TableGrid1.RowCount - 1;
if c > 100 then c := 100;
for i := 0 to c do
begin
if Form1.TableGrid1.Cells[3,i] = 'Yes' then Form1.TableGrid1.Cell[3,i].Color := clRed;
if Form1.TableGrid1.Cells[3,i] = 'No' then Form1.TableGrid1.Cell[3,i].Color := clGreen;
end;
Form1.TableGrid1.EndUpdate;
end;
procedure Form1_TableGrid1_OnChange (Sender: string);
var
i,c: integer;
begin
Form1.TableGrid1.BeginUpdate;
c := Form1.TableGrid1.RowCount - 1;
for i := 0 to c do
begin
if Form1.TableGrid1.Cells[3,i] = 'Yes' then Form1.TableGrid1.Cell[3,i].Color := clRed;
if Form1.TableGrid1.Cells[3,i] = 'No' then Form1.TableGrid1.Cell[3,i].Color := clGreen;
end;
Form1.TableGrid1.EndUpdate;
end;
обратите внимание, в начале и в конце есть строки кода
Form1.TableGrid1.BeginUpdate;
Form1.TableGrid1.EndUpdate;
которые позволяют оптимизировать прорисовку, попробуйте их
Вы выяснили, что именно приводит к такой медленной работе?
если отключить в скрипте все украшательства, быстрей работает?
сохраняете ли непосредственно в базе файлы или изображения?
Можете, просто откройте ваш проект в версии 1.45 и запустите его, таким образом он обновится.
Никаких других действий не требуется.
Готово )
Добрый день )
Посмотрите данный видео урок
https://www.youtube.com/watch?v=cNnEXexH1dk
в нем ComboBox используется для выбора группы абонента.
В вашем случае, вместо абонентов будут изделия, а вместо группы, названия изделий.
Если не разберетесь, отправьте пожалуйста ваш проект на support@drive-software.com
Сложно прогнозировать, с учетом предновогодних праздников и выходных, но возможно успею сделать это до нового года.
Скачайте пожалуйста бета версию 1.48, добавил в ней функцию DecimalSeparator
https://www.dropbox.com/s/6rz92s72djtmv … 8.zip?dl=0
Попробуйте так
procedure Form1_Edit2_OnKeyPress (Sender: string; var Key: Char);
begin
case Key of
'0'..'9', #8: begin end;
',','.': IF Pos(DecimalSeparator, Form1.Edit2.Text)=0 Then Key:=DecimalSeparator Else Key:=#0;
Else Key:=#0;
end;
end;
Пожалуйста, попробуйте еще раз прикрепить ваш проект (архив .zip) к сообщению, удалив из него exe и dll файл.
В текущей версии, изменять структуру без потери данных нельзя,
чтобы не терять данные, можно изменить структуру, используя стороннюю бесплатную программу SQLite Studio (http://sqlitestudio.pl/), затем необходимо также изменить структуру базы через My Visual Database, при запуске проекта отказаться от пересоздания базы данных, таким образом данные не будут потеряны.
В будущем избавлюсь от этого недостатка (надеюсь уже в следующей версии).
А связано это с особенностью работы базы данных SQLite, она попросту не поддерживает изменение структуры без пересоздания базы данных.
// comments
ShowMessage('Hello'); // comments
Please, download and install latest version:
http://myvisualdatabase.com/download/myvisualdb.exe
Turn on the option to close form after save, then you can change behavior using script.
Create event OnClick for button using for save record.
procedure Form2_buttonSave_OnClick (Sender: string; Action: string);
begin
Form2.buttonSave.dbDoCloseForm := False; // cancel closing window
Form2.buttonSave.dbDontResetID := True;
end;
If you need, i can make example project for you.
I made example for you:
kunar80
похоже на то, что колонок в импортируемом файле оказалось больше чем нужно.
Колонки в csv файле разделяются точкой с запятой, возможно в самих данных где то есть точка с запятой, и т.о. получилась лишняя колонка.
Можно немного упростить
begin
frmMain.TableGrid_vkhidna.BeginUpdate;
c := frmMain.TableGrid_vkhidna.RowCount - 1;
for i := 0 to c do
begin
if ValidDate(frmMain.TableGrid_vkhidna.Cells[5,i]) then
begin
if StrToDate(frmMain.TableGrid_vkhidna.Cells[5,i]) < Now then frmMain.TableGrid_vkhidna.Cell[5,i].Color := clRed;
end;
end;
frmMain.TableGrid_vkhidna.EndUpdate;
end;
Приветствую,
Сделал для вас пример.
Скрипт каждые две секунды делает SQL запрос на количество записей в таблице базы данных, если оно изменилось, значит запись была добавлена либо удалена, и происходит обновление записей в компоненте TableGrid
но данный скрипт не узнает, если запись была просто отредактирована, к сожалению пока нет механизма, чтобы это отловить.
Скачайте пожалуйста проект с примером:
пример:
if ValidFloat(Form1.Edit1.Text) then // проверяем, является ли значение - числом
begin
if StrToFloat(Form1.Edit1.Text) > 0 then ShowMessage('Значение больше нуля'); // преобразуем текст в число (StrToFloat) и сравниваем
end;
Do you think it would be possible to capture the Windows user login to log who performed changes in the database?
Yes, you can get user name using function GetUserName
example:
ShowMessage(GetUserName);
у данного компонента есть свойство DateMode, выберите в нем значение UpDown
p.s.
Не смотря на то, что в компоненте не будет видно года, и компонент используется для сохранения даты, год все равно будет сохранен в базу данных, тоже самое и для поиска. Т.е. свойство Format лишь задает внешний вид даты, и больше ничего, механизм работы компонента при этом не меняется.
Исправьте данный участок кода:
SQLExecute ('INSERT INTO logNAF (date, user, form, operation, type, docNum, docDate, docName, year, period, dept, actNum, actDate, indexNum, indexName, folderNum, internalNum, pages, room, scaff, rack, note)' +
'VALUES ('+sCurrentDate+', "'+sUser+'", '+sForm+', '+sOperation+', '+sType+', '+sDocNum+', '+sDocDate+', '+sDocName+', '+sYear+', '+sPeriod+', '+sDept+', '+sActNum+', '+sActDate+', '+sIndexNum+', '+sIndexName+', '+sFolderNum+', '+sInternalNum+', '+sPages+', '+sRoom+', '+sScaff+', '+sRack+', '+sNote+')');
исправил
', '+sUser+',
на
', "'+sUser+'",
My Visual Database → Posts by DriveSoft
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi