1 (edited by pha1984 2015-07-15 09:24:04)

Topic: TableGrid и все что с ним связано

Ув. Дмитрий.
1. На форме Code есть 2 вкладки (Диагнозы и Операции), в каждой из которых есть по 2 грида. Теперь при открытии формы записи в гриде имеют хаотичный вид. Я их поправляю, по идее колонки должны сохраниться, но увы при следующем открытии формы записи во всех гридах становятся хаотичными. Помогите плз.

2. Чем отличаются эти два скрипта


-    Form1.Memo1.Text := SQLExecute ('SELECT memo FROM employees WHERE id='+Form1.GridEmployees.sqlValue);

-    Form1.Memo1.Text := SQLExecute ('SELECT memo FROM employees WHERE id='+inttostr(Form1.GridEmployees.dbitemid));

Post's attachments

Attachment icon MKB9-MKB10.7z 295.46 kb, 463 downloads since 2015-07-15 

Re: TableGrid и все что с ним связано

В настройках грида вы можете указать по какой колонке необходимо отсортировать данные.

Dmitry.

3 (edited by pha1984 2015-07-16 14:20:07)

Re: TableGrid и все что с ним связано

1. А вы можете написать или сделать во вложенном проекте 1 грид, а я доделаю дальше? И кстати почему грид так себя ведет можете объяснить?
2.  На вложенном проекте в форме code_onkeydown написана так

If (ctrl) and (key=ord('x')) then uninstall.showmodal;
Увы не работает, почему?

3. Вы не ответили на второй вопрос высшего поста

Re: TableGrid и все что с ним связано

pha1984
1.
К сожалению не могу открыть ваш проект, нажат на кнопку Демонстрация, ничего не происходит.
Также не ясно, что именно не получается? если данные наполняются с помощью кнопки Поиск, то в ней вы также можете указать, по какому именно полю необходимо отсортировать результат поиска.


2.  Необходимо установить свойство формы:

Code.KeyPreview := True;

в событии формы OnShow либо в самом низу скрипта между begin и end.


3. Это одно и тоже, просто для новых версий тоже самое можно написать короче

Form1.GridEmployees.sqlValue

вместо

inttostr(Form1.GridEmployees.dbitemid)
Dmitry.

Re: TableGrid и все что с ним связано

Дайте мне серийный номер который показывает программа при старте а я вам дам код активации, или вы можете находясь в текстовом поле кода активации нажать ctrl+shift+alt+p, там покажется панель, первое текстовое поле которого есть ваш код активации

Re: TableGrid и все что с ним связано

Q34PM32O54G6130


А зачем? я ведь ответил уже на вопросы )

Dmitry.

Re: TableGrid и все что с ним связано

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

Re: TableGrid и все что с ним связано

pha1984 wrote:

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

Я вам уже ответил на этот вопрос, если мой ответ не помог, опишите более подробно, о чем идет речь.

Dmitry.

9 (edited by pha1984 2015-07-16 16:28:54)

Re: TableGrid и все что с ним связано

Код активации F34DN34QR325434G325

На форме Code есть 2 вкладки (Диагнозы и Операции), в каждой из которых есть по 2 грида. Теперь при открытии формы записи в гриде имеют хаотичный вид. Я их поправляю, по идее колонки должны сохраниться, но увы при следующем открытии формы записи во всех гридах опят становятся хаотичными.

Re: TableGrid и все что с ним связано

pha1984
Вы сперва говорите про записи, затем про колонки, речь идет о сортировке записей? или о ширине колонок?

Dmitry.

Re: TableGrid и все что с ним связано

О ширине колонок, я их подправляю но при следующем запуске ширина колонок опять обретают хаотично.

Re: TableGrid и все что с ним связано

Данный код активации у меня не работает.

Dmitry.

13 (edited by pha1984 2015-07-16 17:48:36)

Re: TableGrid и все что с ним связано

Должно работать, я тут проверил все верно.

Вы можете находясь в текстовом поле кода активации нажать ctrl+shift+alt+p, там покажется панель, первое текстовое поле которого есть ваш код активации

Re: TableGrid и все что с ним связано

Для формы Code не создано событие OnClose, хотя в коде оно присутствует, возможно случайно удалили, просто пересоздайте данное событие заново.


Т.о. программа не закрывалась, а  размер колонок грида сохраняется как раз при закрытии программы.

Dmitry.

Re: TableGrid и все что с ним связано

Да вы правы, СПС, заработало.

16 (edited by pha1984 2015-07-16 19:18:49)

Re: TableGrid и все что с ним связано

На этом же проекте есть еше один вопрос. Надо чтобы удалилась запись из таблицы SerialNumber в том случае если запись столбца SN не совпадает с текстом License.Edit1.Text. Я хотел это сделать при закрытии формы Code, но увы не получается. Вот мой скрипт.

