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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Опрос. Каким стилем программирования вы предпочитаете пользоваться и почему?

Опрос. Каким стилем программирования вы предпочитаете пользоваться и почему?

Ответ
Поиск в этой теме
Непрочитано 29.06.2010, 09:42 #1
Опрос. Каким стилем программирования вы предпочитаете пользоваться и почему?
alex8888
 
Инженер
 
Deutschland
Регистрация: 27.04.2009
Сообщений: 208

Всем привет!
Собственно, хотелось бы узнать, кто какой метод, стиль, вид язык (и чего там еще) программирования предпочитает для решения своих задач или в работе и почему.
Может быть ваше мнение позволит новичку сделать правильный выбор, а бывалому подскажет иной способ составления программ.
Так, например, является ли объектно-ориентированное программирование с помощью VLisp (vla-функций) предпочтительней и легче чем программирование на автолиспе с использованием командных методов?
Можно ли обойтись только лишь каким то одним из этих методов (стилей и тп -затрудняюсь подобрать правильные термины, так что сильно не пинайте ) для решения всех задач, т.е. самодостаточны ли они сами по себе?
Является ли плохим тоном (и насколько) использование "каши" из смеси командных и объектно-ориентированных или еще каких методов одновременно в одной программе? Или можно использовать разные подходы, но разделять коды по своим файлам и составлять библиотеки?
Нужны ли диалоговые окна? И чем их лучше создавать?
Могут быть и другие мнения, делитесь - думаю это будет интересно.

Последний раз редактировалось alex8888, 29.06.2010 в 10:47.
Просмотров: 11984
 
Непрочитано 29.06.2010, 09:59
#2
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Мое мнение по всем этим вопросам подробно изложено в книге "САПР на базе AutoCAD - как это делается".
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 29.06.2010, 10:04
#3
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


ShaggyDoc, да, я это уже уяснил , но мне непонятна роль XML (к сожалению, пара нужных страниц по нему у меня в книге отсутствует )
alex8888 вне форума  
 
Непрочитано 29.06.2010, 10:11
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


xml - прекрасное средство для хранения сложно структурированных данных. И по идее к опросу о стилях программирования это имеет отношения мало.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.06.2010, 10:20
#5
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


У меня вообще решающую роль играет лень.
Вот например модификация таблиц. Через ActveX это делается легко и непринуждённо. Но при больших объёмах получаются заметные тормоза, т.к. в ActveX каждая ячейка модифицируется в реальном времени. Интуитивно кажется, что вроде более рациональным было бы пойти по пути dxf, модифицировать спискок dxf-представления, а потом один раз entmod. Но там же чёрт ногу сломит. Пока разберёшся - крыша съедет.
Makswell вне форума  
 
Непрочитано 29.06.2010, 10:35
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Makswell, а разве кто-то мешает снимать регенерацию таблицы перед обработкой? RegenerateTableSuppressed в руки и вперед
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.06.2010, 10:43
#7
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Кулик Алексей aka kpblc, не знал, спасибо. Полезная тема получается. )))
Makswell вне форума  
 
Автор темы   Непрочитано 29.06.2010, 10:49
#8
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


Цитата:
xml - прекрасное средство для хранения сложно структурированных данных
А использовать данное средство для корыстных целей можно? В смысле, там, для программирования (например в диалоговых окнах )
alex8888 вне форума  
 
Непрочитано 29.06.2010, 10:52
#9
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Можно. Используй
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.06.2010, 11:02
#10
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


Кулик Алексей aka kpblc,
Цитата:
Можно. Используй
Отличный ответ (Вот знать бы только как Я знаю только теоретически (тэоретищь, как говорит мой шеф ) )
alex8888 вне форума  
 
Непрочитано 29.06.2010, 11:09
#11
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
например в диалоговых окнах
Можно. Даже такой основанный на XML язык XAML придуман. Очень удобный. В принципе, если бы все фирмы сговорились, то это мог бы быть единый язык описания диалоговых окон. Это как минимум.

Но на самом деле практически нельзя. Потому, что даже ведущие фирмы конкурируют и никто не хочет "ложиться" под Microsoft. Вот и живет он в .NET и WF. И даже Autodesk, которая легла и ножки задрала, хоть и объявила о когда-тошней поддержке XAML, всё равно "динамит". А как бы удобен был XAML вместо ублюдочного DCL.
ShaggyDoc вне форума  
 
Непрочитано 29.06.2010, 11:09
#12
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


Зависит от задач. Далеко не всегда оправдано применение xml для определения диалогов (особенно если разговор ведется про dcl).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.06.2010, 11:32
#13
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


Цитата:
вместо ублюдочного DCL
Чем же он так насолил? Вроде бы большое количество пользователей вполне устраивает. Штатные окна тоже на DCL? Есть какие-то иные доводы неприязни?
alex8888 вне форума  
 
Непрочитано 29.06.2010, 11:46
#14
Capiton


 
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
<phrase 1=


Offtop: DCL может решать определенный круг задач. Если Вы знаете DCL и Ваша задача решается с помощью DCL - не слушайте никого.
Всё вышесказанное относится и к AutoLISP.
Моё мнение - в теме жидается флуд т.к. само название темы к нему распологает
Capiton вне форума  
 
Непрочитано 29.06.2010, 14:03
#15
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от alex8888 Посмотреть сообщение
Чем же он так насолил? Вроде бы большое количество пользователей вполне устраивает. Штатные окна тоже на DCL? Есть какие-то иные доводы неприязни?
Тем, что DCL отстал на 20 лет и замерз на том же уровне. Тогда все диалоговые окна для DOS во всех средах программирования разрабатывали примерно так же - высчитывали позиции, размеры, много раз запускали программы и много раз переделывали.

