- Posts: 300
- Thank you received: 4
čitanje podataka iz *.txt
14 years 4 months ago #70
by zrendula
čitanje podataka iz *.txt was created by zrendula
mbozicevic 24-02-2009 15:15
Pozdrav!
- molim znalce da mi pomognu.....nisam neki u lispu a treba mi riješenje..... hvala unaprijed!
Zadatak je slijdeći:
- treba iz *.txt filea pročitat attribute kojim će se popuniti blokovi s attributima, vidio sam primjere kad je fiksan broj znakova za pojedin attribut, to funkcionira, ali....kod mene je slučaj da ne znam koliko će mi biti znakova koji (attribut) varijabla, ali bit će odvojeni spaceom.......tj. u prvom redku mogu imati
2slova_3slova_1slovo
u drugom već može biti
10slova_20slova_2slova
......hmmm, imam neku ideju, al' ne funkcionira za sada (pogledaj lisp).
- ideja je da s read pročitam prvi dio linije (do prvog spacea).....potom taj pročitani podatak spremim u neku varijablu.....sa strlen prebrojim broj znakova od prve varijable.......onda sa substr (broj znakova prve varijable) pročitam ostatak u liniji te ga pohranim umjesto postojeće linije....postupak se ponavlja do kraja linije, pa na slijedeću......hmmm
- normalno da mi se javlja problem, .... read pročita prvi dio linije ali varijabla u koju ga zapiše više nije STR nego prelazi u SYM kojem ne mogu prebrojati znakove..................i sve pada u vodu.....
- nemam pojma, kako ga nagovorit da pretvori SYM u STR ili tako što...... nadam se da je banalni problem....
poz...
Pozdrav!
- molim znalce da mi pomognu.....nisam neki u lispu a treba mi riješenje..... hvala unaprijed!
Zadatak je slijdeći:
- treba iz *.txt filea pročitat attribute kojim će se popuniti blokovi s attributima, vidio sam primjere kad je fiksan broj znakova za pojedin attribut, to funkcionira, ali....kod mene je slučaj da ne znam koliko će mi biti znakova koji (attribut) varijabla, ali bit će odvojeni spaceom.......tj. u prvom redku mogu imati
2slova_3slova_1slovo
u drugom već može biti
10slova_20slova_2slova
......hmmm, imam neku ideju, al' ne funkcionira za sada (pogledaj lisp).
- ideja je da s read pročitam prvi dio linije (do prvog spacea).....potom taj pročitani podatak spremim u neku varijablu.....sa strlen prebrojim broj znakova od prve varijable.......onda sa substr (broj znakova prve varijable) pročitam ostatak u liniji te ga pohranim umjesto postojeće linije....postupak se ponavlja do kraja linije, pa na slijedeću......hmmm
- normalno da mi se javlja problem, .... read pročita prvi dio linije ali varijabla u koju ga zapiše više nije STR nego prelazi u SYM kojem ne mogu prebrojati znakove..................i sve pada u vodu.....
- nemam pojma, kako ga nagovorit da pretvori SYM u STR ili tako što...... nadam se da je banalni problem....
poz...
Please Prijava or Create an account to join the conversation.
14 years 4 months ago #71
by zrendula
Replied by zrendula on topic Re:čitanje podataka iz *.txt
JackOfHearts 24-02-2009 20:16
Za razdvajanje stringa u listu, probaj sa ovom funkcijom koja je u priloženom lispu. Moram naglasiti da ovo nije moja funkcija i ne znam od kuda, ali odlično radi.
primjer:
ST_str2lst "1,2,33,4" ","
rezultat:
"1" "2" "33" "4"
ako ne uspiješ, javi pa budemo nekaj drugo probali
mbozicevic 24-02-2009 20:33
hvala hvala! probat cu ovih dana pa javim...
Za razdvajanje stringa u listu, probaj sa ovom funkcijom koja je u priloženom lispu. Moram naglasiti da ovo nije moja funkcija i ne znam od kuda, ali odlično radi.
primjer:
ST_str2lst "1,2,33,4" ","
rezultat:
"1" "2" "33" "4"
ako ne uspiješ, javi pa budemo nekaj drugo probali
Code:
(defun ST_str2lst (strng delim / stlist st pos)
(setq
strng (strcat strng delim)
pos T
stlist '()
)
(while pos
(setq pos (ST_fsrch strng delim))
(if pos
(setq
st(substr strng 1 (1- pos))
stlist (append stlist (list st))
strng (substr strng (1+ pos))
))
)
stlist
)
(defun ST_fsrch(str delim / len pos more cnt ch)
(setq
len (strlen str)
pos nil
more T
)
(if (> len 0)
(progn
(setq cnt 1)
(while (and more (<= cnt len))
(setq
ch (substr str 1 1)
str (substr str 2)
)
(if (= ch delim)
(setq
pos cnt
more nil
))
(setq cnt (1+ cnt))
)
))
pos
)
mbozicevic 24-02-2009 20:33
hvala hvala! probat cu ovih dana pa javim...
Please Prijava or Create an account to join the conversation.
Time to create page: 0.101 seconds