| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP Чтение из txt файла и конвертация в list

LISP Чтение из txt файла и конвертация в list

Ответ
Поиск в этой теме
Непрочитано 09.06.2016, 16:58 #1
LISP Чтение из txt файла и конвертация в list
sanok7
 
Регистрация: 19.02.2015
Сообщений: 5

Пишу программу на Лиспе. Очень очень медленно, но продвигаюсь модуль за модулем .

Хочу презентовать кусочек на суд форумчан - можно тыкать пальцами и говорить как "нуна тут и тама".


Цель: Прочитать данные из файла txt, пропустить строки с "шапкой", преобразовать в список:
(("-BBB-" "7") ("-AAA-" "8") ("-FL-" "1"))


Код:
[Выделить все]
Пример фала txt
This file set the colors

--END_OF_COMMENTS--
-FL-|1
-AAA-|8
-BBB-|7


Код:
[Выделить все]
 ;; read from txt ;;;;;;

(defun read_txt	(/ txtpath txtfile k color_list data_start_pos)
  (setq txtpath (getfiled "Select file with colors" "" "txt" 4))
  (setq	txtfile	   (open txtpath "r")
	color_list '()
  )
  (while (setq k (read-line txtfile))
    (progn
      (if (= T data_start_pos)
	(setq color_list (cons (str->lst k) color_list))
      )
      (if (and (= "--END_OF_COMMENTS--" k) (= nil data_start_pos))
					;search the "--END_OF_COMMENTS--"
	(setq data_start_pos T)
      )
      T
    )
  )
  (close txtfile)

)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defun str->lst	(str / len lst pos del)
  (setq del "|")
  (setq len (1+ (strlen del)))
  (while (setq pos (vl-string-search del str))
    (setq lst (cons (substr str 1 pos) lst)
	  str (substr str (+ pos len))
    )
  )
  (reverse (cons str lst))
)
Просмотров: 2436
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > LISP Чтение из txt файла и конвертация в list

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, что изменить в Lisp коде. sathalex LISP 2 19.03.2015 06:00
Профиль (сечения) по полилиниям (горизонталям), нужен лисп Макса LISP 2 20.01.2015 09:25
Lisp. Как создать при помощи кода, два файла связанных ссылками Yura Agafonov LISP 11 13.11.2012 11:03
LISP. Чтение величины выделенного параллельного размера и запись в его текстовую строку (свойства этого размера). Джаз LISP 8 20.08.2012 23:42
Конвертация файла формата .dgn SergeyVM Разное 13 16.04.2008 14:17