3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
1 | |
AutoLISP работа с файлом08.11.2015, 21:43. Показов 11303. Ответов 21
Метки нет (Все метки)
Здравствуйте! Необходимо реализовать вывод и ввод в файлы. Программа чертит заданную по условию фигуру и проверяет попадает ли точка в заштрихованную область. Пользователь может выбрать вводить ли ему точку самому (с клавиатуры), либо ввести точку из файла (где я и застряла). Точка введённая пользователем с клавиатуры должна быть записана в файл (тут тоже не лучше). В общем не получается у меня с файлами работать(
0
|
08.11.2015, 21:43 | |
Ответы с готовыми решениями:
21
Работа с файлом Программа в AUTOLISP Программа в AutoLISP Запуск AutoLISP |
1006 / 952 / 151
Регистрация: 10.08.2015
Сообщений: 5,085
|
|
08.11.2015, 21:53 | 2 |
В чем проблема-то?
0
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
08.11.2015, 21:58 [ТС] | 3 |
Не видит файл. (чтение)
0
|
1006 / 952 / 151
Регистрация: 10.08.2015
Сообщений: 5,085
|
|
08.11.2015, 22:04 | 4 |
Так покажи, автокад курсы экстрасенсов не проходил, он работает только в каталогах, описанных в путях поддержки, либо при указании абсолютного пути
0
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
08.11.2015, 22:13 [ТС] | 5 |
Посмотрите для начала мой код. Вы тоже сейчас занимаетесь экстрасенсорикой. Там два варианта вывода из файла. Я бы хотела получить какою-нибудь помощь или пояснение по данному вопросу.
0
|
1006 / 952 / 151
Регистрация: 10.08.2015
Сообщений: 5,085
|
||||||
08.11.2015, 23:17 | 6 | |||||
я не вижу ничего криминального в увиденном в части чтения из файла, по идее должно работать. Ну разве что можно попробовать такой вариант, что он выдаст:
1
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
09.11.2015, 00:32 [ТС] | 7 |
ошибка: неверный тип аргумента
0
|
1006 / 952 / 151
Регистрация: 10.08.2015
Сообщений: 5,085
|
|
09.11.2015, 01:08 | 8 |
Это не вся строка, сложно было скопировать полностью? Как вызываете функцию FileToList?
0
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
09.11.2015, 01:27 [ТС] | 9 |
Я вызываю весь написанный мною код с самого начала. Вызов делаю через командную строку AutoCAD.
; ошибка: неверный тип аргумента: numberp: nil и если вызвать вашу функцию отдельно таким же образом: ; ошибка: слишком мало аргументов
0
|
1006 / 952 / 151
Регистрация: 10.08.2015
Сообщений: 5,085
|
|
09.11.2015, 01:56 | 10 |
эта ошибка означает что в оператор подставляется неинициализированная переменная
тут вообще все понятно... забыли подставить один или несколько аргументов... нужно быть внимательнее и пользоваться инструментами форматирования кода
0
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
09.11.2015, 02:14 [ТС] | 11 |
осталось только понять в каком именно месте. т.к ваша функция верна. в предыдущих вариантах чтения из файла такой ошибки не наблюдалось.
0
|
1006 / 952 / 151
Регистрация: 10.08.2015
Сообщений: 5,085
|
|
09.11.2015, 02:20 | 12 |
Если файл пустой, то функция вернет nil, иначе список строк, который все равно еще нужно преобразовывать в список чисел и уже из него брать число для подстановки... используйте средства отладки vlide для отлова ошибок
0
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
09.11.2015, 02:40 [ТС] | 13 |
А вот такой вопрос, пожалуй его следовало задать сразу: мне не сильно понятен сам код . Если в первом случае фигурирует полный путь к файлу и его наименование, что является для меня привычным, то здесь я ничего такого не вижу.
0
|
1006 / 952 / 151
Регистрация: 10.08.2015
Сообщений: 5,085
|
|
09.11.2015, 08:36 | 14 |
настройка путей поддержки избавляет от необходимости использовать абсолютные пути
0
|
1053 / 947 / 107
Регистрация: 04.11.2012
Сообщений: 984
|
|||||||||||||||||||||
09.11.2015, 23:11 | 15 | ||||||||||||||||||||
Virviglaz Ну как, получается? Слишком много букв лишних в этой теме.
Важно понимать, что для записи в файл используется два разных механизма, не зависящих друг от друга. Один механизм, это работа с файлом. А второй, работа с потоком данных. Ведь можно открыть файл и тут же закрыть его, ничего с ним не делая, не так ли? Запись в файл сделаем пошагово.
2
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
|
10.11.2015, 04:13 [ТС] | 16 |
Пока нет. Большое спасибо за ссылку. Итак,из файла мы считываем строку, которая содержит координаты точки. В дальнейшем, чтобы их использовать мы должны как-то преобразовать строку в список. Из идей только эта: разбить саму строку на подстроки, которые и объединить в список. (Надо/не надо; Верно/ не верно???)
P.S. Ранее хотелось сделать так, чтобы считывалось по одной точке из файла за каждый вызов функции. Ну а то что программа вообще увидела файл будем считать успехом.
0
|
1053 / 947 / 107
Регистрация: 04.11.2012
Сообщений: 984
|
||||||
10.11.2015, 10:34 | 17 | |||||
Функция read читает из строки до первого пробела.
2
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
||||||||||||||||
16.11.2015, 06:00 [ТС] | 18 | |||||||||||||||
Lambdik, вы не совсем поняли мой последний вопрос, но для начала я покажу что у меня вообще получилось
0
|
1053 / 947 / 107
Регистрация: 04.11.2012
Сообщений: 984
|
|||||||||||
16.11.2015, 22:50 | 19 | ||||||||||
Virviglaz Очень рад что стараетесь учить, это я одобряю. Могу помочь с типами данных.
Преобразуем строку в список:
А на счёт попадания в область, так это уже геометрия. Добавлено через 8 часов 36 минут И ещё, функция command принимает аргументы как списочного, так и строкового типа. Чтобы не делать лишних преобразований.
1
|
3 / 3 / 1
Регистрация: 21.10.2015
Сообщений: 92
|
||||||
18.11.2015, 00:52 [ТС] | 20 | |||||
Я сдаюсь
и ещё много много много разных вариантов и команд.
0
|
18.11.2015, 00:52 | |
18.11.2015, 00:52 | |
Помогаю со студенческими работами здесь
20
AutoLisp - Не вводятся координаты Рисование кругов AutoLisp Способ изучения autolisp Программа-калькулятор AUTOLISP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |