sebastianl84
Rejestracja: 2011-11-21, 17:00 Posty: 14
|
Import danych z pliku
Witam
Zaczynam zabawę z pisaniem w ambasicu.
Potrzebuje pomocy przy pobieraniu danych z pliku.
Wiem jak pobrać jeden lub dwa wiersze i przypisać zmienne.
Nie potrafię pobrać wybranego wiersza, np. Potrzebuje pobrać wartość z 4 wiersza od 3 znaku.
Istnieje taka możliwość ?
z góry dzięki za pomoc
Sebastian
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Import danych z pliku
Pokaż co już masz zrobione. Wklej kawalek pliku.
|
2012-01-12, 20:26 |
|
|
sebastianl84
Rejestracja: 2011-11-21, 17:00 Posty: 14
|
Re: Import danych z pliku
Witam Poniżej kawałek kodu: Kod: int wczyt
wczyt=open "c:\\a.txt" for input String z1, z2, z3, z4 Input # wczyt, z1, z2, z3, z4
ioRec ioX ioX.Clear() ioX.SetField("typ_dokumentu", "ZO") ioX.SetField("khkod", z1) ioX.SetField("seria", "sZMO")
ioX.BeginSection("Pozycja dokumentu") ioX.SetField("CENA", z2) ioX.SetField("kod", z3) ioX.SetField("ilosc", z4) ioX.EndSection()
long idDok = ioX.ImportSP()
WystawDokumentHandlowy( IdDok, 1, 1)
close(wczyt) Plik źródłowy będzie zawierał informacje : 1,2,3... linia - .......nieistotne informacje.......... x linia - kod-"dane do pobrania" (potrzebuje pobrać dane po "-" itd. Pozdrawiam Sebastian
|
2012-01-13, 09:33 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Import danych z pliku
Jeżeli znasz ilość znaków przed znakiem "-" i ta ilość jest stała to : Kod: string sLinia = "dane przed kreską - dane po kresce"
print mid(sLinia,20,200) Jeżeli znak "-" może występować w różnych miejscach linii : Kod: string sLinia = "dane przed kreską - dane po kresce"
buf = sLinia
find regular "^{*}/-{*}$"
print regular 2
|
2012-01-13, 11:41 |
|
|
sebastianl84
Rejestracja: 2011-11-21, 17:00 Posty: 14
|
Re: Import danych z pliku
Dzięki za rozwiązanie.
Nadal większy problem mam z tym jak wczytać np. 30 i 40 wiersz z pliku.
Pozdrawiam
Sebastian
|
2012-01-13, 12:21 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Import danych z pliku
czy każdy wiersz to pozycje dokumentu czy oddzielne dokumenty? Dlaczego akurat 30sty i 40sty wiesz? zawsze będą to te wiersze?
Nie załączyłeś przykładowego pliku i chodzimy po omacku.
|
2012-01-13, 12:44 |
|
|
sebastianl84
Rejestracja: 2011-11-21, 17:00 Posty: 14
|
Re: Import danych z pliku
Narazie rozwiązałem problem za pomocą pętli.
Plik źródłowy zawiera różne dane które muszę wyciągnąć.
Np. 1. wiersz zawiera kontrahenta 5. kwotę 10. datę 15. ....
Jeden plik źródłowy zawiera informacje potrzebne do stworzenia jednego dokumentu.
Zawsze te same wiersze.
|
2012-01-13, 14:31 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Import danych z pliku
Dobra droga z tą pętlą. Za pomocą licznika możesz zorientować się w której linii właśnie jesteś
|
2012-01-13, 15:32 |
|
|
sebastianl84
Rejestracja: 2011-11-21, 17:00 Posty: 14
|
Re: Import danych z pliku
Pojawiło mi się jeszcze jedno pytanko.
Dobrze myślę że da się tworzyć zmienne ze zmieniającą się końcówką w pętli np.
jest zmienna a1 po przejściu przez pętle powstaje zmienna a2 ???
|
2012-01-13, 16:26 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Import danych z pliku
raczej nie można. można za to użyć tablicy.
|
2012-01-13, 16:32 |
|
|
konikan
Rejestracja: 2011-12-21, 13:58 Posty: 40
|
Re: Import danych z pliku
Nie znam języka programowania w którym tak można by było zmienne dynamicznie towrzyć. Zgadzam się w 100% z rafałem, że trzeba użyć tablicy albo MapValue.
|
2012-01-15, 00:56 |
|
|
leonek
Rejestracja: 2009-05-14, 20:18 Posty: 53
|
Re: Import danych z pliku
Odbiegając od głównego wątku dodam, że językiem w którym można tworzyć dynamicznie zmienne jest np. php Kod: for($x=1; $x < 10; $x++) { ${"zmienna".$x} = "wiadro"; }
Wywołanie takiego kodu spowoduje wygenerowanie zmiennych $zmienna1, $zmienna2 ... itd. Uważam jednak także, że tablice są bardziej "katolickim" rozwiązaniem.
|
2012-01-17, 01:00 |
|
|