Strona 1 z 1

Edytor tekstu

: 01 kwie 2005 11:42
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

: 01 kwie 2005 15:11
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 :)

: 02 kwie 2005 15:09
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 ).

et

: 08 kwie 2005 12:17
autor: souske
Pieknie dziekuje za wszystkie odpowiedzi :)

Re: Edytor tekstu

: 14 maja 2013 17:54
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

Re: Edytor tekstu

: 16 maja 2013 09:40
autor: bogdani
To może edytor tekstu wsadzony do LabVIEW?

Embed a text editor instead of string control on front panel GUI

Re: Edytor tekstu

: 16 maja 2013 14:00
autor: May0R1990
Edytor tekstu.vi
Nieszczesny edytor tekstu
(16.67 KiB) Pobrany 452 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?

Re: Edytor tekstu

: 16 maja 2013 14:02
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.

Re: Edytor tekstu

: 16 maja 2013 17:43
autor: jogurt_owocowy
Mam nadzieję, że przykład w załączniku Ci pomoże.

Pozdrawiam

Re: Edytor tekstu

: 16 maja 2013 18:39
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!

Re: Edytor tekstu

: 17 maja 2013 07:36
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źć;/

Re: Edytor tekstu

: 17 maja 2013 09:10
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.

Re: Edytor tekstu

: 17 maja 2013 12:24
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!