Edytor tekstu

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
souske
Posty: 12
Rejestracja: 15 lut 2005 00:00
Lokalizacja: Poznań
Kontakt:

Edytor tekstu

Post autor: souske »

Witam

Byc moze moje pytanie jest proste ale mecze sie od dluzszego czasu
ze napisaniem prostego edytora textu. Porblem polega na polaczeniu
wlasciwosci String Control i String Indicator, tzn abym mogl na jednym
oknie wyswietlac tekst z pliku i jednoczesnie go edytowac.
Przeszukalem archiwum ale nie znalazlem odpowiedzie na moje pytanie,
byc moze odpowiedz na nie jest tak tragicznie prosta ze nikt sie nim nie zajmowal :)

Pozdrawiam
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Post autor: jogurt_owocowy »

Na prosty edytor tekstu powinno wystarczyć coś takiego [img]http://student.uci.agh.edu.pl/~iron/lab ... edytor.gif[/img]
I przy okazji pytanie z tym związane. Czy da się jakoś bardziej 'elegancko' tj. bez zmiennej przesłać ścieżkę do pliku pomiędzy kostkami open i save?
Pozdrowionka :)
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Post autor: Mikrobi »

jogurt_owocowy pisze:Na prosty edytor tekstu powinno wystarczyć coś takiego :arrow: brzydki, brzydki diagram :wink:
I przy okazji pytanie z tym związane. Czy da się jakoś bardziej 'elegancko' tj. bez zmiennej przesłać ścieżkę do pliku pomiędzy kostkami open i save?
Zrobił bym to trochę innaczej
8)
Zakładająć że mamy wykonac prosty edytor o funkcjach takicj ka widac poniżej:
Obrazek czyli - otwarcie pliku,
- przeglądanie i edycja - zapisanie pliku - wyczyszczenie ekranu należalo by wykorzystać strukturę event osadzoną w pętli while jak na poniższym diagramie:
Obrazek
1. Trzeba przygotować okno tekstowe (kontrolkę String i PKM >> Visible Items >> Scrollbar ) 2. mając na diagramie przyciski i osadzoną w petli while strukturę event oraz kontrolkę String poza strukturą event - dla zdarzenia 0 (event 0) : PKM na etykiecie eventu>> Edit Item Handled by This Case i wybieramy zdarzenie, które będzie tutaj obsługiwane.
Obrazek
Jeśli chcemy dodać obsługę przycisku, który nazwany jest
"Otworz plik": - z lewej strony wybieramy nazwę przycisku (odczyt pliku),
- z prawej strony rodzaj zdarzenia na jakie mamy zareagować (zmiana wartości przycisku) Dobrą praktyką jest umieszczenie przycisku na który reagujemy wewnatrz eventu, który go obsluguje.
Nazstepnym etapemjest kilkniecie na kontrolce String i PKM >> Create>> Propert node <- tworzymy węzeł własności, czyli element zawierający dostepne dla nas właściwości kontrolki. Wybieramy Value i ustawiamy je (PKM) w trybie zapisu (Change All to Write). Element taki pozwala na programową zmianę lub odczytanie wartości kontrolki bez podłączania się do niej.
oraz co ważniejsze: na wpisanie przez program wartości DO kontrolki, która jest elementem z której program z definicji odczytuje dane.

Z odczytanego pliku własnie w ten sposób do kontrolki wprowadzamy dane.
Teraz obsługa czyszczenia ekranu (przycisk ma label CLEAN): Obrazek
Kolejnym etapem jest obsługa zapisu do pliku Tutaj należało by pozwolić uzytkownikowi wybrać czy nadpisuje plik, czy też tworzy nowy:
Obrazek
Korzystamy tutaj z funkcji dialogowej z dwoma przyciskami
i komparatora, który w zależności od naciśnietego przycisku poda poprzednią ścieżkę (przechowywaną przez Shift Register na krawędziach pętli while) Empty Path Constant[/b] spowoduje wywołanie klasycznego pytania systemu Windows o nazwę dla zapisywanego pliku.
Zakończenie programu to obsługa przycisku stop przez taki event:
Obrazek
W zasadzie może to wyglądać w skomplikowany sposób, jednak warto się tego nauczyć. Petla while i struktura event współpracujące ze sobą są prawidlową struktura programu. Petla wykonyje obrót tylko kiedy zachodzi zdarzenie obslugiwane przez jeden z event'ów. W pozostałych przypadkach procesor nie zajmuje się petlą.

W diagramie pokazanym przez jogurt_owocowy procesor wykonuje nieskończone obroty pętlą i nie ma możliwości opuszczenia programu (porządny programista w LabVIEW nie zatrzymuje swoich programów przyciskiem Abort ).
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
souske
Posty: 12
Rejestracja: 15 lut 2005 00:00
Lokalizacja: Poznań
Kontakt:

et

Post autor: souske »

Pieknie dziekuje za wszystkie odpowiedzi :)
May0R1990
Posty: 6
Rejestracja: 14 maja 2013 17:53
Wersja środowiska: LabVIEW 2012

Re: Edytor tekstu

Post autor: May0R1990 »

Witam,
ponawiam pytanie. Czy mógłbym prosić o jakiś przykładowy program edytora tekstu w środowisku LV lub chociaż zdjęcie schematu blokowego tegoż programu?:)
Pozdrawiam
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Re: Edytor tekstu

Post autor: bogdani »

To może edytor tekstu wsadzony do LabVIEW?

Embed a text editor instead of string control on front panel GUI
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
May0R1990
Posty: 6
Rejestracja: 14 maja 2013 17:53
Wersja środowiska: LabVIEW 2012

Re: Edytor tekstu

Post autor: May0R1990 »

Edytor tekstu.vi
Nieszczesny edytor tekstu
(16.67 KiB) Pobrany 392 razy
Czy istnieje możliwość uzupelnienia początkowego kategori control wartością z pliku tekstowego. Chodzi mi o edycje i zapisanie do nowego pliku. moge pobrać wartość i z controla dodac i zapisac jako nowy plik. Ale co wczytuje z pliku txt na wejsciu nie moge edytowac...
Wszystko jest takie prymitywne ze az mnie denerwuje, ale nie mam pomyslu jak to zrobic... Jakieś pomysly?
May0R1990
Posty: 6
Rejestracja: 14 maja 2013 17:53
Wersja środowiska: LabVIEW 2012

Re: Edytor tekstu

Post autor: May0R1990 »

Jeszcze mi przychodzi do głowy kopiowanie z reki z indicatora z boku jeden indicator kopiuje do controla edytuje i zapisuje jako nowy plik. Ale to wydaje mi sie az nad wymiar prymitywne. Jestem nowy i nie wiem jak to ruszyc jakos.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Edytor tekstu

Post autor: jogurt_owocowy »

Mam nadzieję, że przykład w załączniku Ci pomoże.

Pozdrawiam
Załączniki
Text Editor.vi
LV 2012
(47.58 KiB) Pobrany 397 razy
May0R1990
Posty: 6
Rejestracja: 14 maja 2013 17:53
Wersja środowiska: LabVIEW 2012

Re: Edytor tekstu

Post autor: May0R1990 »

Rewelacja;) Dziękuje pięknie. Mam wszystko to co trzeba. Jeszcze nie ogarniam dokładnie jakie funkcje i dlaczego. Widzę jak prymitywnie i łopatologicznie próbowałem to rozwiązać. Idę studiować tą strukturę. Pozdrawiam!
May0R1990
Posty: 6
Rejestracja: 14 maja 2013 17:53
Wersja środowiska: LabVIEW 2012

Re: Edytor tekstu

Post autor: May0R1990 »

A jeszcze jakbym mógł się dowiedzieć jednego. W załączniku dodałem plik. Tam jest taka opcja jak read. Jest string normalny który służy wpisywania, natomiast jest funkcja read do tego stringu. W jaki sposób utworzyć? Jak na zdjęciu string2 Chodzi mi o kontrolkę dodatkowa odnoszącą się do tego stringa (read/write). Sam nie mogę znaleźć;/
Załączniki
String.jpg
String.jpg (6.83 KiB) Przejrzano 14508 razy
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Edytor tekstu

Post autor: jogurt_owocowy »

Na Twoim obrazku są dwa terminale wejściowe (albo, po prostu, kontrolki) oraz zmienna lokalna.
Górna kontrolka ma zaznaczoną opcję View As Icon, dlatego wygląda inaczej.

Pozdrawiam.
May0R1990
Posty: 6
Rejestracja: 14 maja 2013 17:53
Wersja środowiska: LabVIEW 2012

Re: Edytor tekstu

Post autor: May0R1990 »

Dziękuje bardzo. Właśnie chodziło mi o zmienną lokalną. W jaki sposób można wczytać wartość początkową do ikony control;] Genialne. Dzieki wielkie!
ODPOWIEDZ