Пользователей устраивает, потому что они пользуются, а не разрабатывают. Да и "слаще хрена" не видели.

А теперь уже второй десяток 21 века пошел. Давно всё это делается визуальными конструкторами форм. И только у Autodesk "вижуализация" закончилась словом Visual для LISP. И примитивным набором "контролов".

Кстати, сам конструктор, при использовании XAML мог бы быть и от любой другой среды, если уж у самих кишка тонка. Хотя это примерно уровень курсовой работы (в крайне случае - дипломного проекта).

Вот потому я давно в DCL ничего не делаю.
Цитата:
DCL может решать определенный круг задач. Если Вы знаете DCL и Ваша задача решается с помощью DCL - не слушайте никого
Когда-то и каменный топор решал "определенный круг задач" - срубить дерево или замочить врага. Но ими теперь будут пользоваться разве что на необитаемом острове. Хотя тоже успокаивали - "не слушайте никого".
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 29.06.2010, 14:18
#16
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


ShaggyDoc, ссылочку на что-нибудь попроще из XAML не подкинешь (типа учебничек или примерчики)? Одним глазком глянуть на сие чудо. А то в DCL немного разобрался, а про XAML первый раз слышу.

Что касаемо
Цитата:
Моё мнение - в теме жидается флуд т.к. само название темы к нему распологает
, то больше склоняюсь к перефразированию пословицы, типа "В оффтопе рождается истина"

Так уже понятно, что от атавизмов типа DCL лучше избавляться в пользу визуальных средств программирования.

Непонятно еще про смесь стилей - кашу, насколько это будет "резать глаза", если половина программы из командных команд (во загнул ), а другая - из vla-ла-ла или DXF-кодов?
alex8888 вне форума  
 
Непрочитано 29.06.2010, 14:32
#17
Capiton


 
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
<phrase 1=


Опять же, на мой взгляд: автору профессионального приложения вообще незачем знать DCL. разработчику-любителю под AutoCAD необязательно знать кокой либо язык разметки, кроме DCL.

Цитата:
Вот потому я давно в DCL ничего не делаю.
Просто Вы перешли в другой вес

На счет функциональных ограничений DCL:
Недавно встретился с реализацией диалога на DCL(предположительно на DCL т.к. не знаю какой ещё диалог можно встроить в VLX), который написать в нем на мой взгляд просто невозможно. Чешу голову уже три дня и до сих пор не придумал даже мало-мальски разумной версии, как он сделан.
Capiton вне форума  
 
Непрочитано 29.06.2010, 15:07
#18
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Capiton. Открой VLX блокнотом, там DCL не кодируется а вставляется в виде текста.
И голову чесать не нужно.

Последний раз редактировалось E-degtyarev, 29.06.2010 в 16:07.
E-degtyarev вне форума  
 
Непрочитано 29.06.2010, 18:59
#19
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
xml - прекрасное средство для хранения сложно структурированных данных
Списки тоже прекрасное средства от похмелья особенно ассоциированные
Для меня предпочтительнее ActiveX, но получается букаф много...
Часто многие пользуются SendCommand - это какой стиль?
gomer вне форума  
 
Непрочитано 30.06.2010, 06:06
#20
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Списки тоже прекрасное средства от похмелья особенно ассоциированные
Списки - один из многочисленных вариантов хранения данных в памяти. Далеко не для всех применений удобный. К Lisp-списку не доберешься из другой программы.

XML - способ хранения данных в файлах, универсальный и доступный любым программам. Очень удобен для обмена. XML можно и публиковать в Интернет, например. И он "сам" будет трансформироваться в удобный для человеческого чтения вид. Пример с этого же форума - RSS-лента http://dwg.ru/rss/rssforum13.xml. В разных браузерах может иметь немного отличающийся вид (зависит от умолчаний), но содержимое одно.
ShaggyDoc вне форума  
 
Непрочитано 30.06.2010, 13:09
#21
Capiton


 
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
<phrase 1=


Цитата:
Открой VLX блокнотом, там DCL не кодируется а вставляется в виде текста. И голову чесать не нужно.
Дак DCL то файл элементарный, но поведение элементов диалога описывается в vlx.
При работе с диалогом у пользователя создаётся уверенность, что он может выбирать-удалять-добавлять различные графические элементы (прямоугольники, линии или что там ещё "нарисовано") в элементе image_button просто тыча в него мышью. Я всегда считал, что этого не может быть, потому что не может быть никогда.
Перевел vlx в fas, раскомпилировал(не воровства для, а только любопытства ради), буду разбираться, что за чудеса.
А может и не чудеса вовсе, а я просто туплю...?
Capiton вне форума  
 
Непрочитано 30.06.2010, 14:08
#22
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


А что тут особенного? Просто поиграйся функциями start_image, fill_image, slide_image и end_image.
fill_image затирает старое изображение а slide_image выводит новое.
Цитата:
Перевел vlx в fas, раскомпилировал
А вот как это делается подскажи, пожалуйста.

Последний раз редактировалось E-degtyarev, 30.06.2010 в 14:23.
E-degtyarev вне форума  
 
Непрочитано 30.06.2010, 15:19
#23
Capiton


 
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
<phrase 1=


Цитата:
А вот как это делается подскажи, пожалуйста.
Offtop: Все необходимые программы лежат в сети, при желании сразу найдёшь через поисковые системы. Если скачаешь и не разберешься как пользоваться - пиши в личку(т.к. к данной теме это отношения не имеет) - помогу.
Не понимаю, как с помошью перечисленных тобой функций (+ vector_image) система поймет куда именно (в какую точку) ткнул пользователь на image_button?

