Advanced File Functions у LabVIEW


У попередному дописі ми розглянули функції, призначені для роботи із файлами з середовища LabVIEW, зараз ще трохи користної інформації про вузли із палітри “Advanced File Functions”, які дозволяють реалізувати роботу з файлами на більш низькому рівні і тому є більш гнучкими у налаштуванні.

Інформацію про вузли спробую подати у дещо іншому форматі, оскільки, як показує досвід, багато хто не може самостійно розібратися із призначенням тих чи інших терміналів. Сподіваюся, так буде зрозуміліше.

Отож, першим вузлом у палітрі “Advanced File Functions” є вузол File Dialog, призначений, як видно із назви, для відображення відповідного діалогового вікна вибору файлу.

 

Вузол File Dialog у LabVIEW

Вузол File Dialog у LabVIEW

На рисунку наведено зображення із допомоги LabVIEW, тому далі коротко ознайомимося із призначенням терміналів даного вузла.

Термінал start path служить для задання початкового шляху, який відображатиметься у діалоговому вікні. Це користно у тих випадках, якщо програма, наприклад, повинна працювати із файлами, що розташовані у конкретній директорії.

Термінал select mode служить для вибору режиму діалогового вікна, можливі значення константи (відповідні режими наведено у лівій частині рисунку). Можливими режимами діалогового вікна є (в порядку, у якому вони наведені на рисунку): існуючий файл, новий файл, новий чи існуючий файл, існуюяа директорія (папка), нова директорія, нова чи існуюча директорія, а також чотири режими, що використовуються для роботи із LLB – спеціалізованими файловими “контейнерами” LabVIEW.

Термінали default name та pattern служать для задання імені файлу за замовчуванням, а також шаблону імен (наприклад для роботи іх текстовими файлами можна використовувати шаблон *.txt і тоді файли інших типів у діалоговому вікні відображені не будуть).

Термінал path повертає шлях до обраного файлу, а логічні термінали exists і cancelled набувають значення “істина” у тому випадку, коли файл існує, або ж користувач натиснув у діалоговому вікні кнопку “Відмінити” (Cancel). Робота з цими терміналами дозволяє, наприклад, просити підтвердження на заміну існуючого файлу і уникнути аварійного завершення програми якщо користувач закрив діалогове вікно, нічого не вибравши.

Два термінали, які на рисунку знаходяться у верхній частині вузла, називаються prompt і button label та служать для задання відповідно заголовку діалогового вікна та надпису на кнопці вибору файлу. Термінали в нижній частині вузла (dialog type та pattern label) служать для задання типу діалогу та текстової назви шаблону.

Вузли Open File та New File служать відповідно для відкривання та створення файлів, шлях до яких вказується за допомогою терміналу file path (в загальному випадку цей термінал слід підключити до вузла File Dialog).

 

Опис вузлів Open File та New File

Опис вузлів Open File та New File

Стосовно інших терміналів, зображених на рисунку, їх призначення загалом зрозуміле. Так термінали error in та error out використовуються для передачі помилок через відповідний кластер для їх подальшої обробки. Термінал refnum служить для передавання ідентифікатора файлу до наступного вузла (наприклад, для здійснення запису інформації у файл).

Термінал open mode задає режим відкривання файлу (читання/запис, тільки читання, тільки запис, перезапис), термінал overwrite дозволяє здійснювати перезапис існуючого файлу.

 

Вузли EOF та Seek у LabVIEW

Вузли EOF та Seek у LabVIEW

Вузли EOF та Seek призначені для пошуку даних всередині файлу. Перший з них дозволяє знайти або встановити позицію маркера кінця файлу (EOF, англ. End of File). Якщо необхідно просто визначити позицію маркера, то використовується термінал offset, якщо позицію слід задати, то використовуються термінали pos offset та pos mode, причому перший задає зміщення у байтах від вказаної точки, а другий, власне, дозволяє обрати “точку відліку” (0- початок файлу, 1 – кінець файлу, 2 – поточна позиція).

Вузол Flush File виконує фізичний запис усіх файлових буферів на диск (як правило, вміст файлу знаходиться у буфері і записується на диск при закриванні файлу, або коли буфер заповнюється, використання вузла Flush дозволяє здійснити примусовий запис).

 

Функції Lock Range та Access Rights у LabVIEW

Функції Lock Range та Access Rights у LabVIEW

Вузол Lock Range дозволяє заблокувати діапазон адрес всередині файлу, захистивши їх від запису, наприклад, якщо у файлі міститься важлива інформація, та дані, які слід змінити, то критичний діапазон може бути захищено за допомогою цієї функції. Призначення терміналів pos mode та pos offset аналогічне до їх ролі у вузлі Seek. Термінал count задає кількість байт, які необхідно заблокувати.

Вузол Access Rights дозволяє отримати та змінити права доступу до файлу, а також власника файлу (owner) та його групу (group). Для операційних систем Windows ця функція дозволяє лише змінювати права на запис файлу.

Вузол Path Type дозволяє дізнатися тип шляху, поданого на вхідний термінал: абсолютний, відносний, чи “не шлях” (Not a Path). Вузол Type and Creator теж не працює у ОС Windows, дозволяючи лише отримати тип файлу для тих розширень, які підтримуються LabVIEW (це *.vi та *.llb).

Наступні вузли палітри “Advanced File Functions” працюють із файловою системою і дозволяють здійснювати копіювання, видалення, переміщення і перейменування файлів та директорій, а також отримувати інформацію про розміри файлів, каталогів та логічних дисків. Детального пояснення призначення терміналів цих вузлів не потребує.

 

Почитайте ще оце:

Залиште коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *