Povratak

 

;-------RADNJA: vadi_gml --------------------------------------------------------------

;- Ovo delo j storeno uz Božju pomoć, ter neka muj slava i hvala!

;- ova radnja na osnovu naziva ime_gml traži podatkovnicu ime_gml.gml i iz nje vadi podatke između "<jis:" i "</jis:"

;ter ih sprema u niz podataka. Ako se iza "<jis:" pojavljuje "xsi:nil=" tada u niz podataka sprema prazno "".

;Sve to provjerava u istom redu podatkovnice, ter to ne uzpoređuje u odnosu na više redova odjednom.

(defun vadi-gml (ime_gml / br1 red f vriednost vriednosts vriednostss pol_jis pol_jisk pol_vece) ;stvaram radnju pod imenom vadi_gml

  (setq vriednosts (list))

  (setq vriednostss (list))

  (setq f (open (strcat "c:/iskol/gml/" ime_gml ".gml") "r")) ;otvaraš podatkovnicu gml s određenim nazivom

  (setq red (read-line f)) ;uzima prvi red iz podatkovnice f koja je zapravo odabrani gml

  (setq br1 0)

  (while (/= red nil) ;vrtim sve redove u gml-u

    (if (/= (vl-string-search "</gml:featureMember>" red 0) nil) (progn

      (setq vriednostss (append vriednostss (list vriednosts))) ;sastavljam polje od više nizova podataka

      (setq vriednosts (list)) ;stavljam da je ovaj niz opet prazan kako bi pokupio novi niz podataka od nekog predmeta

    )) ;kraj if-progn

    (setq pol_jis (vl-string-search "<jis:" red 0)) ;tražim položaj podznakoniza <jis: u znakonizu red

    (setq pol_jisk (vl-string-search "</jis:" red 0))

    (setq pol_x (vl-string-search "xsi:nil=" red 0))

    (if (and (/= pol_jis nil) (/= pol_jisk nil)) (progn

      (setq pol_vece (vl-string-search ">" red pol_jis))

      (setq vriednost (substr red (+ pol_vece 2) (- pol_jisk (+ pol_vece 1)))) ;dobijem vriednost koju trebam iz reda

      (setq vriednosts (append vriednosts (list vriednost)))

    ));kraj if-progn

    (if (and (/= pol_jis nil) (/= pol_x nil)) (progn

      (setq vriednost "")

      (setq vriednosts (append vriednosts (list vriednost)))

    ));kraj if-progn

    (setq red (read-line f)) ;uzimam novi red iz podatkovnice odabranog gml-a

  ) ;kraj while

  (close f) ;zatvaram podatkovnicu koju sam otvorio

  (setq vriednostss1 vriednostss)

) ;kraj radnje vadi_gml

;-------KRAJ----RADNJA: vadi_gml --------------------------------------------------------------

 

Free Web Hosting