Русское сообщество по скриптингу

Своя функция типа format  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Своя функция типа format

Сообщение provaider » 29 апр 2018, 11:32

Подскажите кто знает как сделать свою функцию типа format/formatex с тем же принципом?
Аватара пользователя
provaider
 
Сообщения: 86
Зарегистрирован: 21 дек 2017, 20:17
Забанен
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: Своя функция типа format

Сообщение Subb98 » 29 апр 2018, 11:45

«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Своя функция типа format

Сообщение provaider » 29 апр 2018, 11:50


Нужно видоизменить под свои нужды
Аватара пользователя
provaider
 
Сообщения: 86
Зарегистрирован: 21 дек 2017, 20:17
Забанен
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: Своя функция типа format

Сообщение Subb98 » 29 апр 2018, 11:56

Собственный сток с использованием базовых натив будет решением, в таком случае. Если хотите более конкретный ответ - предоставьте больше информации о том, что вы ожидаете получить в итоге.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Своя функция типа format

Сообщение provaider » 29 апр 2018, 12:28

Subb98 писал(а):Собственный сток с использованием базовых натив будет решением, в таком случае. Если хотите более конкретный ответ - предоставьте больше информации о том, что вы ожидаете получить в итоге.

Сейчас интересует вставка N аргументов...

Код: Выделить всё
...,"%d %s %f",arg1,arg2,arg3
Аватара пользователя
provaider
 
Сообщения: 86
Зарегистрирован: 21 дек 2017, 20:17
Забанен
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: Своя функция типа format  [Решено]

Сообщение Subb98 » 29 апр 2018, 12:42

Код: Выделить всё
stock formatHelper(input[], any:...)
{
    static 
output[1024];
    
vformat(outputcharsmax(output), input2);
    
// дальше сам
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Своя функция типа format

Сообщение provaider » 29 апр 2018, 16:07

Subb98 писал(а):
Код: Выделить всё
stock formatHelper(input[], any:...)
{
    static output[1024];
    vformat(output, charsmax(output), input, 2);
    // дальше сам

Спасибо! Для SQL запросов [1024] хватит длинны массива или можно и поменьше поставить?

и обязательно charsmax(output) использовать или можно sizeof?
Аватара пользователя
provaider
 
Сообщения: 86
Зарегистрирован: 21 дек 2017, 20:17
Забанен
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: Своя функция типа format

Сообщение Subb98 » 29 апр 2018, 16:13

provaider, смотря, какой длины запрос. Но, обычно, хватает 256 чаров. charsmax = sizeof - 1. Использовать sizeof вместо charsmax не вижу смысла, за исключением отдельных случаев.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Своя функция типа format

Сообщение Fedcomp » 29 апр 2018, 16:15

provaider писал(а):Спасибо! Для SQL запросов [1024] хватит длинны массива или можно и поменьше поставить?

Нужно ручками подсчитать максимально возможный размер строки, и делать такого размера массив.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 815 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: Своя функция типа format

Сообщение RevCrew » 29 апр 2018, 21:15

Fedcomp, 5к хватит
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3