odczyt konkretnych wierszy z pliku

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.
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

Witam
Mam taki problem. Chce odczytać część pliku w labview. Wiem jak podłączyć plik, ale nie wiem jak wyłuskać konkretne wartości.
Przedstawie to przykładem.
Mam plik, który w środku wygląda tak -->(1.jpg)

Chcę przykladowo tylko odczytać wartości:
625 1250 1875 2500 3125 3750 4375 5000 5623 6250 6875 7500 8123 8750 9375 10000.

Czy jest możliwa taka operacja?

dzięki z góry za pomoc
pozdrawiam
coozi
Posty: 9
Rejestracja: 26 mar 2008 22:51
Kontakt:

Re: odczyt konkretnych wierszy z pliku

Post autor: coozi »

Witam,

Przeanalizuj załączony przykład.
Myślę, że powinno pomóc.

Pozdrawiam
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

kurcze nie rozumiem tego przykładu jakoś i nie wiem czy się jasno wyraziłem odnośnie mojego problemu.

pzdr
coozi
Posty: 9
Rejestracja: 26 mar 2008 22:51
Kontakt:

Re: odczyt konkretnych wierszy z pliku

Post autor: coozi »

Z tego co rozumiem to chcesz wyświetlić konkretny wiersz z danymi.
W moim przykładzie jest tak, że podajesz stringa, w którym jest kilka wierszy, podłączasz do bloczka Pick Line, w bloczku określasz który wiersz ma się pojawić na wyjściu (indeksowane od 0) i otrzymujesz to co chcesz.
Jeśli chodzi Tobie o to, żeby na wyjściu pojawiła się konkretna, pojedyczna wartość to też da się to zrobić tylko trzeba trochę bardziej pokombinować... (spróbuj z bloczkiem Scan From String)
Załączam rezultat działania programu, do wcześniejszego schematu.

Pozdrawiam
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

I tak też zrozumiałem ten przykład tylko, że plik z danymi będzia zapodawany z zewnątrz. Poprostu będzie na dysku w komputerze:) Więc teraz muszę jakoś podłączyć ten plik zamiast stringa control, a zamiast stringa indicator podłaczyć chcę np tabelę.

pozdrawiam
Ostatnio zmieniony 29 cze 2008 16:44 przez dundus, łącznie zmieniany 2 razy.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Hej,
Podanie używanej wersji LV i zamieszczenie tego pliku zamiast obrazka ułatwiłoby sprawę.
W wyższych wersjach jest klocek Read from Text File, który można skonfigurować tak, że wczytuje z pliku wszystkie linie do tablicy stringów. Teraz w pętli for wystarczy przelecieć po kolejnych elementach tablicy, sprawdzić czy element zawiera szukany nagłówek (np. OBROTY START) za pomocą np. Search/Split String, jeżeli tak, to wyjąć z tablicy kolejny element (string) i zamienić go na tablicę za pomocą Spreadsheet String To Array.
Pozdrawiam
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

Re2: odczyt konkretnych wierszy z pliku

Post autor: dundus »

Wersja to LabVIEW 8.5. Plik to format .txt tak jak na zdjeciu 1.jpg.

Chodzi mi raczej nie o przeszukiwanie wierszy, a ciagle odczytywanie konkretnego wiersza/wierszy z pliku (program bedzie odczytywal stale miejsc z pliku, na ktorym charakter znakow bedzie taki sam, ale zmieni sie ich wartosc)
Tzn.
Czesc programu bedzie odczytywala jedne wartosci (jeden wiersz) np: 0 255 0 3 0 0 0 0 0 0 0 0 0 0 0 0,
inna czesc bedzie odczywyala (inny wiersz) np: 625 1250 1875 2500 3125 3750 4375 5000 5623 6250 6875 7500 8123 8750 9375 10000.

Sprobuje zrobic to tak jak opisales

pozdrawiam
Ostatnio zmieniony 30 cze 2008 12:17 przez dundus, łącznie zmieniany 1 raz.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Re2: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Czesc programu bedzie odczytywala jedne wartosci (jeden wiersz) (...) inna czesc bedzie odczywyala (inny wiersz)
Najlepiej jak jedna część wczyta od razu cały plik do klastra o polach obroty, gaz, wtrysk itd. Po co mielić dyskiem niepotrzebnie?
Opisane powyżej rozwiązanie z wczytaniem kolejnych wierszy pliku do kolejnych pól tablicy stringów akurat może nie jest optymalne wydajnościowo (takowe prawdopodobnie byłoby oparte na dedykowanym do tego klocku Scan From File) ale całkiem dobre i proste.
Ostatnio zmieniony 30 cze 2008 15:49 przez jogurt_owocowy, łącznie zmieniany 1 raz.
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

Hmm czytam kolejny raz posty i mam wrażenie, że źle to wytłumaczylem i pojawiło się zamieszanie w kwestii rozwiązania problemu. Mam poprostu plik .txt. Powiedzmy, że wyglada on tak:
jeden 2 trzy 4
Teraz mam na przykład na front panelu dwie tablice i dwa stringi. Chcę żeby po włączeniu programu na srtringach indicator pojawiło się kolejno: jeden, trzy. Zaś w jednowymiarowej tablicy było: 1 i 2.
wydaje mi się, że takie coś da się łątwiej zrobić no i nie chce wykonywać tego przez wyszukiwanie (bez ingerencji użytkownika), tylko ma się pojawiać automatycznie
pozdrawiam
Ostatnio zmieniony 30 cze 2008 18:07 przez dundus, łącznie zmieniany 1 raz.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Może takie coś?
Ostatnio zmieniony 30 cze 2008 19:56 przez jogurt_owocowy, łącznie zmieniany 1 raz.
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

Ok spoko działa tylko nawiązują do początku tego wątka i mojego problemu czy majać teraz np:
jeden 2 xxx 3
można wyłonić tylko jedną konkretną wartość np xxx i tylko tą pokazać na front panelu?
pozdrawiam
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

Jak podłączysz wartość 2 do wejścia klocka Index Array, to na jego wyjściu dostaniesz xxx.
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

odczyt konkretnych wierszy z pliku

Post autor: dundus »

No własnie się zorientowałem tylko co zrobić jeśli np wartośc jest wpisana po kilku spacjach i w którymś z kolei wierszu..? np:
jeden 2 . . . "kilka spacji"xxxx 3
pozdrawiam
Ostatnio zmieniony 30 cze 2008 21:54 przez dundus, łącznie zmieniany 1 raz.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: odczyt konkretnych wierszy z pliku

Post autor: jogurt_owocowy »

W pętli for możesz wyciąć puste wiersze, a w niepustych obciąć spacje za pomocą funkcji Trim Whitespace.
dundus
Posty: 57
Rejestracja: 17 kwie 2008 14:41
Lokalizacja: Kraków
Kontakt:

Re: odczyt konkretnych wierszy z pliku

Post autor: dundus »

Zrobiłem coś takiego i nie działa mi niestety tak jakbym chciał bo kasuje tylko spacje pierwsze. Spacje między wartościami pozostawia.
plik 1.txt wygląda tak: ____1___11 ____2___12 ____3___13
(kreski to spacje) pozdrawiam
Ostatnio zmieniony 01 lip 2008 05:48 przez dundus, łącznie zmieniany 1 raz.
ODPOWIEDZ