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

 



 
          





Рекомендуем:





Последние Файлы 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
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
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
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Многострочный #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
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Если и можно было бы так делать, то легче руками править такое, так как макросы используются для удобства скорее. То есть открываешь код, ищещь что-то уникальное из кода, например, 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
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua