3,801

(8 replies, posted in General)

VascoMorais
An example for you:

3,802

(13 replies, posted in General)

VascoMorais wrote:

hey dmmity, great job! what does Tprinter do?

Uses printer to print )


Example: http://myvisualdatabase.com/forum/misc. … download=1

3,803

(2 replies, posted in Russian)

Пример

procedure Form1_TableGrid1_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
    Form1.Label1.Caption := SQLExecute('SELECT strftime(''%d.%m.%Y'',DateOfBirth) FROM tablename WHERE id='+Form1.TableGrid1.sqlValue);
    Form1.ComboBox1.dbItemID := SQLExecute('SELECT id_groups FROM tablename WHERE id='+Form1.TableGrid1.sqlValue);
end;

3,804

(4 replies, posted in Russian)

Igor wrote:

Дмитрий, добрый вечер !
Не могли бы вы подробнее описать новые функции , добавленные в версию 3.2
1. функция HTTPPost - ?
2. MessageBox - я так понимаю диалоговое окно ?
3. класс TPrinter - для взаимодействия с принтером ?

Ну и совсем было бы классно - простые примеры с использованием данных нововведений, можно все в одном ?!

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


1. Приложил пример, отправки смс с использованием httppost





2. Пример

if IDYES = MessageBox('Message', 'Caption', MB_YESNO+MB_ICONINFORMATION) then ShowMessage('Yes');

Возможные варианты кнопок:

MB_OK - Одна кнопка ОК
MB_OKCANCEL - ОК, Отмена
MB_ABORTRETRYIGNORE - Прервать, Повтор, Пропустить
MB_YESNOCANCEL - Да, Нет, Отмена
MB_YESNO - Да, Нет
MB_RETRYCANCEL - Повторить, Отмена


Возможные варианты возвращаемого результата (какую кнопку нажал пользователь)
IDOK
IDCANCEL
IDABORT
IDRETRY
IDIGNORE
IDYES
IDNO


Возможные варианты иконки
MB_ICONWARNING
MB_ICONINFORMATION
MB_ICONASTERISK
MB_ICONQUESTION
MB_ICONSTOP
MB_ICONERROR




3. Проект с примером
http://myvisualdatabase.com/forum/misc. … download=1




---

3,805

(13 replies, posted in General)

Hello.


Unfortunately no.


- Added function HTTPPost
- Added function MessageBox
- Added Class TPrinter
- All foreign keys are being automatically updated after a table is renamed in the database.
- Optimized the record saving process, thereby improving operation speed in the network environment.
- Fixed several bugs.

Видимо не смогу помочь, не могу понять, что конкретно необходимо.

3,807

(89 replies, posted in Russian)

RZ-007
Попробуйте  так

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    i: integer;
    S : String;
    buttonSelected : Integer;
begin

    i := Form1.TableGrid1.RowCount - 1;

    //считаем количество записей в Б/Д...
    S := VarToStr ( SQLExecute('SELECT count(id) FROM GIS ;') );

    if  S <>'' then 
    begin
        buttonSelected := MessageDlg('  ВЫВЕСТИ   ВСЕ   <<  ' + S + '  >>   ЗАПИСЕЙ ? ? ? '  , mtInformation, mbYes+mbNo, 0);
        if buttonSelected = mrYes then
        begin
            Form2.Show;
        end;    
        
        if buttonSelected = mrNo then
        begin
            Form3.Show;
        end;    
        
        if buttonSelected = mrCancel then
        begin
            Cancel := True;
        end;        
    end else
    begin
        ShowMessage('Записей нет');
        Cancel := True;
    end;

end;

3,808

(8 replies, posted in General)

VascoMorais wrote:

oh wow! these look so much better, nice! thanks.
How about ghosted combo box values? is it possible to do so? not the combobox itself but a content in the combobox

Unfortunately I can't understand what do you mean "ghosted" ?

3,809

(21 replies, posted in General)

AD1408
A function to clear all components on form:

procedure ClearAllComponents(Form: TAForm);
var
    i,c : Integer;
