76

(3 replies, posted in General)

FMR wrote:

Hi,

Please I need help with MVD v6.5

I have issue with ComboBox in appearance when enable MultiSelect for ComboBox

1st. I can't change the height of ComboBox specially when I change the font size I need to change the height. How to change the height with MultiSelect ?
2nd The drop list of ComboBox there is a square appear over 1st choice look like Select All button, make selecting 1st choice very hard. How to remove this option or make the 1st choice below this square ?

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=8429&download=0

77

(2 replies, posted in Script)

eserjbrujo wrote:

Hello everyone good day!
I introduce myself 
My name is Antonio and I am new to the forum (Beginner)
I need your help to make the project work I appreciate your time and attention
waiting and can you help me
greetings!!..

I need some script that through combobox shows me a form.


Best regards

nrmuduli wrote:

hiii,

I want to make a search field with button. my aim is to search the word/ phrase in the entire database irrespective of column & show in the table grid.

a sample screen shot made in excel attached.
any help is highly appreciate because in my existing programm i am able to do search by column  wise linked to different fields in the interface.

 
if you need to request this program from scratch, then prepare your wallet.
if you already have a program and you need help, then attach your project
   
если вам нужно запросить эту программу с нуля, то подготовьте свой кошелек.
если у вас уже есть программа и вам нужна помощь, то прикрепите свой проект

79

(6 replies, posted in General)

blackpearl8534 wrote:

If your modem uses the AT command set, I would think it possible.

There is a large project on here somewhere that sends SMS, I think was called iAPPt

Hello..
I did not found any project about at command set.. please share link or project..

http://myvisualdatabase.com/forum/viewtopic.php?id=7987

80

(4 replies, posted in Script)

try like this

81

(4 replies, posted in Script)

can't be used here
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=8410&download=0

82

(4 replies, posted in Script)

the table works correctly, you have no links.

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=8409&download=0

83

(8 replies, posted in General)

unforgettable wrote:

Thank you sibprogsistem. Next I want to know where trigger will be created. For example I have a project and a button is used to display records on  a form1 and tablegrid1 and procedure is click button. After line of  (procedure Form1_Button1_OnClick (Sender: TObject);
begin)    --------- so here we enter script for trigger?


You can write triggers in any part.
Triggers are written to the database and fire automatically depending on how you program them.
 
triggers can be written between

begin
     there is a trigger
end

or at the moment of launching the form itself

procedure Form1_OnShow(Sender: TObject; Action: string);
begin
     there is a trigger
end;

you can also create triggers on button clicks.

84

(8 replies, posted in General)

unforgettable wrote:

Thank you again sibprogsistem. Some question about trigger. what is trigger and why is it created. Any page that help me  to understand trigger.
"my_log_insert" is trigger name or table name?

A trigger is a special kind of stored procedure in a database. The peculiarity of triggers is that the SQL code written in the body of the trigger will be executed after an event occurs in the database. UPDATE, INSERT, DELETE and SELECT.

"my_log_insert"  -  is trigger name

AFTER UPDATE ON request  -- after update in table (request)

85

(8 replies, posted in General)

unforgettable wrote:

Thank you sibprogsistem. Would you like to explain this script? Especially ( '    INSERT INTO statistic(data, status) VALUES (datetime(''now'', ''localtime''),''New''); '+)

 
 
INSERT INTO - create a new entry
Table_Name(field_1, field_1) VALUES(vlue_1, value_2)

  field_1 = value_1 - the value is written to the field

86

(8 replies, posted in General)

unforgettable wrote:

any one can tell about trigger and how it is created?

procedure triggerCreate;
begin
    SQLExecute(
    'CREATE TRIGGER IF NOT EXISTS my_log_insert AFTER UPDATE ON request '+
    'BEGIN '+
    '    INSERT INTO statistic(data, status) VALUES (datetime(''now'', ''localtime''),''New''); '+
    'END;'
    );
end;

procedure triggerDelete;
begin
SQLExecute('DROP TRIGGER IF EXISTS  my_log_insert');
end;

Функция DaysBetween вычитает FromDate из ToDate, возвращая разность в целых днях.


var
  fromdate, toDate : TDateTime;

begin
  // Установка наших переменных дат
  fromDate := EncodeDateTime(2000, 02, 26, 10, 0, 0, 0);
  toDate   := EncodeDateTime(2000, 02, 29,  9, 0, 0, 0);

  // Отображение этих дат и дней между ними
  ShowMessage('С даты = '+DateTimeToStr(fromDate));
  ShowMessage('До даты = '+DateTimeToStr(toDate));
  ShowMessage('Целых дней = '+
              IntToStr(DaysBetween(toDate, fromDate))+' дней');
end;

88

(3 replies, posted in General)

blackpearl8534 wrote:

Thanks...
But i need complete procedure to connect and retrieve data..
I mean connection strings, query procedure ,loops, load data in table grid using script


// отключаемся от старой БД
frmStart.SQLConnection.Connected := False;
// подключаемся к новой БД
frmStart.SQLConnection.Params.Add('Database='+listBox.Items[listBox.ItemIndex]+'\sqlite.db');

89

(10 replies, posted in Script)

ссылайте все компоненты на одно имя процедуры..

а вообще уточните, что Вы хотите сделать..


   

 
refer all components to the same procedure name..

and in general, specify what you want to do.

90

(15 replies, posted in Russian)

