txt->dbf
marcin - 18-03-2006 01:15
txt->dbf
Witam
Mam plik txt z polami oddzielonymi przecinkiem, ka¿dy wiersz to jeden rekord. Teraz pytanie: jak najpro¶ciej napisaæ programik, który dopisze te pola do bazy dbf? pozdr. mk
Carl_os - 18-03-2006 01:15
> Mam plik txt z polami oddzielonymi przecinkiem, ka¿dy wiersz to jeden > rekord. > Teraz pytanie: jak najpro¶ciej napisaæ programik, który dopisze te pola > do bazy dbf?
Najprosciej to zaczytac ten plik do excela lub calc'a z Oo zaznaczajac jako separator przecinek. Tak powsta³y arkusz zapisaæ jako dbf. Dalej jeszcze mozna w dbu zaktualizowac strukture i zaimportowac do docelowej bazy we wlasciwe pola. Jak mialby byc programik to trzeba by wczytywac zbak po znaku i jak napotka przecinek to skacze do nastepnego pola a jak koniec linii to do nast. rekordu.
pozdrawiam Carl_os
Andrzej P. Wozniak - 18-03-2006 01:15
Osoba podpisana jako marcin <marcinkal@odwa.pl> w artykule <news:pan.2006.03.17.20.47.16.136666@odwa.pl> pisze:
> Witam > > Mam plik txt z polami oddzielonymi przecinkiem, ka¿dy wiersz to jeden > rekord. > Teraz pytanie: jak najpro¶ciej napisaæ programik, który dopisze te pola > do bazy dbf?
Po co masz pisaæ program, który wykonuje jedno polecenie jêzyka xBase: APPEND FROM PLIK.TXT DELIMITED Oczywi¶cie przedtem trzeba za³o¿yæ plik DBF, który musi mieæ strukturê zgodn± z plikem CSV. Wiêkszo¶æ narzêdzi obs³uguj±cych pliki DBF (np. DBU) potrafi dokonaæ importu z formatu CSV.
-- Andrzej P. Wo¼niak uszer@pochta.onet.pl (zamieñ miejscami z<->h w adresie)
marek - 18-03-2006 15:11
marcin napisa³(a): > Witam > > Mam plik txt z polami oddzielonymi przecinkiem, ka¿dy wiersz to jeden > rekord. Teraz pytanie: jak najpro¶ciej napisaæ programik, który > dopisze te pola do bazy dbf? pozdr. mk
najpro¶ciej w Harbour lub Clipperze poni¿ej masz przyk³adowe ¼ród³o jak chcesz, pode¶lê skompilowane
pozdr. Marek Rzezwicki
/* t_append.prg 2001-11-07 Marek Rzezwicki email: marekrz at rubikon dot pl
t_append: wczytuje dane ze zbioru tekstowego do pliku *.dbf */
init procedure start(zbdbf, zbtxt, znakrozdz)
if empty(znakrozdz) znakrozdz:=9 else znakrozdz:=val(znakrozdz) if znakrozdz<0 .or. znakrozdz>255 ?'nieprawid�owy kod znaku' quit endif endif
set date format to 'dd.mm.yyyy'
if empty(zbdbf) .or. empty(zbtxt) ? 'Wywo�anie: append.exe baza.dbf plik.txt kod_znaku_rozdz' ? ' baza.dbf - dowolna baza typu dBase' ?' plik.txt - plik tekstowy w kt˘rym pola s¡ oddzielone znakami ,' ?' a linie koäcz¡ si© CR+LF' ?' kod_znaku- kod ASCII znaku rozdzielaj¡cego pola (domysnie TAB)' ? ?'M.Rzezwicki 2001-11-07 freeware' quit endif
use (zbdbf)
astruct:=dbstruct() afields:={}
zb1:=fopen(zbtxt) txt:='' znak:=''
do while .t. out:=.f.
do while !out znak:=freadstr(zb1,1) do case case asc(znak)==znakrozdz aadd(afields,txt) txt:='' case asc(znak)==13 aadd(afields,txt) txt:='' znak:=freadstr(zb1,1) out:=.t.
case asc(znak)>13 txt:=txt+znak
case asc(znak)==0 if empty(txt) .and. empty(afields) out:=.t. else
aadd(afields,txt) txt:='' out:=.t. endif
end case enddo
if len(afields)>0
append blank if len(afields)>len(astruct) ? 'Wi©cej kolumn w zbiorze tekstowym niļ w bazie DBF !!!' endif
for n:=1 to min( len(afields),len(astruct) ) nazwapola:=astruct[n][1] do case case type(nazwapola)=='N' replace &nazwapola with val(afields[n]) case type(nazwapola)=='C' replace &nazwapola with afields[n] case type(nazwapola)=='D' replace &nazwapola with ctod(afields[n]) end case next n afields:={}
else
exit endif
enddo fclose (zb1)
close all
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
VFP 8 i problem z polskimi znakami przy otwieraniu dbf-a z dosowego Fox-a
Przechodzenie FoxPro DBF -> Java most JDBC-ODBC - jak zrealizowaæ RLOCK ?
Przepisanie danych z dbf (clipper) do mdf (mssql)
Sposoby zapisu z bazy MSSQL do pliku DBF
czy jest jaki¶ program do odbudowy indexów NTX dla DBF
Eksport danych dbf -> postgres - koncepcja
Exportr danych z RAKS dosowego do dbf
Pliki DBF dBase III - Program
Program do konwersji plików z dbf do xls
[postgres]export danych do pliku dbf
zanotowane.pldoc.pisz.plpdf.pisz.plnatalia97.htw.pl
Cytat
Decede mihi sole - nie zas³aniaj mi s³onca. Gdy kogo¶ kochasz, jeste¶ jak stworzyciel ¶wiata - na cokolwiek spojrzysz, nabiera to kszta³tu, wype³nia siê barw±, ¶wiat³em. Powietrze przytula siê do ciebie, choæby by³ mróz, a ty masz w sobie tyle rado¶ci, ¿e musisz j± rozdawaæ woko³o, bo siê w tobie nie mie¶ci Hoc fac - tak czyñ. A tergo - od ty³u; z ty³u. I czarne w³osy posiwiej±. Safona |
|