7,651

(33 replies, posted in Russian)

В вашем проекте снимки и схемы сохраняются непосредственно в базу данных, что в будущем приведет к медленной работе, поэтому я не много изменил ваш проект, теперь снимки сохраняются в папку images а схемы в папку shemi


1. Сделал.
2. Периодически делайте резервную копию файла sqlite.db и папок images и shemi


Исправленный проект приложил к письму.

Попробовал, действительно это так,  для отчета используется сторонний компонент, поэтому к сожалению не знаю причину.
Пожалуйста, попробуйте ознакомится с документацией
http://myvisualdatabase.com/forum/viewtopic.php?id=98

7,653

(3 replies, posted in General)

Yes, you can use the variables for other procedures.

To assign values, you should use procedures (also events), you can't assign values without procedure, like in your example.
Unfortunately I do not understand exactly what you do not understand )

1.

if Pos('Yes', frmAddInspection.TableGrid1.Cells[3,i]) > 0 then ....

2. Просто убрать else

if Form1.GridEmployees.Cells[3,i] = 'Yes ' then Form1.GridEmployees.Cell[3,i].Color := clRed;

1) В таблице main, связь id_task была лишняя, удалил.
2) Сделал.
3) Вместо этого сделал вычисляемое поле в таблице main.statusControl2, поэтому поля statusYes и statusControl можете удалить, также CheckBox1 на форме frmAddInspection
4) К сожалению это не поддерживается, но вы можете например изменять цвет надписи.



также исправил пару ошибок,

1.  на форме frmAddInspection,  в настройках компонента TableGrid1, необходимо снять галочку "Включить автовыполнение запроса", иначе будут показаны все задачи всех проектов.

2. процесс вашего проекта оставался висеть в памяти после закрытия, так как главная форма frmLogin не закрывалась, при закрытии формы frmMain



Исправленный проект приложил к письму.

Nilaus
В будущих версиях планируется возможность размещать на форме карту с объектами, а пока можете  например сохранять ссылку такого вида, взятую непосредственно из maps.google.com
https://maps.google.com/maps?ll=55.7613 … h&z=18

7,657

(7 replies, posted in Russian)

Просто туда же вписать

procedure Form1_OnShow (Sender: string; Action: string);
begin
     frmLogin.edPassword.PasswordChar := '*';
     frmLogin.ShowModal; 

    Form1.ComboBox1.dbAddRecord(1, 'LastName field');
    Form1.ComboBox1.dbAddRecord(2, 'FistName field');
    Form1.ComboBox1.dbAddRecord(3, 'Field 1');
    Form1.ComboBox1.dbAddRecord(4, 'Field 2');
    Form1.ComboBox1.dbAddRecord(5, 'Field 3');
    Form1.ComboBox1.dbItemID:=1;
end;

begin
     if SQLExecute('SELECT count(id) FROM users;') = '0' then
     begin
         SQLExecute('INSERT INTO users (login, password, admin) VALUES ("admin", "admin", 1);');
         frmLogin.cbLogin.dbItemID:=1;
         frmLogin.edPassword.Text := 'admin';
     end;

     frmLogin.Button1.Default := True;
     frmcreche.cbUser.Enabled:=false;
end.

7,658

(7 replies, posted in Russian)

Готово

7,659

(3 replies, posted in General)

Yes, you can use global variables


example:

var
  i: integer;

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    i := i + 1;
    ShowMessage(i);
end;

7,660

(7 replies, posted in Russian)

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

7,661

(7 replies, posted in Russian)

В принципе это возможно реализовать с помощью скриптов, но как тогда создавать новые записи?


Возможно в вашем случае будет полезен компонент PageControl http://myvisualdatabase.com/help_ru/components/pagecontrol.png
где вы сможете группировать текстовые поля на вкладках.

7,662

(7 replies, posted in Script)

File structure of the database ("tables.ini") is now in UTF-8
also the file "Script.ini"

alex842
2) Компонент TNextGrid
из скрипта к нему можно обратиться просто по имени, например Form1.TableGrid1

если вы хотите создать данный грид с помощью скрипта, тогда его необходимо объявить так:

var
   Grid: TdbStringGridEx; 

3) Так задумано, вряд ли когда то это изменится.


4) В ближайших версиях пока ничего масштабного не планируется.

7,664

(7 replies, posted in Script)

[info]  version
This version of compatibility


I made some changes that are not compatible.
If you made a project in version 1.50, you can't open this project in version 1.49


But if you made a project in version 1.49, you can open this project in version 1.50

7,665

(4 replies, posted in Russian)

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

в последнюю бета версию (1.50) добавил функцию.
https://www.dropbox.com/s/0m799p8qxh5kb … 0.zip?dl=0


ChangeKeyboardLayout(LANG_RUSSIAN); 
ChangeKeyboardLayout(LANG_ENGLISH); 

для переключения доступны и все остальные языки.

LANG_INVARIANT
LANG_AFRIKAANS
LANG_ALBANIAN
LANG_ARABIC
LANG_BASQUE
LANG_BELARUSIAN
LANG_BULGARIAN
LANG_CATALAN
LANG_CHINESE
LANG_CROATIAN
LANG_CZECH
LANG_DANISH
LANG_DUTCH
LANG_ENGLISH
LANG_ESTONIAN
LANG_FAEROESE
LANG_FARSI
LANG_FINNISH
LANG_FRENCH
LANG_GERMAN
LANG_GREEK
LANG_HEBREW
LANG_HUNGARIAN
LANG_ICELANDIC
LANG_INDONESIAN
LANG_ITALIAN
LANG_JAPANESE
LANG_KOREAN
LANG_LATVIAN
LANG_LITHUANIAN
LANG_NORWEGIAN
LANG_POLISH
LANG_PORTUGUESE
LANG_ROMANIAN
LANG_RUSSIAN
LANG_SERBIAN
LANG_SLOVAK
LANG_SLOVENIAN
LANG_SPANISH
LANG_SWEDISH
LANG_THAI
LANG_TURKISH
LANG_UKRAINIAN
LANG_VIETNAMESE

7,666

(33 replies, posted in Russian)

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


Я убрал из проекта форму frmZakaz, а все поля из нее перенес на форму frmAplication


Также исправил свойство Anchors у компонентов на главной форме, чтобы при изменении размеров окна, компоненты не разъезжались.

данный скрипт необходимо разместить на кнопке OK, которую нажимают после ввода логина и пароля, скрипт будет примерно такой:

if SQLExecute('SELECT Count(*) FROM users WHERE GetUserName LIKE ''' + GetUserName + '''') = 0 then
begin
                MessageDlg(('ВАМ ОТКАЗАНО В ДОСТУПЕ'),mtError, mbOK, 0);
                frmLogin.Close;
end;

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


сделал, скачайте пожалуйста проект:

Пожалуйста, приложите проект, постараюсь помочь.

7,670

(7 replies, posted in Script)

I made function for you, which calculate total number of working days between two dates

function CalculateWorkDays (startdate, enddate: TDateTime): integer;
var
    i: integer;
    iDays: integer;
    start, stop: integer;
begin
    iDays := 0;
    start := Trunc(startdate);
    stop := Trunc(enddate);

    for i := start to stop do
        if (DayOfWeek(i)<>7) and (DayOfWeek(i)<>1) then Inc(iDays);

    Result := iDays;
end;

Расскрасить компонент TableGrid необходимо с помощью скриптов, пример:
http://myvisualdatabase.com/forum/viewtopic.php?id=1063

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


например так

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    i, c: integer;
begin
    for i := 0 to 99 do
        SQLExecute ('INSERT INTO tablename (fieldname) VALUES (NULL)');
end;

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

Данный скрипт не обращается к компоненту, а обращается непосредственно в базу данных, в вашем случае лучше создать вычисляемое поле:

(CASE WHEN implementation=1 then 'На контроле' else '' end)

7,675

(1 replies, posted in General)

RTF editor is planned.
But allowing users to add components is not possible and not planned.