Ваши комментарии
Добрый день!
Когда ожидать новую версию системы ?
Будет ли там место диспетчера (т.е. SIMP Light SPACE) ?
С уважением, Кондратенко Анатолий
Новочеркасск
Когда ожидать новую версию системы ?
Будет ли там место диспетчера (т.е. SIMP Light SPACE) ?
С уважением, Кондратенко Анатолий
Новочеркасск
% = (Val-180)*10/7
да данные в базе есть
они были созданы функцией записи:
экспортный файл отправил почтой
они были созданы функцией записи:
// функция записи в базу данных заданных значений с шагом 1 секунда в пределах одних суток
// возвращает 1 при удачной записи, возвращает 0 - при неудаче (см.пример ниже)
// i = SaveBasePer("Сигнальный", "10.06.2015 01:00:00", "10.06.2015 03:01:00", 77);
// if(i==1) {ShowMessageBox("Заголовок","Запись в базу завершена успешно!",1);} else {ShowMessageBox("Заголовок","Ошибка записи!",1);}
int SaveBasePer(string sName, string sBegin, string sEnd, int iPer)
{
string stroka = sBegin, sHour, sMin, sSec;
int iSec = StrToInt(Copy(sBegin,18,2));
int iMin = StrToInt(Copy(sBegin,15,2));
int iHour = StrToInt(Copy(sBegin,12,2));
if(sName=="") { ShowMessage("Ошибка! Не задано имя канала!"); return 0; }
if(GetQuality(sName)!=192) { ShowMessage("Ошибка! Проверьте правильность написания имени канала!"); return 0; }
ShowMessage("Все готово для начала процесса зааписи! \n Нажмите ОК и ожидайте сообщения об окончании процесса записи!");
do
{
SaveChannelToDB(sName, StringToDateTime(stroka, "dd.mm.yyyy hh:nn:ss") , iPer);
iSec = iSec + 1;
if(iSec==60) {iSec=0; iMin=iMin+1;}
if(iMin==60) {iMin=0; iHour=iHour+1;}
sHour = IntToStr(iHour); if(iHour<10) sHour = "0" + sHour;
sMin = IntToStr(iMin); if(iMin<10) sMin = "0" + sMin;
sSec = IntToStr(iSec); if(iSec<10) sSec = "0" + sSec;
stroka = Copy(sBegin,1,11) + sHour + ":" + sMin + ":" + sSec;
}
while (stroka < sEnd);
return 1;
}
экспортный файл отправил почтой
Измениил
результат остался неизменным
…
error = StreamReadFromDatabase(dtBegin, dtEnd, "Сигнальный", Stream);
…
результат остался неизменным
Добрый день!
Разрешите тоже задать вопрос по скрипту.
Задался целью доставать из базы статистическую информацию.
Набросал примерную функцию:
в результате работы получаю текстовый файл с таким содержимым:
Не подскажите, в чем проблема?
С уважением, Кондратенко Анатолий
Новочеркасск
Разрешите тоже задать вопрос по скрипту.
Задался целью доставать из базы статистическую информацию.
Набросал примерную функцию:
// Функция чтения базы данных и запись статистических данных в текстовый файл
// возвращает 1 при удачном завершении, соответственно 0 - при неудаче
// i = Statistika("Сигнальный", "10.06.2015 01:00:00", "10.06.2015 03:00:00");
// if(i==1) {ShowMessageBox("—","Всё готово!",1);} else {ShowMessageBox("—","Произошла ошибка!",1);}
int Statistika(string sName, string sBegin, string sEnd)
{
string stroka;
int count=0, i, iValue, iVozvrat=1;
TMemoryStream Stream;
word error;
TDateTime dtBegin = StrToDateTime(sBegin);
TDateTime dtEnd = StrToDateTime(sEnd);
TDateTime dtDate;
ShowMessageBox("—", "Приступаем!", 1);
Stream = TMemoryStream.Create;
error = StreamReadFromDatabase(dtBegin, dtEnd, sName, Stream);
if(error == 0)
{
count = GetCountRecordToStream(Stream);
for(i=0;i<count;i++)
{
GetValueFromStream(Stream, dtDate, iValue);
stroka = " " + DateTimeToStr(dtDate) + " : " + IntToStr(iValue);
SaveToTxtFile("d:\\history.txt", stroka);
}
}
else { ShowMessageBox("—", "Ошибка считывания базы!", 1); iVozvrat=0; }
Stream.free;
return iVozvrat;
}
в результате работы получаю текстовый файл с таким содержимым:
30.12.1899 : 0
17.03.1900 : 77
30.12.1899 : 0
17.03.1900 : 77
30.12.1899 : 0
…
Не подскажите, в чем проблема?
С уважением, Кондратенко Анатолий
Новочеркасск
Добрый день!
А можно пример выложить для всеобщего обозрения ?
Решаю аналогичную задачу.
С уважением, Кондратенко Анатолий
Новочеркасск
А можно пример выложить для всеобщего обозрения ?
Решаю аналогичную задачу.
С уважением, Кондратенко Анатолий
Новочеркасск
"…скорей всего контролировать в скрипте временную метку при записи. БД…"
А зачем? Что мне это даст, если изменить имеющееся там значение я не могу.
Или Вы имели ввиду то, что с помощью этой проверки можно не допустить запись в базу другого значения с такой же временной меткой?
А зачем? Что мне это даст, если изменить имеющееся там значение я не могу.
Или Вы имели ввиду то, что с помощью этой проверки можно не допустить запись в базу другого значения с такой же временной меткой?
Добрый день!
Занимался я тут вопросом записи в базу данных произвольных значений с помощью SaveChannelToDB.
Получил необычные результаты.
Долго разбирался пока не заподозрил неладное.
Проверил эту догадку - и действительно - запись в базу данных вовсе не изменяет имеющееся там значение (как я ожидал), а просто кидает еще одно значение. Примерно так:
10.06.2015 2:00:00 33
10.06.2015 2:00:00 77
Так и должно быть? :unsure:
Или есть еще какие-то варианты ?
С уважением, Кондратенко Анатолий
Новочеркасск
Занимался я тут вопросом записи в базу данных произвольных значений с помощью SaveChannelToDB.
Получил необычные результаты.
Долго разбирался пока не заподозрил неладное.
Проверил эту догадку - и действительно - запись в базу данных вовсе не изменяет имеющееся там значение (как я ожидал), а просто кидает еще одно значение. Примерно так:
10.06.2015 2:00:00 33
10.06.2015 2:00:00 77
Так и должно быть? :unsure:
Или есть еще какие-то варианты ?
С уважением, Кондратенко Анатолий
Новочеркасск
"… Благодарность наша будет безграничной, в разумных пределах …"
:woohoo:
:woohoo:
Сервис поддержки клиентов работает на платформе UserEcho
1. Следует ли это сообщение понимать, что и ArchBrowser.exe также может работать с ip-адресами ?
2. Следует ли надеяться, что следующим шагом будет появление полноценного места Диспетчера (т.е. SIMP Light SPACE) ?
3. Наша компания использует систему SimpLight версия Enterprise (один сервер - три рабочих места). Для того, чтобы организовать вторую опросную станцию нам надо докупить … (что: сервер, рабочее место, или что-то еще) ?
С уважением, Кондратенко Анатолий
Новочеркасск