Edytor tekstu
Edytor tekstu
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
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
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
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
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
Zrobił bym to trochę innaczejjogurt_owocowy pisze:Na prosty edytor tekstu powinno wystarczyć coś takiego :arrow: brzydki, brzydki diagram
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?
8)
Zakładająć że mamy wykonac prosty edytor o funkcjach takicj ka widac poniżej:
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:
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.
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):
Kolejnym etapem jest obsługa zapisu do pliku Tutaj należało by pozwolić uzytkownikowi wybrać czy nadpisuje plik, czy też tworzy nowy:
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:
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 ).
et
Pieknie dziekuje za wszystkie odpowiedzi
Re: Edytor tekstu
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
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
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
Re: Edytor tekstu
To może edytor tekstu wsadzony do LabVIEW?
Embed a text editor instead of string control on front panel GUI
Embed a text editor instead of string control on front panel GUI
Re: Edytor tekstu
Wszystko jest takie prymitywne ze az mnie denerwuje, ale nie mam pomyslu jak to zrobic... Jakieś pomysly?
Re: Edytor tekstu
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.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Edytor tekstu
Mam nadzieję, że przykład w załączniku Ci pomoże.
Pozdrawiam
Pozdrawiam
- Załączniki
-
- Text Editor.vi
- LV 2012
- (47.58 KiB) Pobrany 413 razy
Re: Edytor tekstu
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!
Re: Edytor tekstu
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 (6.83 KiB) Przejrzano 15182 razy
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Edytor tekstu
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.
Górna kontrolka ma zaznaczoną opcję View As Icon, dlatego wygląda inaczej.
Pozdrawiam.
Re: Edytor tekstu
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!