Skip to forum content
My Visual Database
A Simple Solution for Creating Databases
You are not logged in. Please login or register.
Active topics Unanswered topics
Search options (Page 64 of 68)
это тоже не вариант
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;
у combobox установленно свойство searchable
нужно выбрать несколько знаений в tablegrid и предать их в combobox
procedure frmAddManufacturer_bSave_OnClick (Sender: TObject; var Cancel: boolean);
begin
frmAllListManufacturer.tgAllListManufacturer.dbItemID := Last_Insert_id('manufacturer');
end;
дело в том, что Last_Insert_id('manufacturer'); содержит много порраметров а без 'manufacturer' ни чего не происходит..
как провельно выделить последнюю запись?
Я пока только понял, что после переименования (если сразу нажать 'ок') деректория не успевает обновиться и в итоге в переменную попадает 'новая папка'..
TextBox принципиально?
Это можно сделать с помощью ComboBox
в свойствах ComboBox отметьте Searchable
Здравствуйте, Дмитрий..
помогите мне даделать смс для моей программы
epochta работает остольные пока не проверял, но в работоспособности не сомневаюсь... Дмитрий как мне перехватить ошибки?
хочу выводить их в MessageBox..
сделал
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..
у кого есть примеры регистрации через веб формы или какие другие примеры работы с веб формами?
Поделитесь в теме , в инете примеры на Delphi есть но пример на MVD все таки будет более понятней ..
все понял, программа не подключилась к 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;
Теперь новая ошибка..
я удалил все строчки связанные со второй sqlite и получил новую ошибку
ошибка уходит когда я убираю все условия из frmLogin_OnShow
спасибо!
подключение sqlite переделаю на ini...
а вот frmLogin главная форма.. закрывать нельзя
вот
и еще если не затруднит строчки 660-682
там варианты загрузки программы, почему-то frmLogin.Hide вызывает ошибку вызывает ошибку
вот такая штука присходит при клике на кнопке Повтор
как завершить программу?
ХМ перезагруил MVDB и стало происходить следующее
запись в ini остается mysql
кода жму Повтор винда начинает тормозить...
именно... виндовс начинает переодически зависать
о да, то что нужно..
решил сделать так
// глобальное событие для всех баз данных, связанных с исключениями
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 перезагрузить программу..
А вот как быть к кнопкой отмена , возможно ли поменять эту подпись..?
если при подключении к mysql нажимаю отмена, то получаю ошибку
сделал так
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;
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')
как правильно записать?
if ini.ReadString('Options', 'DBMS', '') = 'sqlite'
в копилку!
пасибо!
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')
а как записать второе условие?
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;
сюда мне нужно дабавить сообщение об ошибке если удалить или записать не удалось
и так не получается
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;
Posts found: 1,576 to 1,600 of 1,694