Текущий архив: 2009.12.20;
Скачать: CL | DM;
Вниз
не считывает данные из сетевого файла Найти похожие ветки
← →
user51 (2009-10-29 14:55) [0]произвожу считываение файла из сетевого окружения
раз в секунду. Содержимое файла также меняется гдето раз в секунду.
if fileexists ("\\10.128.1.1\ping\ping.txt") then
begin
assignfile(f,"\\10.128.1.1\ping\ping.txt");
reset(f);
repeat
readln(f,ff);
until eof(f);
closefile(f);
end
проблема в том что файл реально меняется
а программа считывает все время одно и тоже похоже из какогото виндового буфера. Если я тоталом открою файл
для просмотра то и программа сразу считает новое содержимое файла. как сделать чтоб считывалось реальное содержимое файла ?
← →
ПостОвый терминатор © (2009-10-29 15:28) [1]Каким образом узнаешь (проверяешь), что программа по таймеру считывает одну и ту же информацию?
"Сетевой" файл похоже не причем.
Для начала попробуй уменьшить частоту опроса
← →
Anatoly Podgoretsky © (2009-10-29 15:39) [2]
> user51 (29.10.09 14:55)
Врядли тоталом читает с помощью данных функций, попробуй считывать с помощью АПИ, тем более что код разместил в этом разделе, а код не соответствует тематике форума. Как промежуточный шаг попробуй считывать с помощью TFileStream. Но забудь про работу со строками, и АПИ и TFileStream это низкоуровневые процедуры, единица БАЙТ.
К тому же приведеный код вообще не подходит для межпрограммной работы.
← →
user51 (2009-10-29 15:42) [3]на линуксе создал расшаренную папку в ней ping.txt котрый постоянно меняется (под линуксом программа крутиться и пингует и результат сбрасывает в файл причем первая строчка это всрем - поэтому легко поределить верно ли считыается или нет); Необходимо соединится их под ХП и пропарсить файл.
на моем компе - wmware (виртуальная машина LINUX с расшаренной папкой и файлом ping.txt) и эта прога. Все работает ОК.Считывается правильное содержимоое файла.
Беру эту прогу ставлю на комп под ХП в этой сети есть настоящий линукс с расшаренной папкой и файлом ping.txt
Считывается толко первое значение. файл реально меняется. а считывается все равно старое значение. Беру в тотале нажимаю F3 на этом файле и сразу моя прога считыват новое значение.
← →
user51 (2009-10-29 15:51) [4]вопрос как заставить виндовс считать данные еще раз из файла на удаленном компьютере, а не из буфера в памяти того компьютера на котром запущена программа
← →
Anatoly Podgoretsky © (2009-10-29 16:07) [5]Ты ответы принципиально не читаешь.
← →
user51 (2009-10-29 16:33) [6]А ты не читаешь то что требуется сделать !!!
тотал делает что то при просмотре файла после чего виндовс
думает ага мой буфер устарел, надо обратно дать всем прогам считать из файла а не из буфра в памяти. И моя прога сразу же считывает новое правильное содержание файла.
КТО ЗНАЕТ КАК ЗАСТАВИТЬ ВИНДУ ДАВАТЬ СЧИТЫВАТЬ ДАННЫЕ ИЗ ФАЙЛА
а не из буфера ?
← →
Сергей М. © (2009-10-29 17:23) [7]Интересно, за каким лешим понадобилось кидать вывод консольной утилиты в файл, расшаривать его и потом на удаленном хосте пыжиться-ловить изменения в этом файле, вместо того чтобы перенаправить консольный вывод прямо на syslog-сервер на удаленном хосте ?
← →
user51 (2009-10-29 17:44) [8]просто файл уже есть и я хочу прочто его получить.
Сергей М. твой вариант можно тоже рассмотреть подскажи тогда как на линуксе переправить вывод на syslog-сервер и как сделать syslog-сервер под виндой. И действительно ли это проще чем найти комманду (точно такую же которую использует тотал ) и запускать ее перед считыванием
← →
Сергей М. © (2009-10-29 21:44) [9]
> user51 (29.10.09 17:44) [8]
> как на линуксе переправить вывод на syslog-сервер
Читай документацию.
> как сделать syslog-сервер под виндой
UDP, 514-й порт, текстовые сообщения.
← →
Dennis I. Komarov (htc) (2009-10-29 22:53) [10]очередной x, y, z...
но тут дело не в syslog
тут, понимаешь, винад во всем виновата.
← →
brother © (2009-10-30 04:28) [11]> А ты не читаешь то что требуется сделать !!!
O_o это кому надо то? ты к советам прислушивайся ;)
← →
brother © (2009-10-30 04:29) [12]имхо, реализация вообще никакая...
← →
user51 (2009-10-30 12:03) [13]вобщем я все сделал - пару строчек добавил к коду.
А от ваших советов толку никакого - как впрочем и всегда. За всё время раза 4 спрашивал, то не знаете как сделать (в данном случае никто не знает как получить реальное содержимое файла) или вообще даете бесполезные советы которые я не могу использовать.
Интересно у кого нибудь мозгов хватит догадаться, что надо добавить или что надо изменить чтоб приведенный выше код заработал ? или к моему ОФИГЕННО БОЛЬШОМУ УДИВЛЕНИЮ я окажусь самым умным из всех кто писал в этом посту.
Страницы: 1 вся ветка
Текущий архив: 2009.12.20;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.012 c