jogurt_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?
Zrobił bym to trochę innaczej
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 ).