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

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

считывание из файла

Ответ
Поиск в этой теме
Непрочитано 24.07.2007, 16:03 #1
считывание из файла
Holon
 
CNC
 
Israel
Регистрация: 07.07.2007
Сообщений: 302

считывание из файла, я знаю как считывать последнюю строку из фаила,
Код:
, а каким образом можно считывать список состоясщий из нескольких строк сразу,заранее благодарен.
Просмотров: 2791
 
Непрочитано 24.07.2007, 16:12
#2
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Можно так:
Код:
[Выделить все]
;;; Функция считывания и предварительной очистки текстовых файлов в список строк.
;;;
;;; Формат вызова: (PL:LoadDat FILE)
;;;
;;; FILE - дескриптор файла открытого на чтение
;;;
(defun PL:LoadDat (_FILE / _STR)
    (if	(setq _STR (read-line _FILE))
	(if (= _STR "")
	    (PL:LoadDat _FILE)
	    (cons (vl-string-trim " " _STR) (PL:LoadDat _FILE))
	) ;_ end of if
    ) ;_ end of if
) ;_ end of defun
Здесь, кроме чтения производится и быстрая очистка от пустых строк. Суть в повторном вызове read-line
Alaspher вне форума  
 
Непрочитано 24.07.2007, 17:43
1 | #3
Pilot

Проектировщик свиноводство
 
Регистрация: 21.08.2003
Сообщений: 2,291


Функция возвращает список из строк текстового файла.

Код:
[Выделить все]
(defun FtoL (f1 / t1 l1)
(if (findfile f1)
   (progn 
       (setq f1 (open f1 "r"))
       (while (setq t1 (read-line f1))(setq l1 (cons t1 l1)))
       (close f1)
   )
)
(reverse l1));end FtoL
Параметр f1 - имя текстового файла с расширением.
Pilot вне форума  
 
Непрочитано 26.02.2015, 15:22
#4
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Pilot Спасибо. На файлах 200 кВ (светотехнические файлы по светильникам от производителей) программа справилась на ура, правда с существенным подтормаживанием, чего не скажешь о Листинг 10.3. Функция PL:ReadFile или
Код:
[Выделить все]
 
(defun _ReadTextFile (strFile / strFullName objScr objFile Result)
 (if (setq strFullName(findfile strFile))
   (setq
	objScr (vla-getinterfaceobject (vlax-get-acad-object) "Scripting.FilesystemObject")
	objFile(vlax-invoke-method objScr 'OpenTextFile strFullName 1 nil -2)
	Result (vlax-invoke objFile 'ReadAll)
	*dummy*(vlax-invoke objFile 'Close)
	*dummy*(mapcar 'vlax-release-object (list objFile objScr)))
  )

  Result
)
(_ReadTextFile "D:\\1.txt")

Вложения
Тип файла: zip AOT OPL ECO LED 600 4000K.ZIP (72.2 Кб, 10 просмотров)
sdv79 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > считывание из файла