Делитесь, интересно )porutchik писал(а): 29 Январь 2025, 11:20 закинул ему свой шаблон. Получил интересные идеи, немного исправлений и добавленные коментарии
пзц побаловался :)
Модератор: Дед Пахом
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
пзц побаловался :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
пзц побаловался :)
то шаблон у меня для внутреннего пользования. Из тех что делился, примерно так:
Spoiler
пзц побаловался :)
тут товарищ его доводит:
говорит самое прикльное как раз рассуждениявопрос: циклы в дэлфи с точки зрения проффесора философии
ответ deepseek:
- for — метафизика необходимости (как у Спинозы: всё предопределено атрибутами Бога).
- while — философия процесса (как у Уайтхеда: реальность как серия событий, связанных условиями).
- repeat — эпистемология проб и ошибок (как у Дьюи: знание возникает через действие и рефлексию).
пзц побаловался :)
сам то веришь в такую простую чушь?Дед Пахом писал(а): 30 Январь 2025, 11:53 Самое прикольное вот это: https://habr.com/ru/news/877806/
вот только хабру я не очень верю, особенно про статьи что диип - это полностью украденный чатгпт. И украден вместе с обученной базой.
пруфы в статье тоже интересные. Про супер-пупер-мега хакеров. Смотрим у них - таки не нашел следов наличия в и-нете http://dev.deepseek.com да еще с портами HA и doker
как-то тут попадалась, что эта помойка на грантах пиндосов сидит. Наверно стоит поверить
пзц побаловался :)
инет говорит что http://dev.deepseek.com свободен. (Китайцы потерли, а заодно со всеми кэшами)Дед Пахом писал(а): 30 Январь 2025, 11:53 Самое прикольное вот это: https://habr.com/ru/news/877806/
пзц побаловался :)
попросил проверить на ошибки шаблон SingleFileTree (если память не изменяет Вадима), вот результат:
Основные моменты и возможные ошибки:
Синтаксические ошибки:
В целом, синтаксис шаблона выглядит корректно, но стоит обратить внимание на использование переменных и их инициализацию. Например, переменные %TreeTitle, %TreeTitleIcon, %DisplayTree, %FilterTree и другие должны быть корректно определены и использованы в соответствующих местах.
Логические ошибки:
В некоторых местах используются условия, которые могут привести к неожиданному поведению. Например, в секции %InstancePrefix:ContractLevel проверяется, есть ли подчиненные уровни, и если их нет, выполнение прерывается. Однако, если подчиненные уровни есть, но они не загружены, это может привести к ошибке.
Комментарии:
В шаблоне уже есть некоторые комментарии, но их можно расширить для лучшего понимания. Например, в секции %InstancePrefix:ExpandLevel можно добавить комментарий, поясняющий, что происходит при разворачивании уровня дерева.
Пример добавления комментариев:
Код: Выделить всё
#AT(%ProcedureRoutines)
#FIX(%File,%Primary)
#FIX(%Field,%MainField)
#FIX(%Control,%TreeControl)
!------------------------------------------------------
%InstancePrefix:InitTree ROUTINE
FREE(%TreeQueue) ! Очистка очереди дерева
#IF(%TreeTitle)
#INSERT(%StandardValueAssignment(Clarion),%TreeQueue & '.' & %InstancePrefix & ':Display',%TreeTitle)
%TreeQueue.%InstancePrefix:%MainFieldID = 0 ! Инициализация ID главного поля
%TreeQueue.%InstancePrefix:%ChildFieldID = 0 ! Инициализация ID дочернего поля
%TreeQueue.%InstancePrefix:Level = 0 ! Инициализация уровня
%TreeQueue.%InstancePrefix:Position = '' ! Инициализация позиции
#IF(%ControlHasIcon)
#FIX(%IconList,%TreeTitleIcon)
#IF(%IconList)
#CASE(%IconListType)
#OF('Variable')
%TreeQueue.%InstancePrefix:Icon = %IconList ! Установка иконки из переменной
#ELSE
#SET(%ValueConstruct,INSTANCE(%IconList))
%TreeQueue.%InstancePrefix:Icon = %ValueConstruct ! Установка иконки из файла
#ENDCASE
#ELSE
%TreeQueue.%InstancePrefix:Icon = 0 ! Иконка не установлена
#ENDIF
#ENDIF
#IF(%ControlHasColor)
%TreeQueue.%InstancePrefix:NormalFG = -1 ! Цвет текста по умолчанию
%TreeQueue.%InstancePrefix:NormalBG = -1 ! Цвет фона по умолчанию
%TreeQueue.%InstancePrefix:SelectedFG = -1 ! Цвет выделенного текста
%TreeQueue.%InstancePrefix:SelectedBG = -1 ! Цвет выделенного фона
#ENDIF
ADD(%TreeQueue) ! Добавление записи в очередь
#ENDIF
!------------------------------------------------------
Рекомендации:
Проверка инициализации переменных:
Убедитесь, что все переменные, такие как %TreeTitle, %TreeTitleIcon, %DisplayTree, %FilterTree, инициализированы перед использованием. Это поможет избежать ошибок выполнения.
Тестирование:
Протестируйте шаблон на различных данных, чтобы убедиться, что все функции работают корректно. Особое внимание уделите разворачиванию и сворачиванию уровней дерева, а также перемещению веток.
Документация:
Добавьте больше комментариев в ключевые секции кода, чтобы облегчить понимание и поддержку шаблона в будущем.
пзц побаловался :)
самое интересное в статье комметарииДед Пахом писал(а): 30 Январь 2025, 11:53 Самое прикольное вот это: https://habr.com/ru/news/877806/
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
пзц побаловался :)
Может ИИ подскажет для шаблона SingleFileTree, как сделать, чтобы можно было использовать несколько SingleFileTree в одном module )
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
пзц побаловался :)
как ни странно он ответил по-полной раскладке. (Много) соберу удобочитаемый вариант ответа, закину сюда. Проверять буду потомgopstop2007 писал(а): 30 Январь 2025, 16:44 Может ИИ подскажет для шаблона SingleFileTree, как сделать, чтобы можно было использовать несколько SingleFileTree в одном module )
пзц побаловался :)
вот результатgopstop2007 писал(а): 30 Январь 2025, 16:44 Может ИИ подскажет для шаблона SingleFileTree, как сделать, чтобы можно было использовать несколько SingleFileTree в одном module )
Вопрос: а как можно доработать данный шаблон, чтобы его можно было использовать несколько SingleFileTree в одном модуле?
Ответ: Чтобы использовать несколько экземпляров SingleFileTree в одном модуле, необходимо доработать шаблон таким образом, чтобы каждый экземпляр был независимым и не конфликтовал с другими. Для этого нужно: Уникальные имена переменных и процедур: Каждый экземпляр SingleFileTree должен иметь уникальные имена переменных, очередей и процедур. Это можно сделать, добавив уникальный префикс для каждого экземпляра. Динамическое создание переменных: Используйте динамическое создание переменных и процедур, чтобы избежать конфликтов имен. Изоляция данных: Убедитесь, что данные каждого экземпляра SingleFileTree изолированы и не пересекаются с данными других экземпляров. Пример доработки шаблона: 1. Добавление уникального префикса: В шаблоне уже используется переменная %InstancePrefix, которая добавляет уникальный префикс к именам переменных и процедур. Убедитесь, что этот префикс уникален для каждого экземпляра. Например, если у вас два экземпляра SingleFileTree, вы можете задать разные префиксы:
Код: Выделить всё
#SET(%InstancePrefix, 'TSF1') ! Префикс для первого экземпляра
#SET(%InstancePrefix, 'TSF2') ! Префикс для второго экземпляра
Код: Выделить всё
#SET(%TreeQueue, %InstancePrefix & 'TreeQueue')
Код: Выделить всё
#SET(%InitTreeProcedure, %InstancePrefix & ':InitTree')
#SET(%ExpandLevelProcedure, %InstancePrefix & ':ExpandLevel')
Код: Выделить всё
DO %InitTreeProcedure
DO %ExpandLevelProcedure
Код: Выделить всё
#SET(%ExpandButton, %InstancePrefix & 'ExpandButton')
#SET(%ContractButton, %InstancePrefix & 'ContractButton')
Код: Выделить всё
BUTTON('&Развернуть все'), AT(,,65,14), USE(%ExpandButton)
BUTTON('&Свернуть все'), AT(70,0,60,14), USE(%ContractButton)
Код: Выделить всё
! Первый экземпляр SingleFileTree
#SET(%InstancePrefix, 'TSF1')
#INCLUDE('TREESNGL.TPl')
! Второй экземпляр SingleFileTree
#SET(%InstancePrefix, 'TSF2')
#INCLUDE('TREESNGL.TPl')
Код: Выделить всё
#CONTROL(SingleFileTree,'Просмотр одного файла в виде дерева'),PRIMARY('Дерево файла',OPTKEY),DESCRIPTION('Просмотр файла ' & %Primary),MULTI,WINDOW
CONTROLS
LIST,AT(,,150,100),USE(?FileTree),FORMAT('800Lt@s200@'),FROM(Queue:SingleFileTree)
END
#BUTTON('&Свойства дерева'),AT(10,,180)
#SHEET
#TAB('&Главная')
#PREPARE
#FIND(%ControlInstance,%ActiveTemplateInstance,%Control)
#ENDPREPARE
#BOXED('Заголовок дерева'),AT(,40)
#PROMPT('Текст заголовка дерева:',@S255),%TreeTitle
#ENABLE(%ControlHasIcon AND %TreeTitle)
#PROMPT('Пиктограмма заголовка:',OPENDIALOG('Выбрать иконку','Icons-файлы (*.ICO)|*.ICO|Windows Bitmaps-файлы (*.BMP)|*.BMP|Все файлы (*.*)|*.*')),%TreeTitleIcon
#ENDENABLE
#ENDBOXED
#PROMPT('&Строка для вывода:',FIELD),%DisplayTree,REQ
#PROMPT('&Фильтр записей:',@S255),%FilterTree
#BOXED('Развертка/свертка уровней')
#BOXED('Коды клавиш')
#PROMPT('&Развернуть ветвь:',KEYCODE),%ExpandKeyCode,DEFAULT('PlusKey')
#PROMPT('&Свернуть ветвь:',KEYCODE),%ContractKeyCode,DEFAULT('MinusKey')
#ENDBOXED
#PROMPT('Курсор "Часы" на время раз/свертки уровня',CHECK),%WaitCursorExpandContractLevel,AT(10)
#ENDBOXED
#ENDTAB
#ENDSHEET
#ENDBUTTON
пзц побаловался :)
классы на ошибки тоже проверяет - только в путь. Подбивает кинуть родные от TS. Имею привычку сравнивать изменения у них в версиях, так видно в их шаблонах хватает исправлений ошибок
-
- ✯ Ветеран ✯
- Сообщения: 5157
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
пзц побаловался :)
Вы просили, я выкладывал - https://forum.clarionlife.net/viewtopic ... 699#p51699.gopstop2007 писал(а): 30 Январь 2025, 16:44 Может ИИ подскажет для шаблона SingleFileTree, как сделать, чтобы можно было использовать несколько SingleFileTree в одном module )
А вообще в этом шаблоне куча ошибок. Кому интересно можете посмотреть мои помеченные правки. А ещё куча непомеченных, раньше этого не делал.
ИИ только языком чесать может. Пока никакой пользы.
We are hard at work… for you. 

пзц побаловался :)
а если не чесать языком, то можно указать конкретно где ии не прав? и очень желательно для шаблона легаси
-
- Полимат
- Сообщения: 1810
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 24 раза
- Поблагодарили: 10 раз
пзц побаловался :)
Спасибо, давно пользуюсь ) Просто было интересно как ИИ отреагируетkreator писал(а): 30 Январь 2025, 22:48Вы просили, я выкладывал - https://forum.clarionlife.net/viewtopic ... 699#p51699.gopstop2007 писал(а): 30 Январь 2025, 16:44 Может ИИ подскажет для шаблона SingleFileTree, как сделать, чтобы можно было использовать несколько SingleFileTree в одном module )
А вообще в этом шаблоне куча ошибок. Кому интересно можете посмотреть мои помеченные правки. А ещё куча непомеченных, раньше этого не делал.
ИИ только языком чесать может. Пока никакой пользы.

“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп