mojaSymfonia FORUM
https://forum.mix-soft.pl/

Import danych z pliku
https://forum.mix-soft.pl/viewtopic.php?f=15&t=3630
Strona 1 z 1

Autor:  sebastianl84 [ 2012-01-12, 16:04 ]
Tytuł:  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:  rafal [ 2012-01-12, 20:26 ]
Tytuł:  Re: Import danych z pliku

Pokaż co już masz zrobione.
Wklej kawalek pliku.

Autor:  sebastianl84 [ 2012-01-13, 09:33 ]
Tytuł:  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

Autor:  rafal [ 2012-01-13, 11:41 ]
Tytuł:  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

Autor:  sebastianl84 [ 2012-01-13, 12:21 ]
Tytuł:  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

Autor:  rafal [ 2012-01-13, 12:44 ]
Tytuł:  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.

Autor:  sebastianl84 [ 2012-01-13, 14:31 ]
Tytuł:  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.

Autor:  rafal [ 2012-01-13, 15:32 ]
Tytuł:  Re: Import danych z pliku

Dobra droga z tą pętlą.
Za pomocą licznika
Kod:
i += 1

możesz zorientować się w której linii właśnie jesteś

Autor:  sebastianl84 [ 2012-01-13, 16:26 ]
Tytuł:  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 ???

Autor:  rafal [ 2012-01-13, 16:32 ]
Tytuł:  Re: Import danych z pliku

raczej nie można.
można za to użyć tablicy.

Autor:  konikan [ 2012-01-15, 00:56 ]
Tytuł:  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.

Autor:  leonek [ 2012-01-17, 01:00 ]
Tytuł:  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.

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/