1,576

(6 replies, posted in Russian)

это тоже не вариант

procedure frmAllListManufacturer_OnShow (Sender: TObject; Action: string);
begin
   PrevAction := Action;
end;

procedure frmAllListManufacturer_tgAllListManufacturer_OnCellClick (Sender: TObject; ACol, ARow: Integer);
begin
       if PrevAction = 'NewRecord' then
    begin
        PrevAction := '';
        frmAllListManufacturer.tgAllListManufacturer.dbItemID := Last_Insert_id();
        frmAllListManufacturer.tgAllListManufacturer.ScrollToRow(frmAllListManufacturer.tgAllListManufacturer.SelectedRow);
        frmAllListManufacturer.tgAllListManufacturer.SetFocus;
    end;
end;

1,577

(6 replies, posted in Russian)

Жаль не помогло...

у combobox  установленно свойство searchable
нужно выбрать несколько знаений в tablegrid  и предать их в combobox

1,579

(6 replies, posted in Russian)

procedure frmAddManufacturer_bSave_OnClick (Sender: TObject; var Cancel: boolean);
begin
    frmAllListManufacturer.tgAllListManufacturer.dbItemID := Last_Insert_id('manufacturer');
end;

дело в том, что Last_Insert_id('manufacturer'); содержит много порраметров а без 'manufacturer' ни чего не происходит..

как провельно выделить последнюю запись?

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

1,581

(1 replies, posted in Russian)

TextBox  принципиально?
Это можно сделать с помощью ComboBox
в свойствах ComboBox  отметьте  Searchable

1,582

(8 replies, posted in Russian)

Здравствуйте, Дмитрий..
помогите мне даделать смс  для моей программы
epochta работает остольные пока не проверял, но в работоспособности не сомневаюсь... Дмитрий как мне перехватить ошибки?
хочу выводить их в MessageBox..

1,583

(3 replies, posted in Russian)

Да, конечно!

1,584

(3 replies, posted in Russian)

сделал

function ramm (s: string):string;
var
ini:TInifile;
er: string;
begin
ini :=TIniFile.Create(ExtractFilePath (ParamStr (0))+'setting\smssetting.ini');
if ini.ReadString('on', '1', '') = 'a' then er:='a' else
if ini.ReadString('on', '2', '') = 'b' then er:='b' else
if ini.ReadString('on', '3', '') = 'c' then er:='c';
result:=er;

end;

procedure Form1_OnShow (Sender: TObject; s, a, Action: string);
var
rete: string;
begin
   rete:=ramm('');
   form1.Label1.Caption:= rete;
end;

возможно заголовок не верен

с этим примером все понято

var
ret: string;
 
 
procedure Form1_OnShow (Sender: TObject; s, Action: string);
begin
   form1.Label1.Caption:= s;
end;
 
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
 ret:='чебурек';
 Form1_OnShow (TObject,ret,'');
end;

а как вернуть в  form1.Label1.Caption:= s;

этот результат?

var
ini:TInifile;
er: string;
begin
smsini :=TIniFile.Create(ExtractFilePath (ParamStr (0))+'setting/smssetting.ini');
if ini.ReadString('on', '1', '') = 'a' then er:='a' else
if ini.ReadString('on', '2', '') = 'b' then er:='b' else
if ini.ReadString('on', '3', '') = 'c' then er:='c';
ini.Free;
 end;

я так понимаю

нужно  в procedure Form1_OnShow дабавить переменную и (запросить) в нее значение переменной er
а потом предеть в form1.Label1.Caption..

1,586

(0 replies, posted in Russian)

у кого есть примеры регистрации через веб формы или какие другие примеры работы с веб формами?
Поделитесь в теме , в инете  примеры на Delphi есть но пример на MVD все таки будет более понятней ..

1,587

(11 replies, posted in Russian)

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

сделал так

function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;
var
ini : TInifile;
begin
    ini :=TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
    // если не подключен, для MySQL
    if Pos('Code: 10061', Msg)>0 then
    begin
        result := True; // для предотвращения системного сообщения
        // сообщение
      if IDRETRY = MessageBox('Произошла ошибка либо Вы отменили соединение с MySQL.', 'Ошибка либо отмена соединения ', MB_RETRYCANCEL+MB_ICONINFORMATION)then begin
      OpenFile('start.bat');
      frmLogin.Close;
      end else
      ini.WriteString('Options', 'DBMS', 'sqlite');
      OpenFile('start.bat')
      frmLogin.Close;
    end;
end;

1,588

(11 replies, posted in Russian)

Теперь новая ошибка..
я удалил все строчки связанные со второй sqlite и получил новую ошибку
https://downloader.disk.yandex.ru/preview/f56487f97cfdcaf84fba0655241a30b910ec7602be15e1f2fa24963faba9647b/5baf643e/wen71ENjM59wrRqPBbBXuj7O4ai1U-8bFUYrZaafpodTvC-PXVwEtzg_8whDIzAyy3wjrFIzMB195JpbbiOYIQ%3D%3D?uid=0&filename=Image%202.jpg&disposition=inline&hash=&limit=0&content_type=image%2Fjpeg&tknv=v2&size=2048x2048
ошибка уходит когда  я убираю все условия из frmLogin_OnShow

1,589

(11 replies, posted in Russian)

спасибо!
подключение sqlite переделаю на ini...

а вот  frmLogin главная форма..  закрывать нельзя

1,590

(11 replies, posted in Russian)

вот

