|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Возможно ли такое в DCL и лиспе
газо- нефтепереработка
Уфа
Регистрация: 22.07.2015
Сообщений: 98
|
||
Просмотров: 11121
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
А кто мешает dcl создавать "на лету"?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Что значит на лету?
Увидел сколько строк нужно и тут же создал? Мне так не пойдет, я не смогу объяснить другим людям что такое DCL ----- добавлено через ~2 мин. ----- 2 формы, то что у меня высвечивается в диалоговых окнах. Во втором окне, для ввода данных одна строчка. А должно быть столько, сколько пользователь введет в первом диалоговом окне. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
protorgovec, я же тебе показывал, кажется, уже код, где dcl создается самим лиспом. В чем трудность-то?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
я с мобилы. прикрипи к теме файл с исходниками на лиспе и с описаним, что должно быть в диалоговых окнах.
за выходные сделаю и скину небе на почту. адрес своей почты скинь мне вличку. ----- добавлено через ~2 мин. ----- в том, что он делает первые шаги в разработке программ. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Код:
Остальные недостойны получить сие сакральное знание?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
Кулик Алексей, я с мобилы. Тут мне не выложить. А пальцем набивать уйдет много времени.
----- добавлено через ~3 мин. ----- в выходные у меня есть время, а в понедельник может не быть. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
еще можно просто сделать одну форму для ввода данных блока и вызывать ее в цикле требуемое число раз.. только заголовок предусмотреть типа "ввод 3 значения из 10". Насколько понимаю, вопрос об юзабилити уже не стоит.
|
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
Кулику Алексею. Ни чего секретного. Воспользуемся этим решением :
http://forum.dwg.ru/showthread.php?t=6459 опубликованном в 2006 году. |
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
[quote=Кулик Алексей aka kpblc;1751655]
Код:
Алексей, добрый день. А можно получить построчный комментарий к твоей программе? Некоторые строки для меня не понятны! ![]() ----- добавлено через 51 сек. ----- Добрый день. Актуально ли еще скидывать в личку? Или сегодня комп под рукой и тут все что нужно есть? |
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
да.
подготовил простейший пример. ----- добавлено через ~52 мин. ----- (defun c:menu_1( /open_fail_name open_fail_d str_0 str_1 str_2 str_3 str_4 ) (startapp "d:/lispmenu1/menu_1.exe" "error open file" ) ;Останавливаем выполнее программы, пока пользователь не закончит работу с внешним диалрговым окном (write-line "Нажми для продолжения Enter") (setq str_0 (read-line)) ; Открытие файла (setq open_file_name "d:/lispmenu1/listmenu1.txt") (setq open_file_d (open open_file_name "r")) ;Чтение файла (setq str_1 (read-line open_file_d)) (princ "Нажата кнопка номер:") (princ str_1) (princ "\n") (setq str_2 (read-line open_file_d)) (princ "Текст:") (princ str_2) (princ "\n") ;Закрытие файла (close open_file_d) ) ----- добавлено через ~59 мин. ----- на яп Лазарус создаем новый проект сохраняем как Menu_1 На форме размещаем компаненты: Edit1 - текстовое поле; comboBox1 - комбинированный список; Memo1 - многострочное поле ввода текста; Button1, Button2 - Кнопки. ----- добавлено через ~1 ч. ----- Для кнопок на вкладке события в инспекторе объектов выбираем события OnClick Для формы событие OnCreate ----- добавлено через ~2 ч. ----- Var NameFile: ansistring; // Глобалная переменная хранит имя файла //При создании формы устанавливаем нач знач глоб переменных и меняем свойства компанентов Procedure TForm1.FormCreate (sender: tobject); begin // программно меняем свойства компанентов form1.caption:='пример меню'; Memo1.viseble:=false; button1.caption:='Передать данные'; button1.caption:='Отмена"; Edit1.text:='проба'; ComboBox1.items.add('Text1'); comboBox1.items.add('Текст2'); comboBox1.items.add('вгд3'); //нач знач NameFile:='d:\lispmenu1\listmenu1.txt'; // папка d:\lispmenu1 должна быть создана за ранее end; // процедура обработки нажатия кнопки отмена procedure TForm1.Button2Click(sender: tobject); begin memo1.clear; memo1.lines.add('0'); Try memo1.lines.saveToFile (Utf8ToAnsi(nameFile)); except showMessage ('Ошибка при записи '); end; close; end; // Процедура обработки нажати кнопки передача данных procedure TForm1.Button1Click(sender:TObject); begin memo1.Clear; memo1.Lines.Add('1'); memo1.Lines.Add(Utf8ToAnsi(Edit1.Text)); memo1.Lines.Add(Utf8ToAnsi(ComboBox1.Text)); memo1.Lines.Add(IntToStr(ComboBox1.ItemIndex)); tru memo1.Lines.SaveToFile(utf8ToAnsi(NameFile)); except showMessage ('ошибка'); end; close; end; Последний раз редактировалось CalcProg, 03.09.2018 в 12:09. Причина: очепятка |
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Вы либо в ЛС и продолжайте общаться, либо создавайте новую тему в разделе "Программирование" и там обсуждайте.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
Цитата:
----- добавлено через ~1 мин. ----- Цитата:
без разницы, но лучше качать с официального сайта, а там только последние версии. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
дичь, всё тоже самое далеается на dotNET и сильно проще
ставь Visual Studio Community |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
CalcProg, еще раз: либо ведется обсуждение lisp и dcl с этой теме, но гласно. Либо организовываете междусобойчик и там говорите о чем хотите. Либо начинаете обсуждать Lazarus - но он к lisp/dcl не имеет прямого отношения, поэтому добро пожаловать в новую ветку.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
Цитата:
то что проще в ней спору нет. а лазарус проще для понимания. пока он в твоей вижуальной студии разберется, оно и уже не требо буде. ----- добавлено через ~4 мин. ----- Цитата:
пущай инициатор создает. ну или модератор создаст и перенесет все лишнее туда. я с мобилы, мой браузер такого не поддерживает. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop: имхо, пускай ТС еще набьёт "шишек" на реализации динамических интерфейсов на базе связки lisp+DCL. Это лет 20 назад компьютер для большинства пользователей был "таинством" и можно было любой интерфейс лепить в программу - все равно работали с большими глазами и повышенным вниманием. А сейчас люди избалованы, у многих в кармане смартфоны с интуитивным интерфейсом и с возможностями компьютеров тех лет. И когда они увидят этот "суперпродукт" от ТС с интерфейсом 15..20 летней давности, а потом еще и попользуются - у них возникнут определенные вопросы. А там уже как начальство себя поведет - по уму или традиционно положив на проблему..)
|
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Тут проблемка, наши админы не дают мне установить эту прогу. Так что придется дома поставить, поизучать
![]() ----- добавлено через ~1 ч. ----- Алексей. Посмотрел, вроде бы разобрался. Один вопрос. Когда во втором окне мы даем значение в каждом поле, для них не заданы переменные, которые нужны для дальнейших построений и вычислений. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Поставьте лучше бесплатную студию - дельфи вы не знаете, насколько понимаю. И нет смысла на его изучение время тратить, имхо - лучше сразу на тот же .Net переходить. trir уже ссылку давал ранее - как на .Net через [LispFunction] создавать диалоги и потом вызывайте из своей основной программы как обыкновенную lisp функцию. Главное - сделайте модальные диалоги в .Net, чтобы выполнение основной программы остановилось на время вызова.
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
Цитата:
|
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Обратитесь к БольшомуБоссу. Доложите, что для роста производства и прибыли лично БольшогоБосса крайне необходимо конструирование диалогов в "этой проге".
Пущай БольшойБосс вменит в обязанности админам разрабатывать по вашим заданиям и в кратчайшие сроки всё необходимое, а не ставить палки в колеса. Онижепрограммисты. Зря что-ли их кормят? Завтра же "эта прога" и любая другая появится у вас. И я тоже советую - не тратьте время на DCL. Быстрее освоить любую современную систему разработки. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop:
Цитата:
|
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
На основании твоего примера сделал следующее: Код:
Но появилось 2 вопроса, надеюсь поможешь! Первый. Вводя количество штуцеров 20 и более, он выдает что размер диалогового окна не влазиет. Как можно это сделать? Очень часто количество наименований штуцеров бывает больше 20, и за 30 иногда бывает. Второй вопрос. Я ввожу все данные, но он их совсем не запоминает. Я не могу понять как заставить запоминать все данные, введенные в ячейках. Надеюсь подскажешь! Заранее благодарю. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Вариантов несколько.
1. Организовывать перечень полей не только в колонки, но и в строки 2. Сделать несколько диалогов с кнопками "вперед-назад" 3. Уйти с dcl в сторону C# / VB.NET ... А для запоминания посмотри в сторону т.н. callback-функций (насколько я помню, в справке по load_dialog они описывались).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
----- добавлено через ~2 мин. ----- Цитата:
----- добавлено через ~3 мин. ----- Боюсь я переходить. Ощущение, что если перейду, вообще запутаюсь, все брошу ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Я тоже боюсь - а приходится время от времени что-то на других языках рисовать. Просто потому, что на лиспе можно сделать не все...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
В лиспе нет ни классов, ни пространств, ни нормальной современной среды разработки - вся организационная составляющая сводится к разнесению по файлам и попыткам следования определенной системы наименований. Куча времени и усилий тратится на решение проблем по сути застывшего в своем развитии языка вместо самой задачи. А примеров по тому же .Net в инете - как грязи, с картинками, роликами и т.п.) Причем можете часть интерфейса писать и отлаживать вообще вне акада прямо в студии (если грамотно разделите функционал кода), а потом состыковать. |
|||
![]() |
|
||||
Регистрация: 21.07.2008
Луцьк
Сообщений: 179
|
|
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
В очередной раз привожу примеры - универсальное иллюстрированное XML-меню. В него можно занести любые данные, причем с описаниями и иллюстрациями. Само меню находится в текстовом файле, который изменяют и дополняют даже "смышленые тетки". Прикладной программист в ЛИСП просто вызывает функцию наподобие Код:
А строка меню имеет вид наподобие Код:
Цитата:
И такой единственный диалог может быть использован в 90% программ. Да еще несколько могут пригодиться - выбор из списка, ввод числе и т.п. Сделать их проще, чем мучиться с одним DCL, в котором то строки не входят, то всё растягивается. У меня сделано в Delphi, но точно так же может быть сделано в любой нормальной среде программирования. А вот само рисование удобней делать в ЛИСП. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
CalcProg, и Lazarus, и VS, и C++, и ассемблер - да хоть кого! - упоминай сколько угодно. Но вы же начали что-то обсуждать. Причем обсуждать очень странно, часть на форуме, часть явно через ЛС. Я и говорю - либо обсуждение явно нового проекта, не относящегося к lsp/dcl, вести в ЛС, либо в новой теме.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
|
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
конечно, есть вещи которые можно сделать только на lisp'е - работа с динамическими блоками например, но даже на lisp'е это очень не просто
а так по функционадьности NET API уступает только ObjectARX Последний раз редактировалось trir, 06.09.2018 в 08:33. |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Цитата:
Если Вам не нужны собственные объекты, то смысла лезть в C++ (ObjectARX) лично я не вижу, да и если нужны... то же варианты есть. Для инженера возможностей C# более чем достаточно. |
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Все что угодно и на С++ сделать не получиться, т.к. набор инструментов ограничен производителем ПО, но да, для С++ набор инструментов самый большой.
Однако и порог вхождения в этот язык несколько выше чем на .NET, оправдано ли это... если хотите стать проф. программистом, то да, если вам нужно решать инженерные задачи, то смысла тратить на это время нет. Впрочем, решать Вам. Я не использую другие языки, для акада пишу на С#, пока проблем не было, в "потолок" не уперся. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Offtop:
Цитата:
не язык программирования определяет "потолок" возможностей человека - просто lisp наименее подходящий для задач с развитыми интерактивными диалогами. Зачем вообще его выбрали, какой "профи" вам это посоветовал... хм? |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
|
|||
![]() |
|
||||
газо- нефтепереработка Регистрация: 22.07.2015
Уфа
Сообщений: 98
|
Да ни кто не советовал. Просто узнал что при автокаде есть lisp, и начал его изучать
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Вполне, если можно так сказать, это библиотечные функции (расширения) языка и почти всё перечисленное не является самостоятельными языками программирования (SQL - это то самое почти) для работы с базами можно и ADO.NET использовать и не сильно то в SQL залезать.
Offtop: Language Integrated Query (LINQ) — проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Ранее был реализован в языках C# и Visual Basic .NET. RegEx - System.Text.RegularExpressions.Regex Пространство имен: System.Text.RegularExpressions т.е NET библиотека и т.д. Таким темпом WPF, WinForms, JSON и прочие технологии можно за отдельный язык продать... Что то сильно в оффтоп ушли, админ огорчиться. Последний раз редактировалось Boxa, 06.09.2018 в 09:44. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
Цитата:
structured query language — «язык структурированных запросов» XML - eXtensible Markup Language Language Integrated Query (LINQ) JSON - JavaScript Object Notation, фактически JavaScript WPF - XAML eXtensible Application Markup Language фактически когда мы пишим на C# - мы используем и другие специалезированные языки |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611
|
Offtop: trir, ну да, а VBA, C#, F# - вообще не языки, в названии то слова Language нет =о)
Перед началом дискуссии мы не договорились о понятиях, а потому под ЯП каждый понимает что то свое, при таком подходе развивать данный диалог, тем более не относящейся к теме топика, не вижу смысла. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
|
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
И многие вещи на LISP делаются гораздо проще базовыми средствами самого языка, без подключения каких-то библиотек. Вот эта строчка Код:
Конкретно в Автокад на Лисп удобнее делать многие вещи. Типичный пример - вставить много раз блок, но так, чтобы он висел на курсоре, его было видно. А не сначала указать точку, а потом в нее вставится блок. Просто надо знать и умело применять разные средства. Конечно, для диалогов ЛИСП подходит менее всего. |
|||
![]() |
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
protorgovec, я бы не советовал бросать лисп.
я лично разбиваю программу на две части. ввод данных и вычисление в лазарусе. черчение в автолиспе. а то что вижуальщики тебе напели, что в Си# всебудет легко и просто не верь. начни с яп по проще VB.net. Последний раз редактировалось CalcProg, 06.09.2018 в 10:31. Причина: замечание от гуру |
|||
![]() |
|
|||||
Регистрация: 18.12.2010
Сообщений: 5,108
|
Цитата:
например для работы с WPF полезно (хотя и не обязательно) знать XAML и XML Цитата:
![]() начинать с VB.net может быть проше, только если есть опыт с VBA Цитата:
![]() Цитата:
Последний раз редактировалось trir, 06.09.2018 в 10:31. |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реконструкция подвала при свайных фундаментах, возможно такое решение? | Наиль | Основания и фундаменты | 2 | 20.09.2013 10:43 |
Уменьшение теплоносителя после прогрева, возможно ли? | vikkiners | Отопление | 2 | 24.07.2013 12:57 |
А возможно ли такое!??! Вопрос нефтяникам и буровикам | Botan | Разное | 5 | 21.09.2009 20:12 |
XML и LISp - Такое возможно? | Diman111 | LISP | 3 | 03.03.2008 19:06 |
Возможно сделать такое перекрытие? | Alexcons_2 | Конструкции зданий и сооружений | 3 | 08.01.2008 14:45 |