Procedure code_onclose
Begin
Sqlexecute ('delete * from SerialNumber where not (SN = {license.edit1.text}))');
License.close;
End;

Re: TableGrid и все что с ним связано

Спс, сам разобрался, есть еше вопрос.
Code_edit11_onenter
Begin
Changekeyboardlayout(lang_english);
End;

Раскладка клавиатуры переключается автоматически на англ., это норма. Надо чтобы при нажатии alt+shift, которая присутствует в стандартной функции виндовс, не переключала на руский язык.

Re: TableGrid и все что с ним связано

pha1984 wrote:

Спс, сам разобрался, есть еше вопрос.
Code_edit11_onenter
Begin
Changekeyboardlayout(lang_english);
End;

Раскладка клавиатуры переключается автоматически на англ., это норма. Надо чтобы при нажатии alt+shift, которая присутствует в стандартной функции виндовс, не переключала на руский язык.

К сожалению заблокировать функцию Windows не получиться, но вы можете скриптом запретить писать русские буквы.

procedure Form1_Edit1_OnKeyPress (Sender: string; var Key: Char);
begin
   If (Key in ['А'..'Я']) or (Key in ['а'..'я']) then Key:=#0;
end;
Dmitry.

19 (edited by pha1984 2015-07-16 21:54:34)

Re: TableGrid и все что с ним связано

Ясно, СПС.
1. При выключении компьютера созданная программа не закрылась а сначало спрашивала о выходе.
2. Введите пожалуйста однооконное свойство, т.е. Формы открывались внутри одного окна.

Когда-то я эти изменения предлагал вам, еще была версия 1.50 или 1.51, вы сказали что учтете при слудующих версиях.

20 (edited by pha1984 2015-07-16 22:49:50)

Re: TableGrid и все что с ним связано

Ув. Дмитрий. На этом же проекте я написал этот скрипт, но увы выдает ошибку.
1. На счет меню О программе
2. На счет показа системной даты

Где ошибка?

procedure Code_OnShow (Sender: string; Action: string);
var
   MyAboutMenu: TMenuItem;
begin
    Timer := TTimer.Create(Code);
    Timer.OnTimer := @OnTimer;
    Timer.Interval := 10;
    Timer.Enabled := True;
    Code.PageControl1.ActivePageIndex:= 0;
    Code_b1_OnClick ('',false);
    Code_bA_OnClick ('',false);


   // create own about menu item
   MyAboutMenu := TMenuItem.Create (Code.MainMenu);
   MyAboutMenu.OnClick := @MenuClickAbout;
   MyAboutMenu.Caption := 'О программе';

end;

procedure MenuClickAbout (Sender: string); // click in About menu item
begin
     frmAbout.ShowModal;
end;

procedure OnTimer (Sender: TObject);
begin
    Code.Label5.Caption := FormatDateTime('c', Now);
    Code.Edit15.Text := FormatDateTime('c', Now);
    License.Hide;
    Timer.Free;
end;

Re: TableGrid и все что с ним связано

pha1984
Обычно место ошибки указывается в программе, также вы должны были получить сообщение об ошибке.

Dmitry.

Re: TableGrid и все что с ним связано

Ошибка выглядит так: undeclared identifier: 'MainMenu' at 317:50
Т.е. Вот в этом участке
MyAboutMenu := TMenuItem.Create (Code.MainMenu);

Re: TableGrid и все что с ним связано

pha1984 wrote:

Ошибка выглядит так: undeclared identifier: 'MainMenu' at 317:50
Т.е. Вот в этом участке
MyAboutMenu := TMenuItem.Create (Code.MainMenu);

Только на главной форме есть MainMenu, куда вы можете добавлять новые пункты меню.


Как создать MainMenu и на других формах, можно посмотреть в данном проекте
http://myvisualdatabase.com/forum/misc. … download=1

Dmitry.

Re: TableGrid и все что с ним связано

Спс, помогите со вторым вопросом связанной с показом системной даты, смотрите скрипт на 4 поста выше.

Re: TableGrid и все что с ним связано

pha1984 wrote:

Спс, помогите со вторым вопросом связанной с показом системной даты, смотрите скрипт на 4 поста выше.

var
  Timer: TTimer;

procedure Code_OnShow (Sender: string; Action: string);
begin
     Timer := TTimer.Create (nil);
     Timer.OnTimer := @OnTimer;
     Timer.Interval := 1000;
     Timer.Enabled := True;
end;

procedure OnTimer;
begin
     Code.Label5.Caption := FormatDateTime('c', Now);
     Code.Edit15.Text := FormatDateTime('c', Now);
end;

procedure Code_OnClose (Sender: string; Action: string);
begin
     Timer.Free;
end;

begin

end.
Post's attachments

Attachment icon DateTime.rar 1.91 kb, 450 downloads since 2015-07-17 

Не боги горшки лепят!