и еще если не затруднит строчки 660-682

там варианты загрузки программы,  почему-то  frmLogin.Hide вызывает ошибку  вызывает ошибку

1,591

(11 replies, posted in Russian)

вот такая штука присходит при клике на кнопке Повтор

как завершить программу?

1,592

(11 replies, posted in Russian)

ХМ перезагруил MVDB и стало происходить следующее
запись в ini остается mysql
кода жму Повтор винда начинает тормозить...
именно... виндовс начинает переодически зависать

1,593

(11 replies, posted in Russian)

о да, то что нужно..

решил сделать так

 // глобальное событие для всех баз данных, связанных с исключениями
function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;
begin

    // если не подключен, для MySQL
    if Pos('Code: 10061', Msg)>0 then
    begin
        result := True; // для предотвращения системного сообщения
        // сообщение
        MessageBox('Произошла ошибка либо Вы отменили соединение с базай данных MySQL.', 'Ошибка либо отмена соединения ', MB_ABORTRETRYIGNORE+MB_ICONINFORMATION);
    end;

end;

как я понимаю в моем случае возможные ответы от пользователя

IDABORT
IDRETRY
IDNO

еще я заметил, что по умолчанию действи не происходит но в ini меняется mysql  на sqlite, то есть при нажатии павтор мне нужно изменить запись в ini с sqlite на mysql перезагрузить программу..
А вот как быть к кнопкой отмена , возможно ли поменять  эту подпись..?

1,594

(11 replies, posted in Russian)

если при подключении к mysql нажимаю отмена, то получаю ошибку

1,595

(8 replies, posted in Russian)

сделал так

procedure frmAdmin_bBeackSQLite_OnClick (Sender: TObject; var Cancel: boolean);
var
ini:TInifile;
begin
ini:= TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
if ini.ValueExists('Options', 'server') then ini.DeleteKey('Options', 'server');
SwitchDBMS('sqlite');
end;

1,596

(8 replies, posted in Russian)

if ini.ReadString('Options', 'DBMS', '') = 'sqlite'   then ShowMessage ('Программа уже подключена к SQLite.')

Дело в том, что  при возвращении к sqlite нужно проверять не только  DBMS но и ('Options', 'server')
в  случае ('Options', 'server','сервер') это сервер
а при возвращении к sqlite это ('Options', 'server','сервер') нужно удалять..

нужно двйное условие, потому как если программа подключена к серверу то в DBMS уже есть значение sqlite

AND not ini.ValueExists('Options', 'server')

как правильно записать?

1,597

(8 replies, posted in Russian)

if ini.ReadString('Options', 'DBMS', '') = 'sqlite'
в копилку!

пасибо!

1,598

(8 replies, posted in Russian)

procedure frmAdmin_bBeackSQLite_OnClick (Sender: TObject; var Cancel: boolean);
var
    ini : TInifile;
begin
    ini:= TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
    if ini.ValueExists('Options', 'server') AND ini.ValueExists('Options','DBMS') then
    begin
         try
           ini.DeleteKey('Options', 'server');
           if ini.ValueExists('Options', 'server') then Exit ;
           ini.WriteString ('Options', 'DBMS','sqlite');
           if ini.ValueExists('DBMS','sqlite') then Exit ;
           showmessage('Возврат к использованию SQLite выполнен, программа будет перезагружена.');
           ini.Free;
           frmLogin.Close;
           OpenFile('start.bat');
           finally
           showmessage ('Ошибка!');
        end;
    end else
   showmessage ('Программа уже подключена к SQLite.');
 end;

теперь у меня такая проблема;

if ini.ValueExists('Options', 'server') AND ini.ValueExists('Options','DBMS') then

мне нужно, что бы происходила проверка если нет ini.ValueExists('Options', 'server') и если есть  ini.ValueExists('Options','DBMS', 'sqlite')

if not ini.ValueExists('Options', 'server')

а как записать второе условие?

1,599

(8 replies, posted in Russian)

procedure frmAdmin_bBeackSQLite_OnClick (Sender: TObject; var Cancel: boolean);
var
    ini : TInifile;
begin
    ini:= TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
    if ini.ValueExists('Options', 'server') AND ini.ValueExists('DBMS','sqlite') then
    begin
        ini.DeleteKey('Options', 'server');
        ini.WriteString ('Options', 'DBMS','sqlite');
        showmessage('Возврат к использованию SQLite выполнен, программа будет перезагружена.') ;
        ini.Free;
        frmLogin.Close;
        OpenFile('start.bat');
    end else
   showmessage ('Программа уже подключена к SQLite.');
 end;

сюда мне нужно дабавить сообщение об ошибке если удалить или записать не удалось

1,600

(8 replies, posted in Russian)

и так не получается

procedure frmAdmin_bStartSQLiteServer_OnClick (Sender: TObject; var Cancel: boolean);
var
   ini : TInifile;
   Test : Boolean ;
begin
    s := '';
    SelectDirectory('Caption', '', s);
    ini:= TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
    try
       Test := ini.WriteString ('Options', 'server', s)
       if not Test then Exit ;
       Test := ini.WriteString ('Options', 'DBMS','sqlite' ) ;
    finally
      ini.Free;

    end ;

    if Test then
     begin
          showmessage('Подключение выполнен успешно, программа будет перезагружена.');
          frmLogin.Close;
          OpenFile('start.bat');
     end else
      showmessage('Ошибка, Подключение не выполнено.');
end;