Список форумов   Список форумов  

Как узнать размер выходного файла?

Всё о программировании на Labview

Модераторы: Техподдержка NI, Robert, Модератор

Как узнать размер выходного файла?

Сообщение Melevir » Вт июл 21, 2009 9:55 pm

День добрый!
Дело такое обычное: при использовании ВИ происходит сохранение в файл. Но грядет масштабный эксперимент - данные будут считываться с частотой 1кГц в течении двух суток. Соответственно, файл будет оочень не мал и я боюсь, что ВИ будет изрядно тормозить (сперва) и виснуть (через некоторое время после начала) т.к. весь файл будет загружать в память. Как решение напрашивается элементарный алгоритм: перед сохранением проверить размер выходного файла и если он больше указанного - записывать в новый файл. Проблема следующая: собственно, как узнать размер самого файла?
Заранее благодарен всем откликнувшимся! :)
Melevir
 
Сообщений: 5
Зарегистрирован: Пн июл 20, 2009 8:17 am

Сообщение Indey » Ср июл 22, 2009 8:53 am

Functions->Programming->File I/O->Advanced File Functions->Get File Size.
Indey
Специалист LabVIEW
 
Сообщений: 148
Зарегистрирован: Пт фев 02, 2007 9:34 am
Откуда: Электросталь

Сообщение iva » Ср июл 22, 2009 2:33 pm

А в версии 7 такого, увы, нет
iva
 
Сообщений: 5
Зарегистрирован: Вс фев 01, 2009 1:26 pm
Откуда: Israel

Сообщение Indey » Ср июл 22, 2009 2:36 pm

iva писал(а):А в версии 7 такого, увы, нет

Есть. Только называется по другому - File/Directory Info. По крайней мере в 7.1
Indey
Специалист LabVIEW
 
Сообщений: 148
Зарегистрирован: Пт фев 02, 2007 9:34 am
Откуда: Электросталь

Сообщение iva » Ср июл 22, 2009 4:59 pm

Точно! Нашла. Спасибо
iva
 
Сообщений: 5
Зарегистрирован: Вс фев 01, 2009 1:26 pm
Откуда: Israel

Сообщение Melevir » Ср июл 22, 2009 9:56 pm

Всем спасибо! :)
Melevir
 
Сообщений: 5
Зарегистрирован: Пн июл 20, 2009 8:17 am

Сообщение Melevir » Сб авг 01, 2009 11:21 pm

Теперь беда такая - мне нужен счетчик этих самых сохраняемых файлов. То есть с начала работы ВИ он равен 1, когда первый файл достигнет максимального значения - 2 и так далее...
В самой среде я чайник, поэтому подскажите пожалуйста как организовать такой счетчик? Локальные переменные не подходят вроде...
Melevir
 
Сообщений: 5
Зарегистрирован: Пн июл 20, 2009 8:17 am

Сообщение Indey » Вс авг 02, 2009 6:25 am

Melevir писал(а):Теперь беда такая - мне нужен счетчик этих самых сохраняемых файлов. То есть с начала работы ВИ он равен 1, когда первый файл достигнет максимального значения - 2 и так далее...
В самой среде я чайник, поэтому подскажите пожалуйста как организовать такой счетчик? Локальные переменные не подходят вроде...

Используй Shift Register.
Ну т.е. подводишь проводок со счётчиком к концу цикла, щелкаешь правой кнопкой Replace-Shift register. Появятся два терминала в начале и в конце цикла. На начальный подашь еденицу. В случае сохранения файла каждый раз делай прибавляй 1 к счетчику, а если нет, то этот провод должен идти без изменений.
Indey
Специалист LabVIEW
 
Сообщений: 148
Зарегистрирован: Пт фев 02, 2007 9:34 am
Откуда: Электросталь

Сообщение Melevir » Вс авг 02, 2009 11:25 am

так.. а внутри цикла к нему как обращаться? ну, чтоб, напимер, этот номер в название файла запихать.. просто провод к начальному?
Melevir
 
Сообщений: 5
Зарегистрирован: Пн июл 20, 2009 8:17 am

Сообщение егра » Вс авг 02, 2009 1:59 pm

Можно.
егра
Специалист LabVIEW
 
Сообщений: 220
Зарегистрирован: Сб сен 01, 2007 10:51 pm
Откуда: Homburg/Germany

Сообщение Melevir » Вс авг 02, 2009 3:39 pm

Следующий вопрос - как проверить наличие фала? Если проверять размер несуществующего файла вылезает ошибка.. В помощи нашел вот это вот (http://zone.ni.com/reference/en-XX/help/371361B-01/glang/check_if_file_exists/) описание, а где сам ВИ взять? Или как то еще можно.. Неужели такой возможности нет в стандартных функциях?
Melevir
 
Сообщений: 5
Зарегистрирован: Пн июл 20, 2009 8:17 am

Сообщение Pael » Пн авг 03, 2009 7:43 am

Melevir писал(а):Следующий вопрос - как проверить наличие фала? Если проверять размер несуществующего файла вылезает ошибка.. В помощи нашел вот это вот (http://zone.ni.com/reference/en-XX/help/371361B-01/glang/check_if_file_exists/) описание, а где сам ВИ взять? Или как то еще можно.. Неужели такой возможности нет в стандартных функциях?


Если даже и нет то можно решить эту проблему несколькими способами:
1)Один ты уже реализовал, осталось только проверять ошибку при получении информации о файле.
2)Можно получить список всех файлов в директории и затем через search 1d array найти в этом списки нужный файл... или не найти его.
Pael
Пользователь
 
Сообщений: 23
Зарегистрирован: Вт июл 07, 2009 5:03 pm


Вернуться в LabVIEW

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2