08:51
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
[SA-MP] Hosted Tab (128)
JasonGordon 21.10.2017 10:43
[MAP+FS] Тюрьма (15)
SubjectKalcor 09.10.2017 07:59
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Многострочный #define
Многострочный #define
AirKiteДата: Среда, 29.02.2012, 21:39 | Сообщение # 1
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Собственно сабж, интересует возможность многострочного макроса. Нужна именно замена многострочной строки на что либо.

например код:
Code
new lol;
abrakadabra()
{
         fgaqwe();
}

заменить на:
Code

new lol_lol;
abrakadabra()
{
         LOL();
         fgaqwe();
}



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Четверг, 01.03.2012, 05:59
AirKiteДата: Четверг, 01.03.2012, 18:43 | Сообщение # 2
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Видимо #define не рачитан на это, раз столько просмотров и ни одного ответа. Перед тем как создать тему, естественно гуглил. Отсюда вывод... Но надежда есть, то что я плохо гуглил :D


[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Четверг, 01.03.2012, 18:44
GeryyДата: Пятница, 02.03.2012, 03:33 | Сообщение # 3
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
ответы были, но они удалялись почему-то.


Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
AirKiteДата: Пятница, 02.03.2012, 16:03 | Сообщение # 4
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Где были? Откуда удалились?


[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Пятница, 02.03.2012, 16:03
GeryyДата: Пятница, 02.03.2012, 16:18 | Сообщение # 5
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (AirKite)
Где были? Откуда удалились?

Из этой темы.

Мой пост:

Quote

не очень понятен смысл замены и как тут можно дефайн использовать, дефайн - это же не замена, это просто кусок кода, который инициализирован каким-нибудь именем, для сокращения или для понятности, он же не заменяет ничего, просто вставляет. Не вижу, как можно в этой замене его применить. Т.е. есть #define define123 (далее код) - вставляешь его куда надо, при компиляции на этом месте - вместо define1235 появляется тот код, который выше и все...



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
_Dark_Дата: Пятница, 02.03.2012, 16:40 | Сообщение # 6
Постоялец
Группа: I'm V.I.P.
Сообщений: 379
Награды: 4
Город: Dark://core.dll
Репутация: 169
Замечания: 40%
Статус:
Нет такого вроде.
Если бы в Pawn было что-то вроде eval в PHP, тогда еще можно было бы подумать.

Quote (Geryy)
не очень понятен смысл замены и как тут можно дефайн использовать, дефайн - это же не замена, это просто кусок кода, который инициализирован каким-нибудь именем, для сокращения или для понятности, он же не заменяет ничего, просто вставляет. Не вижу, как можно в этой замене его применить.


Ф-ия define выполняется компилятором. Это значит, что если есть
Code
#define TEST 1

то компилятор вначале пройдется по всему коду и заменит где нужно TEST на 1, а потом скомпилирует скрипт.

Это и
Quote (Geryy)
дефайн - это же не замена

Quote (Geryy)
Т.е. есть #define define123 (далее код) - вставляешь его куда надо, при компиляции на этом месте - вместо define1235 появляется тот код, который выше и все...

Это и есть замена...





Если баги возникают из ниоткуда - ты на правильном пути. (с)


Сообщение отредактировал _Dark_ - Пятница, 02.03.2012, 16:43
AlcoholikДата: Пятница, 02.03.2012, 17:04 | Сообщение # 7
Группа: Администратор
Сообщений: 8287
Награды: 111
Город: Санкт-Петербург
Репутация: 5945
Статус:
Если и можно было бы так делать, то легче руками править такое, так как макросы используются для удобства скорее. То есть открываешь код, ищещь что-то уникальное из кода, например, abrakadabra(), ну и потом меняешь на то, что в буфере
Quote (AirKite)
new lol_lol; abrakadabra() {          LOL();          fgaqwe(); }

Если код большой и много таких мест, придётся потрудиться.



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
GeryyДата: Пятница, 02.03.2012, 17:19 | Сообщение # 8
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Quote (_Dark_)
Это и есть замена...

Это не замена, а просто вставка кода.



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
ImperealistДата: Пятница, 02.03.2012, 17:34 | Сообщение # 9
Уверенный в себе
Группа: Продвинутые
Сообщений: 205
Награды: 10
Город: Санкт-Петербург
Репутация: 518
Замечания: 100%
Статус:
Quote (Geryy)
Это не замена, а просто вставка кода.

подстановка



Soviet Connection - open!


AirKiteДата: Пятница, 02.03.2012, 18:03 | Сообщение # 10
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Geryy, #define это макрос. #define выполняет именно замену кода по шаблону. http://ru.wikipedia.org/wiki/Макрос

Quote (RoACh)
Если и можно было бы так делать, то легче руками править такое, так как макросы используются для удобства скорее.

Не скорее а так и есть. Только для удобства. Другого применения я не вижу.

Quote (RoACh)
То есть открываешь код, ищещь что-то уникальное из кода, например, abrakadabra(), ну и потом меняешь на то, что в буфере

Quote (RoACh)
Если код большой и много таких мест, придётся потрудиться.

Код пока 40~ строк в том месте :D (что бы не путали... не 40к а именно сорок строк) Касательно того что если бы была задача, как ты её понял, то я бы попросту регулярками заменил то что мне нужно, и хоть 250к строк.



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Пятница, 02.03.2012, 18:08
_Dark_Дата: Пятница, 02.03.2012, 20:23 | Сообщение # 11
Постоялец
Группа: I'm V.I.P.
Сообщений: 379
Награды: 4
Город: Dark://core.dll
Репутация: 169
Замечания: 40%
Статус:
Quote (Geryy)
Это не замена, а просто вставка кода.


Code
#define MSG_SEND "Test Message"

SendClientMessage(playerid, -1, MSG_SEND);

->
Code
SendClientMessage(playerid, -1, "Test Message");

Замена.

Code
#define MSG_SEND "Test Message"

SendClientMessage(playerid, -1, MSG_SEND);

->
Code
SendClientMessage(playerid, -1, "Test Message");

Вставка вместо MSG_SEND.

Разница?





Если баги возникают из ниоткуда - ты на правильном пути. (с)


Сообщение отредактировал _Dark_ - Пятница, 02.03.2012, 20:23
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Многострочный #define
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM