Робота з рядками у LabVIEW: продовження 1


У попередньому дописі ми створили інструмент, для перетворення тексту, введеного літерами у хаотичній суміші регістрів до нормального вигляду. Зараз же поговоримо про решту задачі. Нагадую, треба виводити повністю ім’я, прізвище та по-батькові у один рядок, якщо їх сумарна довжина менша якогось значення, а у протилежному випадку виводити лише прізвище та ініціали.

Реалізувати таку програму можна кількома способами, я виберу один з них, а над іншими, більш раціональними, нехай кожен попрацює сам. Отож ми використовуватимемо вузол “Select” для вибору одного з двох варіантів представлення імені та по-батькові, але генеруватимемо їх обидва. У нашій роботі знадобиться спроекований та збережений раніше у вигляді підпрограми інструмент.Для початку реалізуємо визначення сумарної довжини результуючого рядка, для чого тричі використаємо вузол “String Length” щоб дізнатися довжини всіх складових. Сумарну довжину отримаємо додавши всі три величини (для цього я використовую вузол “Compound Arithmetic” – він дозволяє вибрати яку дію виконувати над вхідними величинами і задати їх кількість, просто розтягнувши піктограму вузла по вертикалі. Додатково до сумарної довжини додаємо ще константу “2” – це кількість пробілів-розділювачів: між ім’ям та прізвищем і прізвищем та по-батькові.

У нашій заготовці, представленій на наступному рисунку поки просто загориться зелений індикатор, якщо сумарна довжина перевищуватиме введене у відповідному віконечку число.

Контроль довжини тексту

Контроль довжини тексту

Тепер зробимо так, щоб перемикач “Контролювати довжину” вмикав і вимикав відповідну функцію. Для цього досить скористатися логічним “І-НЕ” (“Not And”), відповідний вузол можна знайти у палітрі “All Functions” -> “Boolean”, тому окремої ілюстрації не робитимемо.

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

Оскільки у будь-якому випадку прізвище змінюватися не буде, то його поки не чіпаємо, а от у імені та по-батькові виділимо перші букви за допомогою уже відомого нам вузла “String Subset” і склеїмо їх у один рядок, наступним чином: “пробіл”+”перша буква імені”+”крапка”+”перша буква по-батькові”+”крапка”. Паралельно в інший рядок склеїмо ім’я та по-батькові повністю, також розмістивши перед кожним із слів пробіл. Як це зробити ми вже знаємо (зверніть увагу, що “відрізати” перші букви треба вже після того, як слова буде приведено до “нормального” вигляду).

Ім'я та ініціали

Ім'я та ініціали

Ну і нарешті підключаємо наш “Select”, який вибиратиме із двох варіантів, та склеюємо прізвище з результатом його роботи.

Готова програма

Готова програма

Програма готова. Але увага, в процесі роботи у мене виник невеличкий проїзд (хто уважний, знайде різницю на останній та передостанній ілюстраціях). У тексті послідовність виконання роботи описана правильно, а от один з малюнків трішечки невірний. Спробуйте знайти помилку самостійно 🙂

 

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


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

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

Думка на тему “Робота з рядками у LabVIEW: продовження