|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||||||
Как проверить наличие информации в файле25.05.2012, 16:37. Показов 1723. Ответов 14
Метки нет (Все метки)
Добрый день!
Возник вопрос проверки наличия данных в файле. Задача - программой на VB отследить наличие и считать информацию из текстового файла, который в этот момент создает другая программа. Столкнулся с проблемой - файл создан и вроде бы как есть, но он пустой - еще ничего не записано в него. после мучительных размышлений родился такой вот код проверки
Собственно может быть кто то подскажет как эту проверку проще сделать?
0
|
||||||
| 25.05.2012, 16:37 | |
|
Ответы с готовыми решениями:
14
Как проверить элемент на наличие? Как проверить строку на наличие определенных символов? Проверить наличие файла в папке |
|
Супер-модератор
|
|
| 25.05.2012, 17:09 | |
|
0) с виду все более-менее
1) Если при открытии файла происходит ошибка - программа завершится. А должна? 2) Передавать информацию через файл - это не очень хорошее решение. В Windows существует много способов межпроцессорного взаимодействия. Лучше использовать какой-либо из них.
1
|
|
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
|
| 25.05.2012, 17:27 [ТС] | |
|
1 - да, должна, потому что не получив данные дальнейшая работа бессмысленна
2 - по другому никак, поскольку в файлик записываются данные сторонней программой, к которым я не смог подобраться из VB. В частности номер ключа HASP. Если кто-то подскажет какие то библиотеки для работы с HASP из VB буду очень благодарен.
0
|
|
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||
| 25.05.2012, 18:23 [ТС] | ||
|
а стороннюю программу я запускаю через shell примерно так: cmd /c prog.exe > 1.txt а потом анализирую текстовый файл с инфой
0
|
||
|
Супер-модератор
|
|
| 25.05.2012, 19:56 | |
|
O! Замечательно. Вместо этого сделай конвейер!
cmd /c prog.exe | new.exe Программа new.exe будет ждать, пока prog.exe выплюнет данные в выходной поток, и примет их из своего входного потока. Такое решение подойдет?
0
|
|
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
|
| 25.05.2012, 20:14 [ТС] | |
|
Я думаю для меня это будет сложнее чем первый вариант
![]() Потому как я даже не представляю что такое конвейер применительно к VB и с чем его едят
0
|
|
|
Супер-модератор
|
|
| 25.05.2012, 20:45 | |
|
Конвейер - это когда одна программа направляет данные сразу на вход другой, минуя промежуточные файлы. Эта возможность взята из UNIX-а и пользоваться ею удобно. Могу подготовить и выложить пример.
0
|
|
|
|
||||||
| 26.05.2012, 00:12 | ||||||
|
Catstail, здорово! Давно хотел узнать как это сделать.
Хочу предложить и свою версию с помощью shell:
1
|
||||||
|
Супер-модератор
|
||||||
| 26.05.2012, 17:55 | ||||||
|
Тем, кто захочет использовать эту технику. Есть важный ньюанс программа на VB после компиляции не запустится как консольное приложение (с доступом к стандартным хэндлам ввода/вывода). Сначала нужно в PE-заголовке установить признак консольного приложения. Для этого прилагается программа MakeCon.exe. (Не моя, нашел в Сети). После трансляции вашей программы, запустите MakeCon, в списке файлов выберите вашу свежескомпилированную программу и нажмите Enter.
Программа MakeCon модифицирует PE-заголовок выбранного экзешника:
1
|
||||||
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||
| 28.05.2012, 10:50 [ТС] | ||
|
И с конвейером видимо тоже не получится по тем же причинам. Но знания никогда лишними не бывают, так что спасибо всем
0
|
||
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||
| 28.05.2012, 11:18 [ТС] | ||
|
Я так подозреваю, что это проблема даже не столь программы, сколь операционной системы и сети, потому что программа хранится на сетевом диске и там же создается файл. И с такой ситуацией я не впервые столкнулся в нашей сети, натыкались уже на похожие проблемы. Так что скорее всего это связано с сетью, но вот что именно происходит - никто понять не может.
0
|
||
|
|
||||||
| 28.05.2012, 14:03 | ||||||
|
Надо в таком случае добавить еще одну проверку на наличие данных в файлике. Думаю, в принципе первоначальный код подойдет после небольшого изменения:
0
|
||||||
| 28.05.2012, 14:03 | |
|
Помогаю со студенческими работами здесь
15
Проверить наличие в массиве повторяющихся элементов
Проверить наличие значения в файле
Проверить на наличие колонки в DBF файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|