Последний раз редактировалось Capiton, 30.06.2010 в 15:29.
Capiton вне форума  
 
Непрочитано 30.06.2010, 15:33
#24
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Capiton, в каждом новом посте у тебя новые подробности. Может сразу и обо всем?
E-degtyarev вне форума  
 
Непрочитано 30.06.2010, 16:21
#25
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Capiton Посмотреть сообщение
Не понимаю, как <...> система поймет куда именно (в какую точку) ткнул пользователь на image_button?
Смотри переменные действия $x и $y
Do$ вне форума  
 
Непрочитано 30.06.2010, 16:50
#26
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от E-degtyarev Посмотреть сообщение
каждом новом посте у тебя новые подробности. Может сразу и обо всем?
Четайти книг многа и разныи Особенно Н. Полещука
В книге AutoLISP и VisualLISP в среде AutoCAD есть примеры программ с использованием графических элементов в диалоговых окнах
gomer вне форума  
 
Непрочитано 01.07.2010, 00:47
#27
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Я с помощью лиспа (хотя вся шутка в том, что как раз в автолиспе это "хреноватенько" реализованно, так сказать на зачаточном состоянии) пришел к пониманию прелести рекурсии и лямбда функций (не путать с mapcar'ом штука удобная, но это совсем не рекурсия). Понравиться этот стиль программирования или нет - вопрос вторичный - но как минимум понять его надо.
P.S. простой проверкой понял ты его или нет - ответь сам себе на вопрос - можешь ли ты написать (можно без графического оформления - просто логику) любую логическую игру - крестики-нолики (большие), шашки, шахматы, реверси - игру с практически неограниченным (по крайней мере многократно превышающим возможности современных ЭВМ) количеством вариантов ходов.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 01.07.2010, 14:19
#28
Meknotek

Проектирование заборов уже в прошлом
 
Регистрация: 29.10.2009
Рязань
Сообщений: 2,089


В первом посте не наблюдаю слова "AutoCAD" (хотя намек на него). Я так понимаю, другие аспекты работы инженера тоже в счет?
Тогда - с++ (стандартный стиль), использую для мини-программок, что-то вроде:
- подсчета массы арматуры (вводятся строчки по три числа - диаметр, длина, кол-во стержней; строчки в файле, ярлык для файла на раб.столе). Хочу сделать расчет массы сеток, вводятся диаметр и длина х ширина в см.
- Есть программа "балка_win32" (классика жанра - тренируемся на котятах, т.е. на балке на 2х опорах), но ввод/вывод в ней сделаны "на скорую руку", скоро буду переписывать на ввод/вывод из/в файл.
- Разнообразные опыты по программированию "параметрических объектов" . Вводим длину/ширину/высоту - получаем готовый, например, автомобиль

Последний раз редактировалось Meknotek, 01.07.2010 в 14:29.
Meknotek вне форума  
 
Автор темы   Непрочитано 06.07.2010, 11:35
#29
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


Вопрос, скорее всего к ShaggyDoc:
каким образом применить XML вместо DCL для создания диалогового окна? С чего начать? Есть какой-нибудь примерчик?

Meknotek, а как связываются Автокад и С++? Или у тебя просто это разные проги для разных задач?
alex8888 вне форума  
 
Непрочитано 06.07.2010, 14:34
#30
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Из готовых решений - WPF от Микрософт. Использует язык XAML для разметки пользовательского интерфейса. Но для этого необходимо знать основы .NET, один из языков программирования .NET, саму библиотеку классов WPF и иметь навыки создания .NET приложений под AutoCAD.
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Непрочитано 06.07.2010, 14:45
#31
Meknotek

Проектирование заборов уже в прошлом
 
Регистрация: 29.10.2009
Рязань
Сообщений: 2,089


Цитата:
Сообщение от alex8888 Посмотреть сообщение
Meknotek, а как связываются Автокад и С++? Или у тебя просто это разные проги для разных задач?
В дебри ObectARX не лезу, да и нескоро залезу. Связь обеспечивал примитивно, но действенно - запускаю прогу, она или считывает данные из файла (обычный текстовый документ), или ввод с клавиатуры, а по завершении сохраняет файл-скрипт. В нем сплошные (command "..."), зато делают что надо . Скрипт сохраняется например в C:\script1.scr. На этот же файл ссылается макрос на кнопке (панель в автокаде). Нажимаю - объект строится. Если надо, готовые объекты перетаскиваются потом вручную. Не совсем удобно, зато отвечает главной цели - работоспособное "соединение" своих программ и автокада при минимуме затрат (времени, сил на изучение .NET, ObectARX и т.п.). При этом надо только знать какие команды нужны и их синтаксис, т.е. освоить по сути только (command). Построение некоего объекта сводится к: запуску своей программы, если надо вводу данных, нажатию кнопки в автокаде, переместить в нужное место.
Meknotek вне форума  
 
Непрочитано 06.07.2010, 14:47
#32
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
каким образом применить XML вместо DCL для создания диалогового окна? С чего начать? Есть какой-нибудь примерчик?
Почитайте http://ru.wikipedia.org/wiki/XAML. Там же ссылка на многие другие языки описания интерфейсов.

Набрав в Google "Диалоговые окна XAML" найдете множество примеров.

Но самому начинать не надо. Любая спецификация языка мертва, пока она не будет реализована в системе программирования. В LISP используется только DCL, так что экспериментировать бесполезно. И ни на какой иной язык описания интерфейсов, похоже, переходить не собираются. Хотя обещания были.

Но если очень хочется начать - надо работать в .NET.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 06.07.2010, 15:16
#33
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


ShaggyDoc, то есть для несложных задач пока нет альтернативы DCL и вряд ли будет? За ссылки спасибо, посмотрел.
Почему вообще встал такой вопрос по стилям программирования, скорее всего, потому что интересно стало, на что следует обратить внимание в первую очередь. Понятно, что все имеет свои плюсы и минусы, спорить можно бесконечно. Порой остановиться на чем - нибудь одном невозможно. Вот и хотелось бы "вкратце понять", какие есть конкретно, скажем, для меня,( уже не чайника, но еще и не самовара ), возможности выбора того или иного способа решения конкретно моей задачи. Как я понял, про VBA можно забыть, а в .Net все несколько сложнее (более походит на С++)? Сами же тяжеловесы типа С, Дельфи и тп тяжело уживаются с кадом, потому как ноги растут не оттуда.
Осталось выяснить, когда предпочтительнее использовать АктивЫ-Х и почему.
Offtop: Очень жаль, что XML не поможет с окошками, скажу честно, понравились. Может быть удастся хотя бы как базу данных для примитивов использовать.
alex8888 вне форума  
 
Непрочитано 06.07.2010, 15:28
#34
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от alex8888 Посмотреть сообщение
Очень жаль, что XML не поможет с окошками, скажу честно, понравились. Может быть удастся хотя бы как базу данных для примитивов использовать.
Кто сказал что "не поможет"? При желании вы можете создать свой xml-файл, и генерировать на его основе окно (или любой др. контрол) динамически. Инфы на эту тему полно в инете.
Цитата:
Сообщение от alex8888 Посмотреть сообщение
вопрос по стилям программирования, скорее всего, потому что интересно стало, на что следует обратить внимание в первую очередь.
Могу порекомендовать такую книгу - будет полезна любому программисту.
hwd вне форума  
 
Автор темы   Непрочитано 06.07.2010, 15:39
#35
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


Offtop: hwd, спасибо, книгу закачал, теперь чтиво обеспечено

Offtop: Что то ко мне резко стали на Вы обращаться
alex8888 вне форума  
 
Непрочитано 06.07.2010, 18:15
#36
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


а есть ли ли такая библиотечка на аркс, которая интерпретировала бы код на xml в диалоговое окно?
хотя есть же OpenDCL...
gomer вне форума  
 
Непрочитано 06.07.2010, 18:52
#37
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
то есть для несложных задач пока нет альтернативы DCL и вряд ли будет?
Описание окон на DCL есть только в AutoLISP. Сейчас альтернативы нет. Будет или нет в будущем - я не знаю, знает Autodesk. Думаю, что не будет.

Цитата:
Очень жаль, что XML не поможет с окошками, скажу честно, понравились. Может быть удастся хотя бы как базу данных для примитивов использовать.
Мне тоже нравится. Еще больше понравилось, если бы это было стандартным описанием интерфейсных элементов в разных системах. Ну, "эт вряд-ли" (С)

А вот использовать XML для хранения данных можно и нужно. Только с умом. К сожалению, конкурирующие фирмы и здесь два способа описания данных умудрились сделать Но, при желании, можно и своё "подмножество" ввести.

Вот, например, XML для описания таблицы:

Код:
[Выделить все]
<?xml version="1.0" encoding="windows-1251" ?>
<table>
  <summaryinfo Title="ВЕДОМОСТЬ ССЫЛОЧНЫХ И ПРИЛАГАЕМЫХ ДОКУМЕНТОВ" Subject="Система ruCAD" Author="ShaggyDoc" LastAuthor="ShaggyDoc" Create_DTM="23.04.2007 11:56:48" RevNumber="4"/>
  <title rows="1" height="15" ask_title="1">
  <columns count="3">
    <column_1 size="60" type="STRING" align="C"/>
    <column_2 size="95" type="STRING" align="L"/>
    <column_3 size="30" type="STRING" align="L"/>
  </columns>
    <row_1  height="15">
	  <cell_1 text="Обозначение" />
	  <cell_2 text="Наименование" />
	  <cell_3 text="Примечание" />
	</row_1>
  </title>
  <data rows="4">
    <row_1>
      <column_1 data=""/>
      <column_2 data="\LССЫЛОЧНЫЕ ДОКУМЕНТЫ"/>
      <column_3 data=""/>
    </row_1>
    <row_2>
      <column_1 data=""/>
      <column_2 data=""/>
      <column_3 data=""/>
    </row_2>
    <row_3>
      <column_1 data=""/>
      <column_2 data="\LПРИЛАГАЕМЫЕ ДОКУМЕНТЫ"/>
      <column_3 data=""/>
    </row_3>
    <row_4>
      <column_1 data=""/>
      <column_2 data="Спецификация оборудования"/>
      <column_3 data="На X листах"/>
    </row_3>
  </data>
</table>
Здесь содержатся данные, необходимые для рисования таблицы. LISP-программа по этим данным рисует и заполняет таблицу в виде объекта TABLE. Но здесь все понятно и человеку. По этим же данным программа на любом другом языке могла бы, например, сформировать DbGrid для отображения данных в сетке.

Здесь просто заготовка, но строки и колонки могут быть заполнены данными и вновь сохранены в XML - а это уже настоящая локальная база данных.

Из этой же таблицы данные можно отображать и в окне браузера, в "человеко-читаемом" виде - если дополнить еще одной строчкой.

Да, в XML можно описать диалоговое окно и какой-то программой на основании описанных в XML-правил, сгенерировать DCL-файл. Но вряд ли это стоит реально делать.
ShaggyDoc вне форума  
 
Непрочитано 06.07.2010, 19:46
#38
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Вот, например, XML для описания таблицы:
Не стоит забывать, что в таблице могут быть объединения строк/столбцов.
Я прописывал это по аналогии с WPF так:
Код:
[Выделить все]
<?xml version="1.0" encoding="utf-8" ?>
<!--Разработчик: Бушман Андрей (Санкт-Петербург, июнь 2010г.)-->
<!--*******************************************************-->
<!--ДОПУСТИМЫЕ ВАРИАНТЫ ТОЛЩИН ЛИНИЙ:
    ByLineWeightDefault,
    ByBlock,
    ByLayer,
    LineWeight000,
    LineWeight005,
    LineWeight009,
    LineWeight013,
    LineWeight015,
    LineWeight018,
    LineWeight020,
    LineWeight025,
    LineWeight030,
    LineWeight035,
    LineWeight040,
    LineWeight050,
    LineWeight053,
    LineWeight060,
    LineWeight070,
    LineWeight080,
    LineWeight090,
    LineWeight100,
    LineWeight106,
    LineWeight120,
    LineWeight140,
    LineWeight158,
    LineWeight200,
    LineWeight211,
-->
<!--ДОПУСТИМЫЕ ВАРИАНТЫ ЦВЕТОВ ЛИНИЙ И ТЕКСТА:
    AliceBlue,
    AntiqueWhite,
    Aqua,
    Aquamarine,
    Azure,
    Beige,
    Bisque,
    Black,
    BlanchedAlmond, 
    Blue,
    BlueViolet,
    Brown,
    BurlyWood,
    CadetBlue,
    Chartreuse,
    Chocolate,
    Coral,
    CornflowerBlue, 
    Cornsilk,
    Crimson,
    Cyan,
    DarkBlue,
    DarkCyan,
    DarkGoldenrod,
    DarkGray,
    DarkGreen,
    DarkKhaki,
    DarkMagenta,
    DarkOliveGreen, 
    DarkOrange,
    DarkOrchid,
    DarkRed,
    DarkSalmon,
    DarkSeaGreen,
    DarkSlateBlue,
    DarkSlateGray,
    DarkTurquoise,
    DarkViolet,
    DeepPink,
    DeepSkyBlue,
    DimGray,
    DodgerBlue,
    Firebrick,
    FloralWhite,
    ForestGreen,
    Fuchsia,
    Gainsboro,
    GhostWhite,
    Gold,
    Goldenrod,
    Gray,
    Green,
    GreenYellow,
    Honeydew,
    HotPink,
    IndianRed,
    Indigo,
    Ivory,
    Khaki,
    Lavender,
    LavenderBlush,
    LawnGreen,
    LemonChiffon,
    LightBlue,
    LightCoral,
    LightCyan,
    LightGoldenrodYellow,
    LightGray,
    LightGreen,
    LightPink,
    LightSalmon,
    LightSeaGreen,
    LightSkyBlue,
    LightSlateGray, 
    LightSteelBlue, 
    LightYellow,
    Lime,
    LimeGreen,
    Linen,
    Magenta,
    Maroon,
    MediumAquamarine,
    MediumBlue,
    MediumOrchid,
    MediumPurple,
    MediumSeaGreen, 
    MediumSlateBlue,
    MediumSpringGreen,
    MediumTurquoise,
    MediumVioletRed,
    MidnightBlue,
    MintCream,
    MistyRose,
    Moccasin,
    NavajoWhite,
    Navy,
    OldLace,
    Olive,
    OliveDrab,
    Orange,
    OrangeRed,
    Orchid,
    PaleGoldenrod,
    PaleGreen,
    PaleTurquoise,
    PaleVioletRed,
    PapayaWhip,
    PeachPuff,
    Peru,
    Pink,
    Plum,
    PowderBlue,
    Purple,
    Red,
    RosyBrown,
    RoyalBlue,
    SaddleBrown,
    Salmon,
    SandyBrown,
    SeaGreen,
    SeaShell,
    Sienna,
    Silver,
    SkyBlue,
    SlateBlue,
    SlateGray,
    Snow,
    SpringGreen,
    SteelBlue,
    Tan,
    Teal,
    Thistle,
    Tomato,
    Transparent,
    Turquoise,
    Violet,
    Wheat,
    White,
    WhiteSmoke,
    Yellow,
    YellowGreen,
-->
<!--ДОПУСТИМЫЕ ВАРИАНТЫ ВЫРАВНИВАНИЯ СОДЕРЖИМОГО ЯЧЕЕК:
    TopLeft,
    TopCenter,
    TopRight,
    MiddleLeft,
    MiddleCenter,
    MiddleRight,
    BottomLeft,
    BottomCenter,
    BottomRight,
    -->
<!--****************************************************************************************************************************-->
<TableTemplateSettings >
  <!--Общие настройки табличных шаблонов.-->
  <CommonTableSettings LayerName="Таблицы и текст" TableStyleName="Ведомость" TextStyleName="Тип А курсив" TitleBorder="False" TitleRowHeight="10">
   
    <!--Высота и цвет текста наименования таблицы-->
    <TitleTextSettings TextHeight="5" TextColor="Magenta"/>
    <!--Высота и цвет текста заголовка таблицы-->
    <HeaderTextSettings TextHeight="3" TextColor="Red"/>
    <!--Высота и цвет текста данных таблицы-->
    <DataTextSettings TextHeight="3" TextColor="Yellow"/>
    
    <!--Настройки линий внешнего контура таблиц-->
    <BorderLine LineWeight="LineWeight100" LineColor="Turquoise"/>
    
    <!--Настройки внутренних линий в составе заголовка таблицы-->
    <InnerHeaderLines>
      <InnerVerticalLines LineWeight="LineWeight070" LineColor="SlateGray"/>
      <InnerHorizontalLines LineWeight="LineWeight025" LineColor="Yellow"/>
    </InnerHeaderLines>
    
    <!--Настройки внутренних линий в составе данных таблицы-->
    <InnerDataLines>
      <InnerVerticalLines LineWeight="LineWeight025" LineColor="Green"/>
      <InnerHorizontalLines LineWeight="LineWeight015" LineColor="Pink"/>
    </InnerDataLines> 
    
  </CommonTableSettings>
  <!--****************************************************************************************************************************-->
  
  <!--Шаблоны заголовков таблиц-->
  <!--Нумерация столбцов и строк в атрибутах ячеек (Cells) заголовка начинается с 0. 
  "ColumnSpan" - объединение со столбцами, расположенными правее ячейки. "RowSpan" - объединение со строками, расположенными ниже ячейки.-->
  <TableTemplates>
    <!--==========================================================================================================================-->
    <TableTemplate TableTemplateName="StillTable" Title="Ведомость расхода стали" TitleCellAlignment="MiddleCenter">
      <!--Описание заголовка таблицы (не путать с наименованием таблицы)-->
      <Header>
        <!--Колонки в составе заголовка-->
        <Columns>
          <!--10 колонок-->
          <Column Width="10" DataCellAlignment="MiddleCenter"/>
          <Column Width="40" DataCellAlignment="MiddleCenter"/>
          <Column Width="12" DataCellAlignment="MiddleCenter"/>
          <Column Width="12" DataCellAlignment="MiddleCenter"/>
          <Column Width="12" DataCellAlignment="MiddleCenter"/>
          <Column Width="12" DataCellAlignment="MiddleCenter"/>
          <Column Width="12" DataCellAlignment="MiddleCenter"/>
          <Column Width="15" DataCellAlignment="MiddleCenter"/>
          <Column Width="25" DataCellAlignment="MiddleCenter"/>
          <Column Width="15" DataCellAlignment="MiddleCenter"/>
        </Columns>
        <!--Строки в составе заголовка-->
        <Rows>
          <!--5 строк (строку, в которой находится название таблицы, считать не нужно - она будет добавлена автоматически)-->
          <Row Height="8"/>
          <Row Height="8"/>
          <Row Height="8"/>
          <Row Height="8"/>
          <Row Height="8"/>
        </Rows>
        <!--Ячейки в составе заголовка таблицы.-->
        <Cells>
          <!--№ 1-->
          <Cell Column="0" Row="0" ColumnSpan="0" RowSpan="4" TextRotation="45">
            Марка элемента
          </Cell>
          <!--№ 2-->
          <Cell Column="1" Row="0" ColumnSpan="5" RowSpan="0" TextRotation="0">
            Изделия арматурные, кг
          </Cell>
          <!--№ 3-->
          <Cell Column="7" Row="0" ColumnSpan="2" RowSpan="0" TextRotation="0">
            Изделия закладные, кг
          </Cell>
          <!--№ 4-->
          <Cell Column="1" Row="1" ColumnSpan="4" RowSpan="0" TextRotation="0">
            Арматура класса
          </Cell>
          <!--№ 5-->
          <Cell Column="1" Row="2" ColumnSpan="1" RowSpan="0" TextRotation="0">
            A-I
          </Cell>
          <!--№ 6-->
          <Cell Column="3" Row="2" ColumnSpan="2" RowSpan="0" TextRotation="0">
            A-III
          </Cell>
          <!--№ 7-->
          <Cell Column="1" Row="3" ColumnSpan="4" RowSpan="0" TextRotation="0">
            ГОСТ 5781-82
          </Cell>
          <!--№ 8-->
          <Cell Column="2" Row="4" ColumnSpan="0" RowSpan="0" TextRotation="0">
            Итого
          </Cell>
          <!--№ 9-->
          <Cell Column="5" Row="4" ColumnSpan="0" RowSpan="0" TextRotation="0">
            Итого
          </Cell>
          <!--№ 10-->
          <Cell Column="8" Row="4" ColumnSpan="0" RowSpan="0" TextRotation="0">
            Итого
          </Cell>
          <!--№ 11-->
          <Cell Column="6" Row="1" ColumnSpan="0" RowSpan="3" TextRotation="90">
            Всего
          </Cell>
          <!--№ 12-->
          <Cell Column="7" Row="1" ColumnSpan="1" RowSpan="0" TextRotation="0">
            Прокат марки
          </Cell>
          <!--№ 13-->
          <Cell Column="7" Row="2" ColumnSpan="1" RowSpan="0" TextRotation="0">
            Ст3сп
          </Cell>
          <!--№ 14-->
          <Cell Column="7" Row="3" ColumnSpan="1" RowSpan="0" TextRotation="0">
            ГОСТ 103-76
          </Cell>
          <!--№ 15-->
          <Cell Column="9" Row="1" ColumnSpan="0" RowSpan="3" TextRotation="90">
            Всего
          </Cell>
        </Cells>
      </Header>
    </TableTemplate>
    <!--==========================================================================================================================-->
  </TableTemplates>
</TableTemplateSettings>
Код, вычерчивающий таблицу по xml-шаблону не выкладываю, т.к. он на .Net.
hwd вне форума  
 
Автор темы   Непрочитано 07.07.2010, 00:05
#39
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


А как Лисп "понимает" XML? Какие функции и команды задействованы?
Сама разметка XML несложная, а дальше что? Читать построчно XML-файл? Как связать его с лиспом?
alex8888 вне форума  
 
Непрочитано 07.07.2010, 06:31
1 | #40
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Не стоит забывать, что в таблице могут быть объединения строк/столбцов.
Разумеется. У меня объединение делается по признаку эквивалентности атрибутов заголовков. Например:
Код:
[Выделить все]
<?xml version="1.0" encoding="windows-1251" ?>
<table>
  <summaryinfo Title="ВЕДОМОСТЬ ОТВЕРСТИЙ В СТЕНАХ И ПЕРЕГОРОДКАХ" Subject="Система ruCAD" Author="ShaggyDoc" LastAuthor="ShaggyDoc" Create_DTM="23.04.2007 11:56:48" RevNumber="4"/>
  <title rows="2" height="2" ask_title="0">
  <columns count="7">
    <column_1 size="20" type="STRING" align="C"/>
    <column_2 size="25" type="INT" align="R"/>
    <column_3 size="25" type="INT" align="R"/>
    <column_4 size="25" type="INT" align="R"/>
    <column_5 size="25" type="INT" align="R"/>
    <column_6 size="35" type="STRING" align="L"/>
    <column_7 size="30" type="STRING" align="L"/>
  </columns>
    <row_1  height="5">
	  <cell_1 text="Марка" />
	  <cell_2 text="Размеры, мм" />
	  <cell_3 text="Размеры, мм" />
	  <cell_4 text="Размеры, мм" />
	  <cell_5 text="Отметка|низа|от пола|этажа, м" />
	  <cell_6 text="Марка|чертежей" />
	  <cell_7 text="Примечание" />
	</row_1>
    <row_2  height="10">
	  <cell_1 text="Марка" />
	  <cell_2 text="Ширина" />
	  <cell_3 text="Высота" />
	  <cell_4 text="Толщина|стены" />
	  <cell_5 text="Отметка|низа|от пола|этажа, м" />
	  <cell_6 text="Марка|чертежей" />
	  <cell_7 text="Примечание" />
	</row_2>
  </title>
  <data rows="1">
    <row_1>
      <column_1 data=""/>
    </row_1>
  </data>
</table>
Выглядит как на рисунке (там уже заполнено данными, тоже автоматически)

Цитата:
А как Лисп "понимает" XML?
LISP в AutoCAD никак XML не понимает. Для этого надо писать свои функции, и для некоторых диалектов они есть. Но в AutoCAD LISP может обращаться к COM. Можно использовать обращение к MSXML - оне есть на компьютере практически всегда. Только этот парсер, при всей его продвинутости, достаточно медленный. Поэтому написано очень много альтернативных парсеров. Я, например, использую парсер TjanXMLParser2, разработанный Jan Verhoven.

В этом случае делается своя dll с COM-сервером и из LISP обращение происходит к нему. На LISP также придется немало поработать. Например, для рисования таблиц у меня набралось 18 функций. Но само чтение данных при наличии библиотечных функций происходит достаточно просто:

Код:
[Выделить все]
(ru-xml-storage-read-string
               table_xml
               (strcat "data/row_"
                       (itoa curr_row)
                       "/column_"
                       (itoa curr_column)
               ) ;_ end of strcat
               "data"
               ""
             )
Собственно чтение XML с помощью COM на LISP делается стандартно и просто:

Код:
[Выделить все]
(defun _ru-xml-storage ()
;;; Создание COM-сервера
  (vlax-get-or-create-object "ruXmlStorage.ruXmlReg")
)

(defun ru-xml-storage-read-string (xml_name relative_path attrib_name default / srv)
;;;  xml_name - полное имя xml-файла
;;;  relative_path - относительный от root путь элемента в виде
;;;  level1/level2/level3  
;;;  attrib_name - имя атрибута в последнем элементе
;;;  value  - строковое значение атрибута
;;;
  ;|
Пример:
(ru-xml-storage-read-string (ru-file-acad "rucad.cui" nil)  "Header/WorkspaceRoot/WorkspaceConfigRoot/WorkspaceConfig"  "UID"  "")
|;
  (if (setq srv (_ru-xml-storage))
    (vlax-invoke-method srv "ReadString" xml_name relative_path attrib_name default)
    (alert "Не удалось запустить ruXmlStorage.ruXmlReg")
  ) ;_ end of if
)
Эта функция може читать любой XML. Хоть собственное описание таблицы, хоть acad.cui как в примере. Надо только знать, к какому пути и атрибуту обращаться.
Миниатюры
Нажмите на изображение для увеличения
Название: v_osz.png
Просмотров: 75
Размер:	5.4 Кб
ID:	41942  
ShaggyDoc вне форума  
 
Непрочитано 07.07.2010, 08:35
#41
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
У меня объединение делается по признаку эквивалентности атрибутов заголовков.
Согласен, можно и так, но в предлагаемом вами варианте есть один недостаток - дубляж информации. В данном случае дублируется значение атрибута. Неудобно это тем, что при необходимости изменения текста в составе объединённой ячейки, вам придётся вносить изменений столько раз, сколько ячеек вы объединили. Это не смертельно, т.к. подобная операция будет выполняться не часто, но всё таки это не так "красиво", как решение, "содранное" мною с WPF.

Если говорить применительно к .NET (это я для общей информации тем, кто на .Net не пишет, но задумывается об этом), то работать с XML очень просто. Причём в разрезе рассматриваемой задачи можно использовать два способа работы:
1. Использовать LINQ to XML - простая, но самая мощная на данный момент времени .Net-технология, позволяющая работать с XML-данными почти как с базой данных (в том смысле что доступны многие операции подобные тем, которые обычно производятся в СУБД). Немаловажно, что данный парсер работает весьма шустро.
2. Использовать сериализацию в XML - это самый лучший вариант для рассматриваемых в топике примеров. Код получается очень лаконичным и не нужно ничего вручную парсить.

Последний раз редактировалось hwd, 07.07.2010 в 08:44.
hwd вне форума  
 
Автор темы   Непрочитано 07.07.2010, 09:18
#42
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


hwd, что подразумеваешь под
Цитата:
Использовать сериализацию в XML
?
ShaggyDoc, С таблицами более менее понятно. А в случае с окошками? Там как передаются параметры в программу?
alex8888 вне форума  
 
Непрочитано 07.07.2010, 10:38
#43
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от alex8888 Посмотреть сообщение
hwd, что подразумеваешь под ?
ShaggyDoc, С таблицами более менее понятно. А в случае с окошками? Там как передаются параметры в программу?
Честно говоря, мне порядком надоело отвечать на вопросы, обусловленные вашей ленью.... Может кому и доставляет удовольствие отвечать на детские вопросы, но я в их число не вхожу. Велика вероятность того, что нервов не хватит и у ShaggyDoc, и у др. форумчан.
Google существует не просто так. Ответы на задаваемые вами вопросы легко находятся, если хотя бы попытаться найти их (тынц и тынц). Если вы и в дальнейшем будете сидеть и ждать, когда вам разжуют и положат в рот - результаты такого "взаимодействия" будут хреновыми (ИМХО). Не ленитесь искать самостоятельно ответы, прежде чем задавать вопросы на форуме. Иначе вы только настраиваете против себя и в тот момент, когда вам действительно будет нужна помощь, вас могут проигнорировать просто по инерции, решив, что раз топик создан вами, то в него можно не заглядывать, поскольку вопросы обусловлены ленью открыть поисковик.

Последний раз редактировалось hwd, 07.07.2010 в 11:05.
hwd вне форума  
 
Непрочитано 07.07.2010, 13:03
#44
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Честно говоря, мне порядком надоело отвечать на вопросы, обусловленные вашей ленью....
Точно. Почему бы не прочитать хоть одну книгу. XML - это огромная тема. Множество применений, множество технологий, парсеров, программ.

Последний раз отвечаю:

Цитата:
А в случае с окошками? Там как передаются параметры в программу?
В любом XML есть элементы. У элементов могут быть атрибуты и значения (текст элемента).

Элементы могут образовывать дерево, тогда у каждого "листика" этого дерева будет свой путь. Прочитав листик (элемент) можно получить и значения атрибута по имени и значение самого элемента.
В XML, приведенном в #38 есть элемент:
Код:
[Выделить все]
<Cell Column="7" Row="0" ColumnSpan="2" RowSpan="0" TextRotation="0">
            Изделия закладные, кг
          </Cell>
Здесь описана некая ячейка (cell) имеющая атрибуты Column, Row, ColumnSpan, RowSpan, TextRotation и значение Изделия закладные, кг

"Изделия закладные, кг" это, очевидно, текст в ячейке заголовке таблицы.
Это понятно любому неботанику и легко может быть извленчено парсером. В другом примере из #40 есть строка
Код:
[Выделить все]
<cell_2 text="Размеры, мм" />
Здесь текст ячейки заголовка таблицы находится не в значении, а в атрибуте. Да и вся структура XML иная - просто разные подходы авторов. Каждый вариант имеет достоинства и недостатки.

Прочитать значение атрибута я могу функцией ru-xml-storage-read-string
Хоть из своего файла, хоть из чужого. И значение тоже могу прочитать. Если бы это было не описание таблицы AutoCAD, а описание диалогового окна на каком-то валидном и well-formatted XML (независимо от названия) - можно было бы и прочитать занчения всех параметров диалогового окна и его элементов.

Но зачем это надо? Вот если бы AutoLISP умел по переданному в памяти списку данных сформировать диалоговое окно - в этом мог бы быть смысл. Но этого он не умееет, а умеет только считывать в память DCL-файлы. Да и оттуда умеет строить только самый примитивный набор "контролов".

А другие системы умеют - в той же .NET. Но зато они не умеют ни DCL прочитать, ни например, DFM-файл Delphi. А в нем, по сути, находится та же информация, только иначе оформленная.

До унификации описаний диалогов в мире еще не дошли. Технических препятствий нет - одна "техническая политика", когда ради шкурных интересов плюют на интересы потребителей. Вот и строим "вавилонскую башню" не умея между собой общаться.
ShaggyDoc вне форума  
 
Непрочитано 07.07.2010, 13:22
#45
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Но зато они не умеют ни DCL прочитать, ни например, DFM-файл Delphi. А в нем, по сути, находится та же информация, только иначе оформленная.
Пользователь может не верно понять... Прочитать можно, просто для этого придётся самому писать реализацию парсера. Чем сложнее структура читаемого файла - тем сложнее парсер.

Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
До унификации описаний диалогов в мире еще не дошли. Технических препятствий нет - одна "техническая политика", когда ради шкурных интересов плюют на интересы потребителей. Вот и строим "вавилонскую башню" не умея между собой общаться.
В некотором смысле унификацией можно считать XML (если бы его не было - вот это было бы действительно хреново). Работа с конкретными его диалектами - дело не сложное. Меня очень расстроил тот факт, что в Mono решили не реализовывать аналогию WPF, а ведь было бы очень удобно...
hwd вне форума  
 
Автор темы   Непрочитано 07.07.2010, 14:49
#46
alex8888

Инженер
 
Регистрация: 27.04.2009
Deutschland
Сообщений: 208


Offtop: Прошу прощения у уважаемых форумчан, действительно, банальная лень может служить огромной преградой по пути к цели. Впредь обязуюсь по пустякам не беспокоить
Из всей огромной имеющейся литературы так трудно найти несколько важных моментов, что легче становиться спросить ... и получить по "шапке"
За советы спасибо, за терпение - два спасиба и стакан и огурчик впридачу Давайте жить дружно
alex8888 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Опрос. Каким стилем программирования вы предпочитаете пользоваться и почему?