Фор с ником Hormold предложил идею по созданию пакета SDK для Delphi, сам он не смог создать тему, ибо набрал нужное кол-во постов. Идея мне понравилась, но времени, как обычно, реализовать нету, а он один не справится, вобщем нужна помощь Зачем это нужно? Для того чтобы писать плагины для SA-MP на Delphi, ибо во многих школах преподают именно Delphi/Pascal, а не С++
DarkByte, Сразу скажу что идея утопична. Т.к. не кто не сможет сделать SDK лучше чем сами создатели SAMP'a (а они кроме Хелоу Ворда нечего в плагин src не включили ) . Они и все тонкости знают, а если и делать Plugin SDK то вы не найдете Linux программера который в этой теме шарит (а ведь больше нужна Linux версия, т.к. большенство серверов оборудовано под нее). Ну и потом нового нечего кроме команды Print как всегда не реализуете.
Quote (Hormold)
С++
не прав ты. Думаеш если перенесут на другой язык, что то яснее станет? За столько времени, что прошло от выхода официального SDK можно было наглядно освоить и Си..к тому же Си универсальней и лучше (имхо ). И не какой новый пакет для девелоперов не поможет. Если бы хотел - давно бы уже освоил новый язык.
Quote (Hormold)
ибо во многих школах преподают именно Delphi/Pascal
Гм...да, сейчас изучаем Delphi...хотя до универа изучал C++, правдо Borland. Но разницы ощутимой нет.
Это все имхо, неверю, что кому-то это нужно, наверное нечего не получится.
DarkByte, Сразу скажу что идея утопична. Т.к. не кто не сможет сделать SDK лучше чем сами создатели SAMP'a (а они кроме Хелоу Ворда нечего в плагин src не включили ) . Они и все тонкости знают, а если и делать Plugin SDK то вы не найдете Linux программера который в этой теме шарит (а ведь больше нужна Linux версия, т.к. большенство серверов оборудовано под нее). Ну и потом нового нечего кроме команды Print как всегда не реализуете.
Сразу скажу что ты не знаешь что такое SDK. Так же ты не понимамешь смысла программы "Hello World". Да и про делфи под никсы ты наверное не знаешь. Разработчики SDK для SA-MP включили в него все доступные возможности, просто ты, видимо, об этом тоже не знал
Quote (NC22)
не прав ты. Думаеш если перенесут на другой язык, что то яснее станет? За столько времени, что прошло от выхода официального SDK можно было наглядно освоить и Си..к тому же Си универсальней и лучше (имхо ). И не какой новый пакет для девелоперов не поможет. Если бы хотел - давно бы уже освоил новый язык.
Си ничем не лучше делфи, всё зависит только от программиста и если у него кривые руки, то ему и си не поможет написать программу граммотно. SDK для Delphi планировалось для тех, кто умеет писать в делфи, но не умеет в си, а не для того чтобы нубам было понятнее что либо.
DarkByte, Delphi слишком уж логичный язык. Через него нельзя замутить хоть как старайся , то что делают люди на C++. Да и понятие SDK я знаю, просто в отличии от других программ или модов, здесь скудно мало примеров. Будь их больше, изучать новый язык и не понадобилось бы. Да и новый СДК в топку..т.к. если переносить, то нужно как МИНИМУМ разбираться очень хорошо в обоих средах разработки. П.С.Где хоть 3 нормальных плагина можно скачать? Незнаешь? Вывод напрашивается сам.
Добавлено (17.09.2008, 08:57) --------------------------------------------- DarkByte, Кстати зачем тебе это нужно? Ты ведь знаеш C++ О______о . Т.к. ты же доработал SAMPовский клиент и сделал там какую-то свою версию, что то там исправляющую и тд. Краденые исходники, которые я видел, как раз таки на C++ и написаны, а дорабатывал ты именно их.
DarkByte, Delphi слишком уж логичный язык. Через него нельзя замутить хоть как старайся , то что делают люди на C++. Да и понятие SDK я знаю, просто в отличии от других программ или модов, здесь скудно мало примеров. Будь их больше, изучать новый язык и не понадобилось бы. Да и новый СДК в топку..т.к. если переносить, то нужно как МИНИМУМ разбираться очень хорошо в обоих средах разработки. П.С.Где хоть 3 нормальных плагина можно скачать? Незнаешь? Вывод напрашивается сам.
DarkByte, Кстати зачем тебе это нужно? Ты ведь знаеш C++ О______о . Т.к. ты же доработал SAMPовский клиент и сделал там какую-то свою версию, что то там исправляющую и тд. Краденые исходники, которые я видел, как раз таки на C++ и написаны, а дорабатывал ты именно их.
А C++ не логичный? Непонял смысл фразы про логичность языка. Всё что делают на си можно сделать в делфи и наоборот. Зачем нужны примеры? SDK только лишь создаёт связку между SA-MPом и средой разработки, можно работать с сампом и без SDK, но это будет сложнее, но только потому что прийдётся писать требуемые фукнции из SDK вручную (или копировать их от туда). Плагины можно скачать с моего форума: http://world-of-gta.ru/forum/index.php?board=21.0 там есть плагин для работы с mysql и с директориями, есть и другие плагины, как будет время, выложу.
Хотя я и знаю си, но предпочитаю писать на делфи, он быстрее компилирует и стабильнее работают программы на нём написанные. Невидел я в краденных кода исходника клиента сампа. И открою тебе страшную тайну, клиент сампа написан на делфи, как мой, так и официальный но сам самп написан на си. А свой клиент я делал с нуля, не считая интерфейса
Гм...ну взять хотябы работами со ссылками на переменные * О_о Как в делфи можно замутить обращение к одной и той же переменной сразу же как к числу , так и к тексту и т.д., без всяких там конвертаций типа переменной, просто задавая тип переменной в ссылке? Это очень удобно, ненужно создавать новых переменных, конвертировать чего то, а сразу на прямую, просто нужно быть уверенным что там будет то что ты хочешь, иначе ошибок не миновать Хз такая фичя есть в MVS но в Builder пользуюсь постоянно )))))) Если не понял...то жаль.
Quote (DarkByte)
Зачем нужны примеры? SDK только лишь создаёт связку между SA-MPом и средой разработки, можно работать с сампом и без SDK, но это будет сложнее, но только потому что прийдётся писать требуемые фукнции из SDK вручную (или копировать их от туда).
Ну знаеш ли, используя все ф-ции сампа написаные самим с нуля не очень уж весело. По крайней мере тебе придется чуть ли не пересоздать весь код сампа заново, правдо после таких махинаций легче будет просто свой МР создать да и все. Допустим я хочю создать плагин подключения нескольких игроков к серверу(чтото вроде бота) , Но я хз функции, хз hook, где находится все это в игре, как повторить то что закодено в самом САМПЕ для подключения игрока. Можно писать что то свое, но это будет что то левое, не относящееся к САМПу напрямую, например MySQL это отдельный модуль, связь с игрой и игровым процессом он имеет поверхностную...по крайней мере не каких новых возможностей в игровой процесс он не вносит. Все плагины такие-же "левые", кроме одного SBot Alpha 0.1.0, но понятное дело что без плагиата он обойтись не смог ибо исходно было дано мало и автора обвинили якобы в краже кода. Повторить такое самому и с нуля невозможно. Автор же даже не предоставил исходники, будь он чист на руку то обязательно показал бы хотябы часть кода, доказав тем самым что скрывать ему нечего... Ну да ладно...отошел малость от темы, сори.
Ну я уже об этом говорил . Там не чего особенного кроме Сбота и МайСКЛ не выложено.
Quote (DarkByte)
Невидел я в краденных кода исходника клиента сампа.
Ты хочешь сказать что ты нашел только СЕРВЕР? А я наоборот только клиент и видел. Меняемся ?)
Quote (DarkByte)
А свой клиент я делал с нуля, не считая интерфейса
интересненько. Если бы ты писал его с нуля , тогда бы тебе понадобилась и серверная часть и клиентская, чтобы разобраться в коде и знать что и как из информации передевать (клиент\сервер)
Гм...ну взять хотябы работами со ссылками на переменные * О_о Как в делфи можно замутить обращение к одной и той же переменной сразу же как к числу , так и к тексту и т.д., без всяких там конвертаций типа переменной, просто задавая тип переменной в ссылке? Это очень удобно, ненужно создавать новых переменных, конвертировать чего то, а сразу на прямую, просто нужно быть уверенным что там будет то что ты хочешь, иначе ошибок не миновать Хз такая фичя есть в MVS но в Builder пользуюсь постоянно )))))) Если не понял...то жаль.
Зачем при конвертации создавать новые переменные? В делфи есть указатель, про ссылки не знаю, да и невидел в си подобного автоматического переобразования типов, хотя в обоих языках есть тип Variant, который может принимать значение любого типа. А так же в делфи, так же как и в си, можно преобразовать данные на лету, при помощи простой операции: Delphi: var2 := new_type(var1); C++: var2 = (new_type)(var1); Или если известно из какого в какой тип нужно преобразовать, то просто: var2 := Type1ToType2(var1);, например var2 := IntToStr(var1); и никаких лишних переменных
Quote (NC22)
Ну знаеш ли, используя все ф-ции сампа написаные самим с нуля не очень уж весело. По крайней мере тебе придется чуть ли не пересоздать весь код сампа заново, правдо после таких махинаций легче будет просто свой МР создать да и все. Допустим я хочю создать плагин подключения нескольких игроков к серверу(чтото вроде бота) , Но я хз функции, хз hook, где находится все это в игре, как повторить то что закодено в самом САМПЕ для подключения игрока. Можно писать что то свое, но это будет что то левое, не относящееся к САМПу напрямую, например MySQL это отдельный модуль, связь с игрой и игровым процессом он имеет поверхностную...по крайней мере не каких новых возможностей в игровой процесс он не вносит. Все плагины такие-же "левые", кроме одного SBot Alpha 0.1.0, но понятное дело что без плагиата он обойтись не смог ибо исходно было дано мало и автора обвинили якобы в краже кода. Повторить такое самому и с нуля невозможно. Автор же даже не предоставил исходники, будь он чист на руку то обязательно показал бы хотябы часть кода, доказав тем самым что скрывать ему нечего... Ну да ладно...отошел малость от темы, сори.
Плагин MySQL очень полезный и нужный игровому серверу, т.к. большенство сайтов используют mysql базы данных, а это значит можно будет быстро и без лишних хлопот (с файлами) сделать статистику для сервера, либо регистрацию через веб.
Quote (NC22)
Ты хочешь сказать что ты нашел только СЕРВЕР? А я наоборот только клиент и видел. Меняемся ?)
У тебя только исходники samp.dll есть, а исходники браузера серверов, который samp.exe никто не выкладывал.
Quote (NC22)
интересненько. Если бы ты писал его с нуля , тогда бы тебе понадобилась и серверная часть и клиентская, чтобы разобраться в коде и знать что и как из информации передевать (клиент\сервер)
я переписал только браузер серверов, а перехватить и изучить сетевой трафик приложений не так то сложно.
Зачем при конвертации создавать новые переменные? В делфи есть указатель, про ссылки не знаю, да и невидел в си подобного автоматического переобразования типов, хотя в обоих языках есть тип Variant, который может принимать значение любого типа. А так же в делфи, так же как и в си, можно преобразовать данные на лету, при помощи простой операции: Delphi: var2 := new_type(var1); C++: var2 = (new_type)(var1); Или если известно из какого в какой тип нужно преобразовать, то просто: var2 := Type1ToType2(var1);, например var2 := IntToStr(var1); и никаких лишних переменных
Ладно, претензий нет, мнение человека нельзя изменить некаким образом. Возможно в будущем я открою для себя еще что то новое по Delphi...
Quote (DarkByte)
Идея мне понравилась, но времени, как обычно, реализовать нету, а он один не справится, вобщем нужна помощь
Кстати, неужели во время рабочего процесса, или свободного времени, нельзя выкроить час-полтора на любимое дело? Если мне действительно есть смысл делать что либо и мне это интересно, я обязательно нахожу время и делаю это. Другой вопрос интересно ли, лень/влом и тд.
Quote (DarkByte)
У тебя только исходники samp.dll есть, а исходники браузера серверов, который samp.exe никто не выкладывал.
а ну, да, я на них не очень обращал внимание. Теперь понятное дело тебе прешлось переписать саму оболочку программы.
Quote (DarkByte)
я переписал только браузер серверов, а перехватить и изучить сетевой трафик приложений не так то сложно.
Ясно. Этим никогда не занимался, но что-то читал в интернете. Если есть, то можеш теорию почитать дать? Так уже забыл все почти из того что прочитал.
Кстати, неужели во время рабочего процесса, или свободного времени, нельзя выкроить час-полтора на любимое дело? Если мне действительно есть смысл делать что либо и мне это интересно, я обязательно нахожу время и делаю это. Другой вопрос интересно ли, лень/влом и тд.
Нет, т.к. вместе с работой ещё и учёба, а пока у меня проблемы с учёбой, я времени на самп стараюсь не уделять.
darkbyte ты упал ? Уржался , ты сможеш написать на делфи ось,к примеру win 3.1 на C++ . Угу ты еще скажи что Crysis можно написал на Delphi это игруха на C++ , если ты незнаеш о C++ то нафиг сравнивать Delphi с ним . Delphi под игом RAD Studio а тоесть среда быстрой разработки приложений . Это просто глупо сравнивать их На C++ написаны Эмуляторы Приставок, Мощные Видео Редакторы , ОСИ .... На делфи это написать невозможно. Добавлено (17.09.2008, 17:24) --------------------------------------------- Вот к примеру инфа что мона на C++ а на делфи нельзя 1) Кросс-платформенные приложения 2) Приложения для не-windows (и для windows, но не 9x/nt, а, например, ce) 3) Использовать удобные фреймворки (например, qt, gtk) (в delphi это чисто теоретически возможно) 4) Программы, которые должны взаимодействовать с другими (все-таки, API/ABI практически всех операционных основывается на C или C++) 5) Драйвера 6) Операционные системы 7) многое другое
Причём тут ось, игры и другие программы? Чего начали сравнивать 2 разных языка? Про си речи вобще небыло. Посмотри сюда http://delphi.wikia.com/wiki...._Delphi может увидишь знакомые оч полезные проги На делфи возможно написать тоже самое что и на си, и оно будет работать быстрее и стабильнее, при условии прямоты рук кодера.
1) Погугли, делается очень просто. 2) Это не то же самое что и п.1? 3) Trolltech Qt - кросс-платформенный инструментарий разработки ПО на языке программирования C++. Причём тут делфи? Под него можно найти свои решения. 4) Непонял вопроса. А как мой клиент сампа, написанный на делфи, взаимодействует с оригинальным сампом и гташкой, которые написаны на си? 5) И ещё раз гугли, можно. 6) Не пытался писать, не знаю 7) ...
Quote (Hormold)
На Delphi не пишут игры(Ну только если простые или mmorpg). Delphi язык SDK и основном программ.
А вот и зря что не пишут, был бы самп на делфи, небыло бы крешей клиента (и сервера), которые Access violation, как и все игры, написанные на си, ими страдают. Да и вобще, делфи учить проще чем си, а си учить после делфи проще, чем учить си с нуля. А те, кто говорит что делфи создаёт больше по размеру прилоежния, что нельзя написать на делфи приложение весом меньше 10кб, как на си, бред полнейший тех, кто кодил только в си, а про делфи только слышал. на делфи реально написать приложение в размером около 300байт.
Может знаешь редактор карт для GTA, MooMapper, написан на делфи, работает довольно быстро, даже быстрее самой гташки и при этом не грузить систему вобще никак
Добавлено (17.09.2008, 21:41) --------------------------------------------- Так как абсолютно согласен с мнениями, которые приведу ниже, поэтому выкладываю их:
Quote
Какая почтовая программа лучше: MS OutLook - написан на C++ или The Bat - написан на Delphi? Тот кто пробывал и ту и ту, скорее скажет что The Bat. Это так к вопросу о "делитанстве" дельфистов. Теперь к размеру экзешника. У Delphi он меньше чем у Visual C++. Да, да. Если откомпилировать оконный Delphi-проект с использованием run-time пакетов, то экзешник будет 10-15 Kб(в простейшем случае). Но для того чтобы программа заработала на любом компьютере, необходимо чтобы run-time(vcl**.bpl) библиотеки были установлены на компьютере. Поэтому приходится копмилировать статически, в отличии от пользователей VC++, которые пользуются, тем что MicroSoft, как монополист включает свою run-time библиотеку в состав Windows. Для VC++ размер экзешника слинкованого статически тоже огромен - сотни кБ(хотя в наш век это уже не так важно) . Так что маленький экзэшник это не достойство C++, а приимущество монополиста Билла.
Quote
народ скажу 3 слова: ВСЕ ГЕНИАЛЬНОЕ ПРОСТО... С++ хорошо, Дельфи лучше...
Quote
Дельфи 1-3-5-7 рулез, но 8 версия это Г, это Г с большой буквы. Точнее даже не 8, это версия 7.1, так называемая Delphi for .NET. Вообще .net - редкостное барахло. Это же надо - придумать программнонезависимую платформу, но только для Windows и только NT-based. Дотнет - это выборы по-советски. Напоминает Хрущева ("я сказал здесь будет кукуруза!")
Quote
Ну-ка, господа сишные, скажите мне, сколько нужно поставить DLL'ок для уверенной работы всех средних сишных прог? MSVC60/70.dll, MFCxx.DLL, кроме того MSVCRT.DLL. А, ну как же я забыл, надо же своевременно обновлять винды, чтобы все файлы были сразу. Это есть правило. Вот только 98-е скоро забросят, а 95-е уже. И хоть я юзаю XP, но приятно сознавать, что на тех динозаврах прога тоже будет жить. А Дельфи? Да НИЧЕГО! БД я исключаю, это другая статья. Но подавляющему большинству Дельфи-прог вообще ничего не надо, кроме 95 винды :)
К слову, многие при запуске сампа видели ошибку: "Microsoft Visual Studio Run Time Error", дык вот это сообщение о том, что в системе не обнаружена нужная библиотека, которая требуется для работы приложения, написанного на си. Подумаешь что работает не у всех и не у всех работает стабильно, но зато на 100кб меньше весит, да и вроде работает быстрее...
Quote
А современные сишные проги на 95-х запускать пробовали? Всякие утилсы? Ну и как? Сколько раз ругнулось? Не считали? Или забить нам на 486-е компы, мы лучше напишем сверхтормозную прогу для подсчета числа битов в байте, чтобы работала тока на P IV и выше? Угу. А я свои проги гонял на 486-м и всё запускалось, и довольно шустро без всякой ругани. Я говорю только за D5, позжие версии мне не нравятся, т.к. EXE больше на 40-80 кило, а суть та же. И места жрут тоже больше. D5 - 100 метров.
Quote
Скорость компилятора Object Pascal так и осталось недостижимой для всех инкарнаций C++. Скорость работы выполняемого кода Object Pascal соответствует скорости Borland C++ Builder и незначительно уступает VC++. Это — объективные факты. Теперь о субъективном. Лично я предпочитаю Delphi, поскольку начал с Паскаля. Если бы мне тогда в руки попался не он, а C++, то писал бы сейчас в C++ Builder. После Паскаля C++ показался мне довольно громоздким и запутанным. А вообще, это 2 абсолютно равноценных языка. Все, что может Delphi, может и С++, и наоборот. А самым мощным языком является ассемблер :)
Quote
Вообще говоря, такого языка не существует. Delphi - это среда программирования, основанная на языке Object Pascal, так что я буду писать про него. Чем мне нравится этот язык: Удобством структурирования программ, читабельностью, удобными средствами работы с ООП (классы). Мне кажется что выражения на Паскале ближе к естественному языку чем скажем на Си или Бейсике. Например. Какой текст более читабельный и понятный? Конечно первый - на паскале, а не на C с этими корявыми !=, +=. //Паскаль S:=0; for i:=0 to N do If (i<>3) and (i<>5) then S:=S+i; S=0; //Си for {i=0;i<=N;i++} If (i!=3) && (i!=5) {S+=i}; Я уж не говорю про отсутствие констант Const в C++ (вместо этого #define), оператора With и др. неудобств. А те неудобства паскаля, за которые некоторые считают паскаль отстоем по сравнению с C++, в языке Object Pascal Delphi практически устранены.
Добавлено (17.09.2008, 21:50) --------------------------------------------- А ещё Dev C++ написан на делфи , а по мне, так это едиснственная нормальная среда разработки на С++ и при этом бесплатная. Но чаще приходится использовать билдер, думаю скоро это изменится.
Может знаешь редактор карт для GTA, MooMapper, написан на делфи, работает довольно быстро, даже быстрее самой гташки и при этом не грузить систему вобще никак
Кста. Можешь в личку ссылку на исходники дать? Интересно посмотреть что и как устроено.
Quote
К слову, многие при запуске сампа видели ошибку: "Microsoft Visual Studio Run Time Error", дык вот это сообщение о том, что в системе не обнаружена нужная библиотека, которая требуется для работы приложения, написанного на си. Подумаешь что работает не у всех и не у всех работает стабильно, но зато на 100кб меньше весит, да и вроде работает быстрее...
хыыы лол, нафига надо было убирать одну библиотеку ради этих 100кб, всегда нужно паковать сразу и все. ...ЗЫ ВЫ В КУРСЕ, ЧТО МЫ ОТ ОСНОВНОЙ ТЕМЫ "УЕХАЛИ" ПРОСТО? Давайте если уж так надо обсудить этот вопрос то переедим в другую тему. А Хормолд пусть себе кодит...
NC22, вот ты говориш каму нада тот научицо, мне вот к примеру нах не нужно учить си ради одной только СДК к сампу, игрушки я писать не планирую, а для обычных программулек мне и дельфи норм ;)