Ваши комментарии

Добрый день!

Для подключения с одного ПК (в режиме сетевого клиента) к разным опросным станциям.

1. Следует ли это сообщение понимать, что и ArchBrowser.exe также может работать с ip-адресами ?
2. Следует ли надеяться, что следующим шагом будет появление полноценного места Диспетчера (т.е. SIMP Light SPACE) ?
3. Наша компания использует систему SimpLight версия Enterprise (один сервер - три рабочих места). Для того, чтобы организовать вторую опросную станцию нам надо докупить … (что: сервер, рабочее место, или что-то еще) ?

С уважением, Кондратенко Анатолий
Новочеркасск
Добрый день!

Когда ожидать новую версию системы ?
Будет ли там место диспетчера (т.е. SIMP Light SPACE) ?

С уважением, Кондратенко Анатолий
Новочеркасск
да данные в базе есть
они были созданы функцией записи:

// функция записи в базу данных заданных значений с шагом 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:
Или есть еще какие-то варианты ?

С уважением, Кондратенко Анатолий
Новочеркасск
"… Благодарность наша будет безграничной, в разумных пределах …"
:woohoo:


Сервис поддержки клиентов работает на платформе UserEcho