Strona 1 z 2
odczyt konkretnych wierszy z pliku
: 28 cze 2008 13:06
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
Re: odczyt konkretnych wierszy z pliku
: 29 cze 2008 14:08
autor: coozi
Witam,
Przeanalizuj załączony przykład.
Myślę, że powinno pomóc.
Pozdrawiam
odczyt konkretnych wierszy z pliku
: 29 cze 2008 15:15
autor: dundus
kurcze nie rozumiem tego przykładu jakoś i nie wiem czy się jasno wyraziłem odnośnie mojego problemu.
pzdr
Re: odczyt konkretnych wierszy z pliku
: 29 cze 2008 16:25
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
odczyt konkretnych wierszy z pliku
: 29 cze 2008 16:42
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
Re: odczyt konkretnych wierszy z pliku
: 30 cze 2008 10:09
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
Re2: odczyt konkretnych wierszy z pliku
: 30 cze 2008 12:00
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
Re: Re2: odczyt konkretnych wierszy z pliku
: 30 cze 2008 15:16
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.
odczyt konkretnych wierszy z pliku
: 30 cze 2008 18:07
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
Re: odczyt konkretnych wierszy z pliku
: 30 cze 2008 19:54
autor: jogurt_owocowy
Może takie coś?
odczyt konkretnych wierszy z pliku
: 30 cze 2008 21:20
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
Re: odczyt konkretnych wierszy z pliku
: 30 cze 2008 21:50
autor: jogurt_owocowy
Jak podłączysz wartość 2 do wejścia klocka Index Array, to na jego wyjściu dostaniesz xxx.
odczyt konkretnych wierszy z pliku
: 30 cze 2008 21:54
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
Re: odczyt konkretnych wierszy z pliku
: 30 cze 2008 22:42
autor: jogurt_owocowy
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
: 01 lip 2008 05:46
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