То есть видеть когда последний раз менялась дата в таблице
если дата меняется, то это и есть дата смены
или вам нужна предыдущая дата
My Visual Database → Posts by sibprogsistem
То есть видеть когда последний раз менялась дата в таблице
если дата меняется, то это и есть дата смены
или вам нужна предыдущая дата
Добрый день!
Подскажите, возможно, и если да то как, реализовать автоматическую отправку смс при сохранении записи в таблице, с данными из определённых полей этой записи?
скажите падробнее что от куда и куда нужно и если есть проек прикрепите
Ну так может просто не указана кодировка..?
datainout.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
Куда записываются?
в общем вернул запрос на зад в программу - там пусто , а в базу записывается как ????????
я сталкнулся с проблемой шифрования, кириллические символы записываются как ?????
спасибо!
с кадированием разобрался, получилось так
http.send('password='+HttpEncode(p)+'&login='+HttpEncode(frmAdmin.eloginst.Text)+'&pass='+HttpEncode(frmAdmin.ePass.Text)+'&sservice='+HttpEncode(frmAdmin.eIdService.Text)+'');
тоесть кадирается не вся строка запроса а только данные..
А вот это:
'&firstnameapp='+sqlexecute('SELECT firstNameClient FROM servise WHERE id='+list[i])+ '&lastnameapp='+sqlexecute('SELECT lastNameClient FROM servise WHERE id='+list[i])+ '&telephonapp='+sqlexecute('SELECT telephonClient FROM servise WHERE id='+list[i])+
Это еще так себе (тип объявлен в Content-Type)
application/x-www-form-urlencoded: значения кодируются в кортежах с ключом, разделенных символом '&', с '=' между ключом и значением..
просто передаю значения сразу как мне нужно.. не думаю, что это как-то плохо..
Если комп живет в аптайме без перезагрузки (спячка, ждущий режим), то после прыжка через порог в 49,7 дней цикл прекратится через еще 49,7 дней и одну миллисекунду (или через убийство процесса в диспетчере задач wink ).
MilliSecondsBetween в помощь.
Можно этот момент по подробнее? просто уже не раз запускал на пк и ни какой нагрузки не ощущал с учетом того, что пк уже две недели не выключается..
странно но GET вообще не хочет работать а POST работает без проблем
Но все равно спасибо , ваш вариант мне помог, плюс теперь присутствует...
поробую отдельно проект сделать с GET запросом, посмотрю, что и как..
но насколько я понимаю
GET - это чтобы получить определенную страницу в определенном виде ( сортировка, текущая страница в блоге, строка поиска и т.п. ).
POST - для оправки данных которые не влияют на отображение страницы, в том плане что эти данные влияют только на результат выполнения скрипта ( логины, пароли, номера кредиток, сообщения и т.п. ).
OK
Т.е. вопрос решен?
нет не решен... мне нужен решить вопрос с запросом в котором изчезает +
???? tell me more precisely
в общем в данном запросе + из текста пропадает
procedure datainapp;
var
i,c,a:integer;
d:integer = 20000;
list:TStringList;
url: string = 'https://service-vv.ru/rest_api/data_in.php';
Tlogin:TIniFile;
begin
a := GetTickCount;
Tlogin:=TIniFile.Create(ExtractFilePath (ParamStr (0))+'setting\online.ini');
list:=TStringList.Create;
list.Text:= SQLExecute( 'SELECT group_concat(id, char(13) || char(10)) FROM servise WHERE appUpdate=1' );
c:=list.Count-1;
datainout:=createoleobject('WinHttp.WinHttpRequest.5.1');
timerDataInout:=TTimer.Create(frmLogin);
timerDataInout.Enabled:=True;
timerDataInout.Interval:=1000;
timerDataInout.OnTimer:=@SDataApp;
for i:=0 to c do
begin
datainout.open('POST', url, True);
datainout.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
datainout.send('password='+
'&login='+Tlogin.ReadString('online','login','')+'&pass='+Tlogin.ReadString('online','password','')+
'&sservice='+Tlogin.ReadString('online','IDService','')+'&idapp='+list[i]+
'&firstnameapp='+sqlexecute('SELECT firstNameClient FROM servise WHERE id='+list[i])+
'&lastnameapp='+sqlexecute('SELECT lastNameClient FROM servise WHERE id='+list[i])+
'&telephonapp='+sqlexecute('SELECT telephonClient FROM servise WHERE id='+list[i])+
'&dateapp='+sqlexecute('SELECT dateApplcation FROM servise WHERE id='+list[i])+
'&timeapp='+sqlexecute('SELECT timeApplication FROM servise WHERE id='+list[i])+
'&descriptionapp='+sqlexecute('SELECT descriptionATCsWords FROM servise WHERE id='+list[i])+'');
repeat
Application.ProcessMessages;
if SDataApp(list[i])then begin
SQLExecute('UPDATE servise SET appUpdate="0" WHERE id = '+list[i]);
break;
end;
until (GetTickCount - a) >= d;
end;
timerDataInout.Enabled:=False;
dataoutapp;
end;
а в этом запросе плюс остается
procedure frmEditUser_bEditUser_OnClick (Sender: TObject; var Cancel: boolean);
var
slParam: TStringList;
idusers:integer;
begin
if frmAdmin.tgUserApp.SelectedRow >-1 then begin
idusers:= frmAdmin.tgUserApp.SelectedRow;
try
slParam := TStringList.Create;
slParam.Add('password=;
slParam.Add('idusers='+frmAdmin.tgUserApp.Cells[0,idusers]);
slParam.Add('login='+frmEditUser.eLogin.Text);
slParam.Add('pass='+frmEditUser.ePassword.Text);
slParam.Add('firstname='+frmEditUser.eFirstName.Text);
slParam.Add('lastname='+frmEditUser.eLastName.Text);
slParam.text:= HTTPPost('https://service-vv.ru/rest_api/edit_user.php',slParam);
if Pos('0', slParam.text) > 0 then Showmessage('Ошибка обработки запроса!')else
if Pos('-2', slParam.text) > 0 then Showmessage('Ошибка передачи даных!')else
if Pos('-1', slParam.text) > 0 then Showmessage('Ошибка редактирования!')else
if Pos('1', slParam.text) > 0 then begin
userall;
Showmessage('Данные пользователя изминены');
frmEditUser.Close;
end;
except
end;
end else
Showmessage('Запись не выбрана!');
end;
в общем проблема такая при передаче параметров в php пропадает плюс, не зависимо где в тексте он находится все символы присутствуют а плюса нет...
datainout.open('POST', url, True);
datainout.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
datainout.send('password=PiBqzRAUwG$m8oFe0'+
'&login='+Tlogin.ReadString('online','login','')+'&pass='+Tlogin.ReadString('online','password','')+
'&sservice='+Tlogin.ReadString('online','IDService','')+'&idapp='+list[i]+
'&firstnameapp='+sqlexecute('SELECT firstNameClient FROM servise WHERE id='+list[i])+
'&lastnameapp='+sqlexecute('SELECT lastNameClient FROM servise WHERE id='+list[i])+
'&telephonapp='+sqlexecute('SELECT telephonClient FROM servise WHERE id='+list[i])+
'&dateapp='+sqlexecute('SELECT dateApplcation FROM servise WHERE id='+list[i])+
'&timeapp='+sqlexecute('SELECT timeApplication FROM servise WHERE id='+list[i])+
'&descriptionapp='+sqlexecute('SELECT descriptionATCsWords FROM servise WHERE id='+list[i])+'');
грешу на скрипт.. так как проверил несколько раз php, он уже принимает текст без символа +
form1.Edit2.text:= FloatToStr(Int(form1.Edit1.Value));
form1.Edit2.text:= FloatToStr(Frac(form1.Edit1.Value));
form1.Edit2.text:= IntToStr(Trunc(form1.Edit1.Value));
во всех вариантах аозвращается ноль..
+IntToStr(Trunc(frmAddSch1.Edit1.Value) - StrToInt(vyrab_otp))+
вот тут попробуйте без получения в целочисленной части числа..
Trunc делает ноль
Да можно
if (условие 1) AND (условие 2) then r:=1 else r:=0;
а в записи используйте переменную +r+
профиль - контакты- Эл. почта
писать можно и на форуме.. я уже на днях выложу на форум результат... там готовый проек будет.. в проекте есть текие варианты..
асинхронность
создание - редактирование - удаление пользователей
формирование таблицы из полученных данных от удаленной БД..
автоматическое создние таблиц полей и связей по мере обращения к БД..
и.ТД
в работе использовал REDBEANPHP
тоже самое искал и я, но скажу Вам, облако - это очень дорого..
я работаю на jino.. работу с базой можно реализовать с прямым подключение или открыть доступ всем ip.. но если покупать вертуалку то все равно все в купе бедут дорого..
потому я делаю это при помоще php..
How can i call this function to USB
frmRoute.MapRoute.LoadGPSRoute(' ', clRed, 2, True);
frmRoute.MapRoute.LoadGPSRoute('c:\xxxGPXfiles\quiraing.gpx', clRed, 2, True);
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
OpenDialog : TOpenDialog;
begin
OpenDialog := TOpenDialog.Create(Form1);
IF OpenDialog.execute then
begin
Form1.Map1.LoadGPSRoute(OpenDialog.Filename, clRed, 2, True);
end;
OpenDialog.Free;
end;
нужен пример... на что материться сама программа
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
OpenDialog : TOpenDialog;
begin
OpenDialog := TOpenDialog.Create(Form1);
IF OpenDialog.execute then
begin
ShowMessage(OpenDialog.Filename);
end;
OpenDialog.Free;
end;
it does not work
Mail&SerialPHP
http://myvisualdatabase.com/forum/viewtopic.php?id=5086
точно... забыл
Можете воспользоваться таймером (TTimer), задав ему необходимый интервал.
вот-так все заработало как нужно
procedure datainapp;
var
i,c,a:integer;
d:integer = 20000;
list:TStringList;
url: string = 'https://гк.php';
Tlogin:TIniFile;
begin
a := GetTickCount;
Tlogin:=TIniFile.Create(ExtractFilePath (ParamStr (0))+'setting\online.ini');
list:=TStringList.Create;
list.Text:= SQLExecute( 'SELECT group_concat(id, char(13) || char(10)) FROM servise WHERE appUpdate=1' );
c:=list.Count-1;
datain:=createoleobject('WinHttp.WinHttpRequest.5.1');
timerDataIn:=TTimer.Create(frmLogin);
timerDataIn.Enabled:=True;
timerDataIn.Interval:=1000;
timerDataIn.OnTimer:=@SDataApp;
for i:=0 to c do
begin
datain.open('POST', url, True);
datain.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
datain.send('passwor=678'+
'&login='+Tlogin.ReadString('online','login','')+'&pass='+Tlogin.ReadString('online','password','')+
'&sservice='+Tlogin.ReadString('online','IDService','')+'&idapp='+list[i]+
'&firstnameapp='+sqlexecute('SELECT firstNameClient FROM servise WHERE id='+list[i])+
'&lastnameapp='+sqlexecute('SELECT lastNameClient FROM servise WHERE id='+list[i])+
'&telephonapp='+sqlexecute('SELECT telephonClient FROM servise WHERE id='+list[i])+
'&dateapp='+sqlexecute('SELECT dateApplcation FROM servise WHERE id='+list[i])+
'&timeapp='+sqlexecute('SELECT timeApplication FROM servise WHERE id='+list[i])+
'&descriptionapp='+sqlexecute('SELECT descriptionATCsWords FROM servise WHERE id='+list[i])+'');
repeat
Application.ProcessMessages;
if SDataApp(list[i])then begin
SQLExecute('UPDATE servise SET appUpdate="0" WHERE id = '+list[i]);
break;
end;
until (GetTickCount - a) >= d;
end;
timerDataIn.Enabled:=False
end;
нужна пауза в цикле
sleep тормазить всю программу
My Visual Database → Posts by sibprogsistem
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi