• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » Программы TrinityCore » Launcher: Введение в среду разработки (создаем собственный лаунчер wow)
Launcher: Введение в среду разработки
Acherus
Angel Keeper
Привет всем! Это статья - лишь первая из серии статей, в которых я покажу вам, как создать собственный Launcher.

Для начала определимся со средой разработки. Я использую Delphi 7, с которой мы и начнем работу.


Итак, приступим! Открываем только что (или не только что) установленную Delphi7 и видим примерно следующее:



Как же эта невзрачная форма может превратиться в симпатичный Launcher? Терпение, через некоторое время вам все станет понятно.

Для начала разберемся с интерфейсом:




  • В обозревателе объектов содержатся все объекты (картинки, кнопки и т.д.), размещенные на форме
  • Свойства объекта - панель, в которой показаны все свойства выбранного объекта (по умолчанию - свойства формы)
  • Компоненты - панель, в которой содержатся компоненты, которые могут быть размещены на форме. Компоненты показаны по разделам.
  • Рабочая форма - форма, на которой размещаются компоненты. Основное (по умолчанию) окно приложения.


Также несколько важных моментов:
  • Чтобы перейти к коду элемента, достаточно дважды кликнуть на нем ЛКМ
  • Чтобы запустить проект на выполнение, нажмите на кнопку в левой верхней части экрана. Также, если проект сохранен, при нажатии этой клавиши он автоматически компилируется и появляется как *.exe файл в папке с проектом.
  • Чтобы разместить компонент на форме, достаточно щелкнуть по его иконке ЛКМ, а затем щелкнуть (и если необходимо растянуть его) по форме.

    Чтобы понять, как это работает, сделайте следующее:
    1) Разместите на форме кнопку
    2) Дважды щелкните по ней
    3)
    Вы увидите примерно следующее:
    Code

    procedure TForm1.Button1Click(Sender: TObject);
    begin

    end;


    Попробуйте вставить между 'begin' и 'end' строку:

    Code
    ShowMessage('Hello, world!');


    То есть текст процедуры должен выглядеть так:

    Code

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       ShowMessage('Hello, world!');
    end;

    Запустите программу на выполнение (нажатием кнопки ) и посмотрите, что вышло.
    Информация по процедуре: ShowMessage

    На этом все. Хочу сказать, что очень скоро мы перейдем непосредственно к описанию функций лаунчера.
  • Прикрепления: 3542423.jpg (544.1 Kb) · 1979542.jpg (1.02 Mb) · 6701071.jpg (8.9 Kb)
    Сообщение # 1 отредактировано Acherus - Воскресенье, 16.09.2012, 15:16
    RazArt
    Тазовод
    Статья глупа. Не в том плане что написана глупо или что-то в этом роде, а именно смысл. Для этого есть множество учебников по делфи и тд. (я бы писал вообще на сипп)
    DumpMe v1.0 - система автоматического переноса персонажей

    Вышла в свет первая стабильная версия. Писать в скайп - razart8
    Сообщение # 2 написано 11.09.2012 в 20:12
    Acherus
    Angel Keeper
    RazArt, смысл статьи в том, чтобы подготовить читателя к дальнейшим статьям. Далеко не каждый юзер прочитает книгу по дельфи только для того, чтобы понять статью.
    Сообщение # 3 написано 12.09.2012 в 15:07
    RazArt
    Тазовод
    Acherus, всё равно бред

    Добавлено (19.09.2012, 21:36)
    ---------------------------------------------
    вот не проще ли написать обработчик неких скриптов с настройками лаунчера и создавать лаунчеры изменяя настройки?

    DumpMe v1.0 - система автоматического переноса персонажей

    Вышла в свет первая стабильная версия. Писать в скайп - razart8
    Сообщение # 4 написано 19.09.2012 в 21:36
    Dark_Mefodii
    IT-Consulting by DM©
    А для тех кто в танке под названием "С++" почти аналогично, разница лишь в командах smile
    Сообщение # 5 написано 19.09.2012 в 21:36
    RazArt
    Тазовод
    Dark_Mefodii, это ты мне?
    DumpMe v1.0 - система автоматического переноса персонажей

    Вышла в свет первая стабильная версия. Писать в скайп - razart8
    Сообщение # 6 написано 19.09.2012 в 21:47
    inomerain
    Скаут
    Ох. Как уже надоел этот дельфи, что не программа, то сразу "нарисованная" через пару кликов мыши в конструкторе, чего может быть проще, как кликами разрабатывать программы , мало того, что программы не кроссплатформенны, так ещё и обладают особой примитивностью. Когда же народ поймёт, что существуют такие-же редакторы (Qt Creater), только на более нормальных языках (C,C++), которые позволяют рисовать писать программы не только под одну ось, но и на другие.
    Сообщение # 7 написано 19.09.2012 в 22:59
    Dark_Mefodii
    IT-Consulting by DM©
    RazArt, в частности
    Сообщение # 8 написано 19.09.2012 в 23:01
    Acherus
    Angel Keeper
    inomerain, вот уж фейл. Так говорят только те программисты, которые видели лишь самую поверхность среды Delphi.
    Насчет кроссплатформенности опять же готов поспорить. Существуют такие ветви Delphi, как Kylix, позволяющие писать Unix-поддерживаемые приложения*.
    Сообщение # 9 написано 23.09.2012 в 10:46
    inomerain
    Скаут
    Acherus, Прости, что ?, может, ради интереса продемонстрируешь компиляцию стандартного оконного приложения на платформах *bsd, Unix на самом собственно делфи?, лично я, сколько не искал, так и не нашел ни одного компилятора делфи на linux, что находил - частично-работающие вырезки с интерфейсами от Gtk.
    Да и вижу, смысл моего поста в пользу языков C, c++ так и не дошел)
    Сообщение # 10 написано 26.09.2012 в 16:01
    Acherus
    Angel Keeper
    inomerain, о вкусах бессмысленно спорить. да и к теме это никак не относится. я неплохо знаком с C++, но предпочитаю Delphi. Этого достаточно?
    Сообщение # 11 написано 26.09.2012 в 21:10
    inomerain
    Скаут
    Acherus, конечно же нет. Если знания C++ всё-таки имеются, то ты просто обязан знать, почему именно на нем пишут, более, чем 90% всего софта, я уже не говорю про его кроссплатформенные свойства, а именно - компиляторы имеются, чуть ли не на каждой системе, да и не один, как видно, в выборе он не ограничен, в отличие от делфи. Единственная реализация и столько попыток сделать его и на других системах, к тому-же ещё не удачных), взять к примеру рпеальную ситуацию написания программы под систему Linux с использованием и Mysql библиотеки и встроенных в систему кодеков с взаимодействие с графической средой - так, как всё написано на C,C++, в системе, как и подабает, заранее имеются и библиотеки нужных компонентов и их хидеры, чтобы использовать то, чего нет в стандартном C++, достаточно использовать примерон такую конструкцию -
    #include <gnome-desktop-2.0/libgnome/gnome-desktop-utils.h>
    #include <mysql/mysql.h>
    тут мы, как и говорилось, используем то, что есть в нашей системе, не ограничивая себя ничем, а теперь вопрос -, что может предложить Делфи, кроме, как "наслаждаться тем, что есть"?
    И это далеко не единственный пример, показывающий, на сколько Делфи бесполезный язык, можно приводить десятки аргументов и примеров с использованием сторонних библиотек в C подобных языках.)
    Сообщение # 12 написано 26.09.2012 в 22:29
    Acherus
    Angel Keeper
    inomerain, а на что в дельфи uses? я ежедневно использую компоненты, который по идее в дельфи нет, а порой и сам их пишу. и пока дельфи меня ничем не ограничивала. я не утверждаю, что С++ плохой язык программирования, я лишь уточняю свои предпочтения.
    и с 90% ты сильно загнул, учитывая что более 50% всего сейчас пишется на яве(как ни печально)
    и в дельфи есть вполне нормальные кроссплатформенные решения(Kylix, Lazarus). Сейчас я работаю над одним проектом, серверная часть которого должна подходить как под DOS, так и под UNIX. и эти решения кроссплатформенности меня впоолне устраивают
    Сообщение # 13 написано 26.09.2012 в 22:46
    inomerain
    Скаут
    Acherus, В делфи, без использовании, заранее включенных в компилятор библиотечных ф-ций работы с объектами, виджетами и сетью, ничего нового реализовать просто не возможно, но сам делфи написан, как и полагается - на C++, он же ему и позволяет "работать", но, вот только эти библиотеки, имеется хидеры и т.д, можно подключать только в самом компиляторе, но это не так удобно. Про Lazarus слышал, до сих пор, его сложно назвать реализацией этого языка, ибо во многом, просто не соответствует тому, что есть в официальном, от Borland делфи, имеется ввиду, функционалу, но всё-же, я не считаю Lazarus хорошей средой, ибо он сам зависим от наличие в системе библиотек freepc собственно потому, что и на нем написан=)
    Сообщение # 14 написано 26.09.2012 в 22:58
    Acherus
    Angel Keeper
    inomerain, насколько мне известно, компилятор и сама среда дельфи написаны на дельфи же :O
    и С++ насколько я знаю требует наличие тех или иных библиотек, особенно если работать с ним в .NET
    насчет библиотек ты прав, но при этом есть альтернатива - KOL. Она также как и VCL включается в компиляторе, но не целиком пишется в код при компиляции, а лишь та часть, что реально использована в приложении.
    Сообщение # 15 написано 27.09.2012 в 06:25
    inomerain
    Скаут
    Acherus, компилятор делфи не может написан на делфи, как минимум потому, что его на чем-то надо компилировать, но если он сам является реализацией самого языка делфи, о чем идет речь? Если всё-же хочется узнать подробности, можно на страничке справки с офф сайта, прочитать компоненты и требования запуска и компилятора и среды.
    Верно. требует, ровно самого установленного .NET, так и компонентов компилятора, в случае с .NET - это компоненты студии, в других компиляторах, или при компоновке вместе с зависимыми библиотеками, ничего не требуется. В Моем случае, можно указать флаги компилятору на компиляцию кода с зависимыми библиотеками (-static).Да и сам .NET мне кажется, является производственной фитчей, ибо всё, для чего нужен - обслуживание и работу языков C#. Никогда бы не стал его употреблять в работу с C++.
    Снова, вернемся к тому, от чего и начали, всё то, что переведено выше (библиотеки делфи, VCL) ни что иное, как лишь подключение в глубене кода компилятора зависимых хидеров и либов, в этом случае - #include <windows.h> и других, ибо, как и вся система, так и компилятор - написаны на C и C++. Делпи не умеет жевать синтаксис ни Си ни С++ и для этого и есть "заголовочные реализации" стандартных функций, сам компилятор бы не существовал без таких функций, как создание окна, работа с ним, работой с сетью, файлами и т.д, для этого и необходимо использовать WinApi функции, ибо код X сервера и оконной системы Windows закрыт и без использования стандартов вызова через C++ определенных функций, никакой программы не написать.
    Сообщение # 16 написано 27.09.2012 в 16:23
    Acherus
    Angel Keeper
    inomerain, hands
    но насколько мне известно WinAPI функции включены в дельфи и прекрасно в нем работают. даже я сам создавал окно с кнопкой на чистом WinAPI(весило около 2кб)
    Сообщение # 17 написано 27.09.2012 в 17:02
    inomerain
    Скаут
    Acherus, на сколько мне известное, WinApi реализация в C подобных языках таких функций, как создания окон и других), именно на C а не других языках, потому-что, вся венда написана на C с элементами плюсов.) смысл моего поста так и не дошел), я писал, что без использования WinApi в коде компилятора, да и среды в делфи, никакого интерфейса, а тем более и функций не наблюдалось бы), а сам компилятор ими активно пользуется, когда создается окно программы.
    Сообщение # 18 написано 27.09.2012 в 17:12
    Acherus
    Angel Keeper
    inomerain, hands
    но насколько мне известно WinAPI функции включены в дельфи и прекрасно в нем работают. даже я сам создавал окно с кнопкой на чистом WinAPI(весило около 2кб)
    Сообщение # 19 написано 27.09.2012 в 17:16
    inomerain
    Скаут
    Acherus, Ничего не включены, ты так и не поймешь меня, пока сам во всем не разберешься, то, что ты называешь "Delphi" является лишь синтаксисом, всё остальное - вызов через компилятор самих собственно winApi функций, а в самой реализации синтаксиса, все эти сточки, вида MsgBox('test', 'test'); , заменяются через define стандартными сообщениями, вида MessageBox(NULL, "test","test", 0);
    Сообщение # 20 написано 27.09.2012 в 17:24
    Acherus
    Angel Keeper
    inomerain, все языки программирования - лишь синтаксис biggrin
    все так и так переводится в Asm и 2ичный код. :/
    Сообщение # 21 написано 27.09.2012 в 17:39
    Acherus
    Angel Keeper
    inomerain, добавляйтесь в скайп smile буду рад
    Сообщение # 22 написано 28.09.2012 в 15:31
    Killmen
    Сержант
    RazArt, я с тобой полностью согласен. Действительно бред...
    Сообщение # 23 написано 18.02.2013 в 17:21
    Acherus
    Angel Keeper
    может быть и так. просто было время, когда я загорелся идеей показать людям "подноготную" программ (непосвященным людям). Хотел написать серию статей, но забросил работу в самом ее начале, ибо понял, что это не так уж и нужно, да и просто стало лень
    Сообщение # 24 написано 28.02.2013 в 19:14
    SLA
    Капрал
    Цитата inomerain ()
    Acherus, компилятор делфи не может написан на делфи, как минимум потому, что его на чем-то надо компилировать, но если он сам является реализацией самого языка делфи, о чем идет речь? Если всё-же хочется узнать подробности, можно на страничке справки с офф сайта, прочитать компоненты и требования запуска и компилятора и среды.
    Верно. требует, ровно самого установленного .NET, так и компонентов компилятора, в случае с .NET - это компоненты студии, в других компиляторах, или при компоновке вместе с зависимыми библиотеками, ничего не требуется. В Моем случае, можно указать флаги компилятору на компиляцию кода с зависимыми библиотеками (-static).Да и сам .NET мне кажется, является производственной фитчей, ибо всё, для чего нужен - обслуживание и работу языков C#. Никогда бы не стал его употреблять в работу с C++.
    Снова, вернемся к тому, от чего и начали, всё то, что переведено выше (библиотеки делфи, VCL) ни что иное, как лишь подключение в глубене кода компилятора зависимых хидеров и либов, в этом случае - #include <windows.h> и других, ибо, как и вся система, так и компилятор - написаны на C и C++. Делпи не умеет жевать синтаксис ни Си ни С++ и для этого и есть "заголовочные реализации" стандартных функций, сам компилятор бы не существовал без таких функций, как создание окна, работа с ним, работой с сетью, файлами и т.д, для этого и необходимо использовать WinApi функции, ибо код X сервера и оконной системы Windows закрыт и без использования стандартов вызова через C++ определенных функций, никакой программы не написать.


    Ну только ты считаешь что на С++ 90% сидит, во первых в Америке и т.д. появился язык (названия не помню) который проще и лучше С++ (это уже 25%) и он запрещен на территория России ( Весь состав СССР), Китая, Японии, И всем странам Африки.
    И во вторых:
    Адресный язык программирования
    Фортран
    Кобол
    Алгол
    Pascal
    Pascal ABC
    Java
    C
    PureBasic
    C++
    Objective-C
    Smalltalk
    C#
    Delphi
    И это 40-50%

    А еще есть Гении, 0.002% (Один создал сферу под свой язык) живой пример: так сказать анти вирус в дата центре ВК
    Сообщение # 25 отредактировано SLA - Вторник, 05.08.2014, 02:11
    Форум » TrinityCore » Программы TrinityCore » Launcher: Введение в среду разработки (создаем собственный лаунчер wow)
    • Страница 1 из 1
    • 1
    Поиск: