Вверх ↑
Этот топик читают: Гость
Ответов: 35
Рейтинг: 0
#1: 2022-02-19 11:55:53 ЛС | профиль | цитата
Всем доброго времени суток, извините за такой вопрос,

подскажите пожалуйста где можно найти хорошие уроки по delphi,
или всё таки куда нибудь ити учиться в учебные заведения?

я искал информации очень много и не вся полная или корректная а в некоторых видео уроках вообще воды очень много и за 1 час всё что расскажет это только что написать в код действия onclick задать текст в label.

и в чём проще писать компоненты в самой среде разработки delphi ?
или c помощью обычного Notepad++?

PS:в школе мне не повезло мы не изучали не каких языков программирования, даже банальный pascal, который вроде как почти родственник для delphi
карма: 0

0
Ответов: 2059
Рейтинг: 132
#2: 2022-02-19 13:40:30 ЛС | профиль | цитата
prostov, для того чтобы в Hiasm ваять?
Надо изучать живые языки.
карма: 6

0
Ответов: 315
Рейтинг: 26
#3: 2022-02-19 13:55:43 ЛС | профиль | цитата
Учи питон, c# или c++.
Читай книги, смотри уроки.
карма: 2
0
Ответов: 35
Рейтинг: 0
#4: 2022-02-19 15:07:25 ЛС | профиль | цитата
envoy_sky писал(а):
Учи питон, c# или c++.
Читай книги, смотри уроки.

но ведь все компоненты на Hiasm написаны на delphi
С# и C++ в них не используется.
карма: 0

0
Ответов: 5227
Рейтинг: 587
#5: 2022-02-19 15:19:39 ЛС | профиль | цитата
flint2, envoy_sky, советчики из Вас
prostov, если целью является написание компонентов в пакет Delphi то
prostov писал(а):
и в чём проще писать компоненты в самой среде разработки delphi ?
или c помощью обычного Notepad++?

Предлагаю RullNote, пользуюсь им с незапамятных времён, очень удобен из за уникальной системы поиска и замены которой в других редакторах не встречал. Именно это в основном сокращает время разработки.

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
1
Голосовали:prostov
Ответов: 2267
Рейтинг: 676
#6: 2022-02-19 15:34:05 ЛС | профиль | цитата
prostov, учи тот язык который тебе сейчас в данный момент времени будет нужен. Потом перейти на другой особого труда не составит.
prostov писал(а):
в некоторых видео уроках
Обходи стороной эти видео уроки, большинство из них как уже заметил, вода и лишняя трата времени.
prostov писал(а):
хорошие уроки по delphi
В HiAsm не совсем delphi в компонентах, так что код нужно "подгонять".
prostov писал(а):
в чём проще писать компоненты в самой среде разработки delphi ?
В самом Hiasm и писать. Ctrl+F и вноси изменения, Ctrl+S (сохранил) и тестировать. Быстро и удобно.
Могу посоветовать следующие действия по написанию компонентов:
1. Взять элемент DoData, скопировать в отдельную папку из папок Hiasm его pas, ini и ico. Искать в папках \Elements\delphi\code, \Elements\delphi\conf и \Elements\delphi\icon.
2. Переименовать файл DoData.ico в MyTest.ico, DoData.ini в MyTest.ini, hiDoData.pas в hiMyTest.pas.
3. Иконку MyTest.ico заменить на свою тогоже размера или нарисовать в пайнте на ней что-нибудь чтоб в дальнейшем не путаться.
4. Открыть hiMyTest.pas блокнотом (или любым текстовым редактором) и внести изменения
Заменить
unit hiDoData;
на
unit hiMyTest;
заменить в двух строках
THIDoData
на
THIMyTest
5. Перетащить курсором мыши файл MyTest.ini на рабочее поле HiAsm. В окне выбрать любую вкладку. Перезапустить HiAsm. Ваш тестовый элемент готов!
6. Установить элемент MyTest на рабочее поле Hiasm. Выделить элемент и нажать Ctrl+F откроется вкладка с кодом элемента. Выделить элемент и нажать Ctrl+G откроется вкладка редактора ini файла элемента. В строке Author= замените на своё.
7. Можно преступать к тестированию. Если изменили строки в коде (pas файле), достаточно сохранить (Ctrl+S), а если в ini файле, то лучше перезапустить HiAsm.
8. В коде добавьте строку в процедуру
procedure THIMyTest._work_doData;
сразу после begin следующие строки:
    _debug(_Data);
_debug('Test');
Сохраните.
Приделайте кнопку к элементу и увидите два сообщения, одно отобразит данные поступившие в элемент (Null), второе выведет сообщение Теst. _debug поможет в тестировании в дальнейшем.
9. Если в коде будут ошибки, то при после запуска программы в окне отладка будут указаны в какой строке и какие.
10. Возле своего элемента помещаете интересный вам элемент (похожий по функционалу будущего вашего), нажимаете Ctr+F и из его кода тянете себе все что вам нужно, дополняя своим.
Удачи в экспериментах и обучении. Будут вопросы, задавайте.

По поводу книг, то как минимум эту желательно иметь под рукой: Владимир Кладов KOL - - объектная библиотека для программирования
на языке Паскаль для среды MS Windows.

Редактировалось 2 раз(а), последний 2022-02-19 15:38:11
карма: 11

1
Голосовали:prostov
Ответов: 5227
Рейтинг: 587
#7: 2022-02-19 15:47:02 ЛС | профиль | цитата
Эх была мысля написать полный ликбез по портированию компонентов из VCL delphi в HiAsm но так и повесилась в облаках
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 2267
Рейтинг: 676
#8: 2022-02-19 15:55:07 ЛС | профиль | цитата
prostov, какие элементы планируете делать, если не секрет? Или если точнее к чему есть интерес (интерфейсные, графические, работа с базами, работа с файлами).
карма: 11

0
Ответов: 35
Рейтинг: 0
#9: 2022-02-19 16:33:26 ЛС | профиль | цитата
sla8a писал(а):
prostov, какие элементы планируете делать, если не секрет? Или если точнее к чему есть интерес (интерфейсные, графические, работа с базами, работа с файлами).

я бы хотел сделать некоторые компоненты для обработки данных из php и html страниц сайта (парсинг данных) это можно сделать и теми компонентами что есть в самом hiasm но проблема в том что схема получается очень большой,
и хотел бы улучшить компоненты для работы с базами данных mysql проблема этих компонентов в том что после подключения к базе данных через секунд 20 он дезоавторизуеться и не может получать данные нужно заново проходить авторизацию, но доделывать этот компонент некто не хочет почему то.
в хиасме есть ещё проблема с компонентом таймером, что с ним не так я не знаю но иногда иза него некоторые части программы которые не связанны с этим таймером начинают давать всевозможные сбои от банальной не передачи дальнейшего действия дальше или простым зависанием самого таймера что приводит к вылету программы.
а независимый таймер это вообще отдельная история с ним больше проблем чем с обычным таймером

есть некоторые задачи для которых проще будет написать компонент чем делать из 45 блоков разной логики

нащёт графических да для чата я хочу написать панель в которую можно будет выводить аватар, ник, и сообщение пользователя
я как-то встречал пример чата кто-то выкладывал там было такое реализовано но скомпилировать проект не смог так как компонентов таких найти не смог там был скомпилированный этот проект его я посмотрел он то что нужно но такой компонента нет в свободном доступе, или автор забыл выложить, да и есть такие прям проекты которые с использованием скрипта delphi
даже вот пример с ножницами прям мене очень понравился его написал andrestudio , там всё основное делается скриптом на delphi.
порой ингода покопавшись здесь на форуме можного очень много интересных проэктов найти в которых один лиш скрипт delphi делает 1 всё за несколько десятков логических блоков
карма: 0

0
Ответов: 2267
Рейтинг: 676
#10: 2022-02-19 17:04:26 ЛС | профиль | цитата
prostov писал(а):
я бы хотел сделать некоторые компоненты для обработки данных из php и html страниц сайта (парсинг данных)
С этого и проще начать. В созданный MyTest элемент вставляете из элементов из вкладки Строки нужные участки кода и пробуйте. Начните с самых простых, к примеру Length (Возвращает длину строки) и потихоньку разберетесь.
prostov писал(а):
хочу написать панель в которую можно будет выводить аватар, ник, и сообщение пользователя
Тоже ничего сложного, хоть и начинать с него думаю не нужно. Всего то начать, разобраться и сделать. Начинайте с элемента CtrlPalette (Палитра ссылок) вкладка Интерфейс. Этот элемент хоть и расположен в интерфейсных элементах, но приемный). Если его посмотреть в редакторе форм, то можно увидеть что это обычное изображение (будет написано Image). Таковым он и является, обычная картинка на которой нарисован интерфейсный элемент. Сделать из него такую же копию как описал выше и в процедуре
 procedure THICtrlPalette._OnPaint;
начать изменять отрисовку под свои нужны. Такие же и элементы из вкладки Интерфейс\Графические.
Делал вот такой элемент: PaletteBox палитра элементов может что и в нем найдется полезное.
Очень поможет книга: Delphi Графика в проектах Дмимтрий Осипов.
prostov писал(а):
улучшить компоненты для работы с базами данных mysql
Вот тут особо не помогу, но на форуме хватает пользователей которые в этом разбираются и при правильно поставленном вопросе помогут.

В справке есть информация которая пригодится: HiAsm\Пакеты\Windows\Статьи\Код компонента
Так же в справке есть помощь по InLine, там много полезной информации для понимания что означают строки в коде элемента (pas файл).
Расположена в: Тут пишем что хотим\InLine (автор: Roma)
Это желательно прочитать!

Редактировалось 4 раз(а), последний 2022-02-19 17:26:51
карма: 11

0
Ответов: 5227
Рейтинг: 587
#11: 2022-02-19 17:31:59 ЛС | профиль | цитата
prostov писал(а):
нащёт графических да для чата я хочу написать панель в которую можно будет выводить аватар, ник, и сообщение пользователя
я как-то встречал пример чата кто-то выкладывал там было такое реализовано но скомпилировать проект не смог так как компонентов таких найти не смог там был скомпилированный этот проект его я посмотрел он то что нужно но такой компонента нет в свободном доступе, или автор забыл выложить,

Я не забыл, а не выкладываю попросту. Для Delphi в свободном доступе ничего нет (кто найдёт дайте ссылку как доказательство)
Вот что удалось найти то и стало отправной точкой
https://stackoverflow.com/questions/7779808/delphi-custom-drawing-a-message-list
которая дала стартовую версию этого контрола https://forum.hiasm.com/getfile/39399
После чего всё нах.. было переписано на GDI+
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1ChatControl.zip [4.1KB] [348]
Ответов: 2267
Рейтинг: 676
#12: 2022-02-19 17:57:53 ЛС | профиль | цитата
andrestudio, так такое можно спокойно на стандартных элементах собрать или там какой-то подвох есть?
карма: 11

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#13: 2022-02-19 18:17:45 ЛС | профиль | цитата
prostov писал(а):
один лиш скрипт delphi делает 1 всё за несколько десятков логических блоков

С таким подходом, КМК, HiAsm категорически противопоказан, надо сразу переходить на кодирование. HiAsm изначально разрабатывался именно для того, чтобы из блоков клепать программы, а не писать их в коде. В коде писали только то, что не было реализовано в компонентах под конкретные задачи. Никто не будет спорить с тем, что код на ЯВУ, естественно, будет занимать меньше места и в коде, и в компонентах, но тогда начисто теряется принцип визуального программирования.
andrestudio, видишь, это то, про что я раньше говорил. Все пытаются найти самое простое решение, а не пытаться изучить HiAsm, а самое простое, в данном случае, иметь готовый контрол под свою задачу (я опущу момент про то кем он создан, да пусть даже самим собой). Хотя, в HiAsm уже и сейчас можно клепать весьма неплохие вещи, если только очень захотеть.
карма: 22

0
Ответов: 5227
Рейтинг: 587
#14: 2022-02-19 19:07:30 ЛС | профиль | цитата
sla8a писал(а):
andrestudio, так такое можно спокойно на стандартных элементах собрать или там какой-то подвох есть?

Рисовать кубиками извольте сами, мне уже так не шизанутся

если речь конечно про этот контрол https://forum.hiasm.com/getfile/39400
ChatControl v2

nesco, Delphi из коробки делает просто удивительные вещи, однако не смотря на это для этой среды написано миллионы компонентов.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#15: 2022-02-19 19:25:26 ЛС | профиль | цитата
andrestudio писал(а):
Delphi из коробки делает просто удивительные вещи, однако не смотря на это для этой среды написано миллионы компонентов.

Да я как-то с этим и не спорю.
andrestudio писал(а):
Рисовать кубиками извольте сами, мне уже так не шизанутся

И в чем там шиза? Ничего там сильно сложного и невозможного нет. Все это можно сделать, если очень захотеть. Просто, ты давно уже отошел от HiAsm-a, тебе проще написать в коде. А мне вот не нравится писать в коде, могу, но не нравится. Не видно там наглядно, что с чем связано. Видишь, у нас разные подходы. Не исключено, что я просто HiAsm-овский фрик.
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)