begin
    c := Form.ComponentCount - 1;
    For i := 0 to c do
    begin
       IF Form.Components[i] is TdbEdit Then TdbEdit(Form.Components[i]).Clear;
       IF Form.Components[i] is TdbEditCount Then TdbEditCount(Form.Components[i]).Clear;
       IF Form.Components[i] is TdbMemo Then TdbMemo(Form.Components[i]).Clear;
       IF Form.Components[i] is TdbComboBox Then TdbComboBox(Form.Components[i]).dbItemID := -1;
       IF Form.Components[i] is TdbCheckBox Then TdbCheckBox(Form.Components[i]).State := TdbCheckBox(Form.Components[i]).dbDefaultState;
       IF Form.Components[i] is TdbDateTimePicker Then TdbDateTimePicker(Form.Components[i]).Checked := False;
       IF Form.Components[i] is TdbImageDataBase Then TdbImageDataBase(Form.Components[i]).Clear;
       IF Form.Components[i] is TdbMonthCalendar Then TdbMonthCalendar(Form.Components[i]).Date := now;
       IF Form.Components[i] is TdbStringGridEx Then TdbStringGridEx(Form.Components[i]).ClearRows;
       IF Form.Components[i] is TdbFileToDatabase Then
       begin
           TdbFileToDatabase(Form.Components[i]).Text := '';
           TdbFileToDatabase(Form.Components[i]).dbFileName := '';
       end;
    end;
end;

How to use, example:

procedure frmAbonent_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    ClearAllComponents(frmAbonent);
end;

3,810

(32 replies, posted in Russian)

RZ-007
Перехват каких именно ошибок вы имеете ввиду со вторым примером?

3,811

(8 replies, posted in Russian)

Сделал для вас проект с примером.


При старте проекта проверяется, есть ли адресаты, которым пора отправить напоминание, если есть, то будет показана форма со списком адресатов

procedure Form1_OnShow (Sender: string; Action: string);
begin
    frmSendMail.TableGrid1.dbUpdate;
    if frmSendMail.TableGrid1.RowCount > 0 then frmSendMail.ShowModal;

    Form1.Button1.Click;
end;


в настройках компонента frmSendMail.TableGrid1 задается фильтр, чтобы показать адресаты, которым пора отправить сообщение

(employees.sent <> 1) and ( date(employees.dateEvent) < date('now',  '+10 days') )

Если сообщение адресату доставлено, это отмечается в поле employees.sent

Пожалуйста приложите ваш проект с описанием, что вы пытаетесь реализовать.

3,813

(2 replies, posted in General)

In the current version you can use only button with action New Record for that.

id записи можно получить, если например кнопка расположена на форме, где редактируется запись.
Обычно id записи удобно получить используя событие OnAfterClick

Кнопка должна  быть с действием "Сохранить запись"

3,816

(10 replies, posted in Russian)

RZ-007
Нет, фунция ReplaceStr довольно простая, просто заменяет один  текст на другой, без каких либо расширенных возможностей. Поэтому придеться вызвать эту функцию несколько раз.

abgroup-artur
Например так

SQLExecute('INSERT INTO OrgUch (id_parent, comment) VALUES ('+IntToStr(Form1.Button1.dbGeneralTableId)+',"'+your comment+'")');

Данная функция вернет id последней добавленной записи в базу.

Last_Insert_id('');

но лучше получить id записи непосредственно от кнопки, которая имеет действие "Сохранить запись"

procedure Form2_bSave_OnAfterClick (Sender: string);
begin
    ShowMessage( Form2.bSave.dbGeneralTableId );
end;

3,819

(1 replies, posted in Russian)

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


Скачайте пожалуйста данный пример
http://myvisualdatabase.com/forum/misc. … download=1

3,820

(14 replies, posted in FAQ)

RZ-007
Попробуйте вместо этого

Form1.Memo1.Lines.Add(RegExp.Match[i]);

сделать так

if RegExp.Match[i]<>'' then Form1.Memo1.Lines.Add(RegExp.Match[i]);

т.к. метод Form1.Memo1.Lines.Add добавляет строку, даже если нет текста для добавления.

3,821

(8 replies, posted in General)

Hello.


Please check out an example for multiple line text in tablegrid


Every component have property Enabled, set value False, to make component unclickable.

3,822

(10 replies, posted in Russian)

RZ-007
К сожалению не понял вашего вопроса, опишите подробней.

3,823

(3 replies, posted in Russian)

При создании нового КП, в гриде KP.TableGrid1 у вас присутствуют записи из за этого:

procedure KP_OnShow (Sender: string; Action: string);
begin
     if Action='NewRecord' then idKP:=SQLExecute('SELECT count(id) FROM KP')+1;
     if Action='ShowRecord' then idKP:=Form1.TableGrid1.dbItemID;
     KP.TableGrid1.dbUpdate; // <<-----уберите эту строку 
end;

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

3,824

(1 replies, posted in Script)

Here you can find project about backup
http://myvisualdatabase.com/forum/viewtopic.php?id=1438


But I can't understand others your questions, please provide more details.

3,825

(2 replies, posted in General)

I have not tested, but I think you will have to restart your project to reconnect.