Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2011-09-27 14:14:52 ЛС | профиль | цитата
Neo писал(а):
не пойму из-за чего рантайм эррор 32
из за неправильного пути к папке с файлами *.cvs
Может так будет понятней.
Add(InlineCode,11280652,154,119)
{
WorkPoints=#10:doLastFile|6:doRead|
EventPoints=#6:onRead|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|14: str:string;|15: Fn:TextFile;|9: public|20: onRead:THI_Event;|54: Procedure doLastFile(var _Data:TData; Index: Word);|50: Procedure doRead(var _Data:TData; Index: Word);|0:|5: end;|0:|14:implementation|33:Procedure THiAsmClass.doLastFile;|5:Begin|64: str := toString(_Data); // в str полный путь к последнему файлу|4:end;|0:|29:Procedure THiAsmClass.doRead;|5:Begin|76: If ExtractFileNameWOext(str)='' then Exit; // если нет файла *.cvs на выход|125: AssignFile(Fn, str); // назначаем имя файловой переменной Fn, дальше можем использовать str как угодно|70: Reset(Fn); // открываем фай на чтение|105: While not Eof(Fn) do ReadLn(Fn, str); // в str читаем строки до конца файла, в str последняя строка|61: CloseFile(Fn); // закрываем файл|94: str := Copy(str,Length(str)-26,27); // в str оставляем только Температуру и Дату-время|99: _hi_onEvent(onRead,str); // если не надо выводить, то эту строку закоментировать|97: AssignFile(Fn,'temp_history'); // назначаем файловой переменной Fn файл temp_history|88: ReWrite(Fn); // создаём и открываем новый файл для записи|75: WriteLn(Fn,str); // записываем в него строку str|61: CloseFile(Fn); // закрываем файл|4:End;|4:end.|
}


------------ Дoбавленo в 14.14:
Кто с правами - удалите предыдущее от 109.67.208.240.
Выбросило и не заметил.
Neo, строку
str := Copy(str,Length(str)-26,27); 
наверное нужно заменить на
str := Copy(str,Length(str)-27,28); 
т.к. температуры могут быть и отрицательные.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0