odczyt konkretnych wierszy z pliku
odczyt konkretnych wierszy z pliku
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
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
Re: odczyt konkretnych wierszy z pliku
Witam,
Przeanalizuj załączony przykład.
Myślę, że powinno pomóc.
Pozdrawiam
Przeanalizuj załączony przykład.
Myślę, że powinno pomóc.
Pozdrawiam
odczyt konkretnych wierszy z pliku
kurcze nie rozumiem tego przykładu jakoś i nie wiem czy się jasno wyraziłem odnośnie mojego problemu.
pzdr
pzdr
Re: odczyt konkretnych wierszy z pliku
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
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
odczyt konkretnych wierszy z pliku
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
pozdrawiam
Ostatnio zmieniony 29 cze 2008 16:44 przez dundus, łącznie zmieniany 2 razy.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: odczyt konkretnych wierszy z pliku
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
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
Re2: odczyt konkretnych wierszy z pliku
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
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.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Re2: odczyt konkretnych wierszy z pliku
Najlepiej jak jedna część wczyta od razu cały plik do klastra o polach obroty, gaz, wtrysk itd. Po co mielić dyskiem niepotrzebnie?Czesc programu bedzie odczytywala jedne wartosci (jeden wiersz) (...) inna czesc bedzie odczywyala (inny wiersz)
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.
odczyt konkretnych wierszy z pliku
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
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.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: odczyt konkretnych wierszy z pliku
Może takie coś?
Ostatnio zmieniony 30 cze 2008 19:56 przez jogurt_owocowy, łącznie zmieniany 1 raz.
odczyt konkretnych wierszy z pliku
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
jeden 2 xxx 3
można wyłonić tylko jedną konkretną wartość np xxx i tylko tą pokazać na front panelu?
pozdrawiam
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: odczyt konkretnych wierszy z pliku
Jak podłączysz wartość 2 do wejścia klocka Index Array, to na jego wyjściu dostaniesz xxx.
odczyt konkretnych wierszy z pliku
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
jeden 2 . . . "kilka spacji"xxxx 3
pozdrawiam
Ostatnio zmieniony 30 cze 2008 21:54 przez dundus, łącznie zmieniany 1 raz.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: odczyt konkretnych wierszy z pliku
W pętli for możesz wyciąć puste wiersze, a w niepustych obciąć spacje za pomocą funkcji Trim Whitespace.
Re: odczyt konkretnych wierszy z pliku
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
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.