newusr wrote:

Добрый день.
А как сделать тоже самое, но с таблицей? Вот так не работает:

for i:=0 to Form1.ComponentCount -1 do IF Form1.Components[i] is TdbStringGridEx Then
 TdbStringGridEx(Form1.Components[i]).Font.Size:=12;

Таблицы находит, но шрифт не меняет.

Form1.TableGrid1.Font.Size:=8;

91

(11 replies, posted in Russian)

k245 wrote:
sibprogsistem wrote:

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

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


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


Вот пример процедуры, которая создает уникальные номера (DocNum) в рамках одного календарного года (RegDate - дата документа) для каждого типа документа (id_folder)


CREATE PROCEDURE `updnum`( IN AIDdoc int )
BEGIN
  DECLARE tmpNextNumber INT;
  DECLARE tmpIDFolder;
  DECLARE tmpDate DATE;
  SELECT RegDate INTO tmpDate FROM doc WHERE id = AIDdoc;
  SELECT id_folder INTO tmpIDFolder FROM doc WHERE id = AIDdoc;
  SELECT coalesce( res.NNum, 1 ) INTO tmpNextNumber 
    FROM ( SELECT max(rd.DocNum)+1 as NNum FROM doc rd WHERE rd.id_Folder = tmpIDFolder AND YEAR( rd.RegDate ) = YEAR( tmpDate ) ) res;
  UPDATE doc SET DocNum = tmpNextNumber WHERE id = AIDdoc;
END

Вызывать её нужно после сохранения записи в базу:

procedure frmDocEdit_rbtOK_OnAfterClick(Sender: TObject);
var
  tmpID: string;
begin
  tmpID := IntToStr(frmDocEdit.rbtOK.dbGeneralTableId);
  SQLExecute( 'call updnum('+tmpID+') ' );
end;

это не большой, однопользовательский проект, но спасибо за информацию и пример, я намотал на ус..

92

(11 replies, posted in Russian)

k245 wrote:

Чисто из любопытства: зачем нужен id перед добавлением записи? Замечу, что для многопользовательских БД это может привести к ошибке из-за попытки добавления двух записей с одинаковыми ID.

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

93

(11 replies, posted in Russian)

sparrow wrote:
SELECT * FROM SQLITE_SEQUENCE WHERE name = '<table>';

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

так работает:

SQLExecute('SELECT seq FROM SQLITE_SEQUENCE WHERE name="a"');

94

(11 replies, posted in Russian)

мне нужно перед сохранением записи получить максимальный id записи для создания своего счётчика, использовать встроенный счетчик не вариант, так как он начинается с ноля если записи в таблице удалить, а идентификатор всегда продолжает счет, но я не могу понять как получить id если записи в таблице были удалены ...

95

(2 replies, posted in Script)

unforgettable wrote:

Hi friends,
         How are you all? Today I am asking about how to create save button to save records of various tables using script?


procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
  SQLExecute('INSERT INTO a(qq)VALUES("'+Form1.Edit1.Text+'")');
  SQLExecute('INSERT INTO b(ww,id_a)VALUES("'+Form1.Edit2.Text+'","'+IntToStr(Last_Insert_id)+'")');

  UPDATEDATABASE('a');
  UPDATEDATABASE('b');
end;

https://sun9-40.userapi.com/impg/k1sm7TueH5kELBfJV3-DPzZXyUs_UUtMIgRzzA/S-R9rUD7Jx0.jpg?size=573x960&amp;quality=96&amp;sign=815a1a2649db52f601b4165e92d08f84&amp;type=album

97

(15 replies, posted in General)

eyeman303 wrote:

Hello Sibprogsistem,
Great program! Is it possible to add keyboard arrow key option to select a particular photo from the scrollbox?
Regards,
Eyeman

option with buttons forward backward

98

(7 replies, posted in General)

https://www.samddn.ru/upload/iblock/a3e/402342_svetik.jpg

vovka3003 wrote:

Читай последнее положение (X Y) курсора, сравнивай в ..Leave с координатами рисунка.

 

derek wrote:

Если я правильно понял вопрос, вы можете попробовать вот так (см. Вложение).
Вам нужно переместить «мышь» в нижнюю часть формы 1).
Затем вместо использования onmouseleave для панели используйте onmouseenter для другого объекта
Может быть, это ответ на ваш вопрос.
Derek.

 
спасибо за подсказку

procedure mouseLeavePI (Sender: TObject);
var
x0,y0:integer;
begin
  GetCursorPos(x0,y0);
  x0 := x0 - frmQuestion.Left -2;
  y0 := y0 - frmQuestion.Top - 31;
  if (x0<=0)OR(y0<=0)OR(x0>=442)OR(y0>=211)then frmQuestion.pImgButton.Visible := False;
end;

хочу сменить панель с кнопками у imageDataBase.
отключил у компонента imageDataBase  кнопки и разместил  свою панель с кнопками
хотел повесить  управление свойством панели visible на события onMauseEnter и onMauseLeave
но проблема возникает при переходе курсора с рисунка на панель ( зацикливает между событиями onMauseEnter и onMauseLeave )

как я понимаю мне нужно ориентироваться только на рисунок, но я не могу понять как мне определять находиться курсор в пределах рисунка или нет ведь если перевести курсор на панель программа считает что курсор ушел с рисунка (панель находиться на рисунке)..