|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
20.06.2008, 12:37 | #1 | |
вставка строки в существующий текстовый файл
Регистрация: 10.04.2008
Сообщений: 43
|
||
Просмотров: 3506
|
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
Если Лиспом, то только:
- открыть файл на чтение (open ...) - прочитать построчно весь файл в список (read-line ...) - закрыть файл (close ...) - вставить в нужное место новую строку [можно и в процессе чтения сразу в нужное место списка поместить новую строку, можно и потом - вариантов много, в зависимости от логики программы] - открыть файл на запись (open ...) - перезаписать исходный файл (write-line ...). - закрыть файл (close ...) PS: Можно и сразу читать и писать файлы, но тогда исправленный файл будет с новым именем и его надо будет переименовывать по окончании записи. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
для варианта содержимого файла:
Код:
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.04.2008
Сообщений: 43
|
СУПЕР
спасибо большое Alaspher все работает, только одной скобки не хватало. класс. у меня к тебе просьба. т к я юзер и не очень понимаю некоторые моменты, то прошу тебя - Alaspher - как будет время прокоментируй некоторые позиции: 1) (and (= (type before) (type next) (type add) 'str) ??? 'str ??? 2) с остальным разберусь после ответов КАК сделать так чтобы не нужно было указывать пользователю существующий файл через диалоговое окно, а просто указать в программе ПУТЬ к нему и его имя ??? |
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
Ну, вообще, бОльшая часть спасибо - Алексею. Это его код я подредактировал.
Вроде все на месте. Проверка типов данных - что все переданые аргументы являются строками. В случае, если переданы не строки и если бы не было этой проверки, работа программы могла бы привести к непредсказуемым последствиям. Цитата:
Код:
Последний раз редактировалось Alaspher, 20.06.2008 в 15:23. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Alaspher, я просто старался предусмотреть вариант нахождения не только пары элементов перед вставкой и после нее, так и каждого по отдельности
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 11.10.2004
e•burg
Сообщений: 755
|
Хм... А где ты это потом использовал? У тебя вставка происходит только в первом случае обнаружения совпадения условий, а у меня в каждом. Кстати, Victorovich обрати на это внимание - если надо иначе, то код требует небольшой корректировки.
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ээээ... Я, конечно, особо не гонял код - не до того. Но если создается модифицированный lst, то можно и записывать (последний if). Если нет - значит нет. Охотно допускаю, что я запутался
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
AutoCAD 2008 - вставка блоков из файла в файл | Vavan Metallist | AutoCAD | 14 | 25.05.2009 19:37 |
Вставка блока из командной строки, но с переопределением. | Mikhail | AutoCAD | 2 | 25.03.2005 16:34 |
Можно ли загрузить Template в существующий файл? | Mikhail | AutoCAD | 10 | 16.11.2004 21:30 |