Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 3 ПерваяПервая 1 2 3
Показано с 21 по 30 из 30
  1. #21
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Но в то же время такой код куда более универсален. Если нужно изменить содержимое форматной строки, придётся... всего лишь изменить это содержимое - остальную работу компилятор сделает сам, не нужно ничего пересчитывать.
    IMO, именно таким и должен быть качественный код.
    Вот тут ты не прав :) Если я захочу добавить пару параметров для вывода в сообщение, мне всё равно придётся работать с массивом. А если делать каждую короткую строку таким способом, код будет раза в 3 больше и менее удобен. Имхо: такой вариант хорош для очень длинных строк, которые периодически редактируются (правила сервера, инфа о сервере и т.п.). Делать же подсчёт таким способом для коротких строк как-то тупо, ибо ты больше времени на написание всех констант и массивов убьёшь, нежели если бы ты даже без калькулятора всё подсчитывал.

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Если же полагаться на сторонние программы вроде SimplePawn, каждый раз придётся выискивать её, чтобы пересчитать всё заново.
    По сути всё сводится к "хочешь поменять текст? живо ищи калькулятор! или SimplePawn!" -_-
    Пожалуй, это и оказалось основной причиной прекращения дальнейшей разработки той программы.
    Ну не знаю. Я пользуюсь твоей StringLength, которую ты в SimplePawn засунул и не жалуюсь. Поместил её в панель задач и чтоб вызвать её в нужный момент, достаточно скопировать нужную строку, опустить мышку вниз экрана (панель задач автоматически скрывается) и выбрать программу. Далее "CTRL + V" и передо мной уже имеется размер строки. Не думаю, что это сложнее танцев с константами и массивами

    - - - Добавлено - - -

    Цитата Сообщение от Salvador Посмотреть сообщение
    Раз не погнался, два не погнался, и тут вдруг твой мод оказывается RLS'ом.
    Чушь сказал. Как от того, что строки не подсчитывает препроцессор, команды станут работать медленнее? -_- Раньше все жили без этого метода и никто не страдал. Не надо вводить людей в заблуждение. Командами вообще очень трудно заставить мод лагать

    Цитата Сообщение от Rasta Посмотреть сообщение
    Подобного слогана придерживался.

    Я бы предпочёл 1-й способ, так как от начала с ним работаю.
    Суть не в этом.
    Если 1-й способ будет считаться медленнее 2-ого, но качественным и универсальным, то считается ли он эффективным?
    Или же всё в порядке, оба одинаковы и выбирать уже на свой вкус?
    Я так точного ответа и не услышал. Можете просто мне ответить, что считается лучшим вариантом?

    - - - Добавлено - - -

    Так как, после 3-ого поста, я переписал практически половину своего кода.
    Не очень-то увлекает меня переписывать код по-несколько раз. Просто, хочу точно закрепить у себя в голове что лучше и, в дальнейшем, придерживаться этих способов, естественно, до появления новых "продвинутых" :)
    Вы не в том случае гонитесь за быстродействием. Команды не вызываются таймером и их вызов всегда рандомен => вся ваша скорость "расплывается" среди других функций. Придерживайтесь того способа, который удобнее лично вам и пишите на нём. Ибо именно вам работать с вашим кодом через год. И если сейчас вам всё привычно и понятно, то потом вы забудете половину всего того, что писали и код будет уже восприниматься иначе.
    А раздутость не делает код лучше, если вы собираетесь продолжить поддержку кода в дальнейшем. Ибо чем больше ненужных строк в вашем коде, тем сложнее среди них найти нужный код. Чуть позже вы это поймёте :)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  2. Пользователь сказал cпасибо:
    $continue$ (31.07.2015)
  3. #22
    Аватар для OKStyle
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.05.2013
    Сообщений
    205
    Репутация:
    49 ±
    Цитата Сообщение от underwoker Посмотреть сообщение
    Я в свое время предпочел такой вариант. Как предложил ^_^:
    PHP код:
    CMD:freeze(playeridparams[])
    {
        new 
    strcmd[59];//Вместо потерянной памяти из сегмента данных используем стек, при этом теряем 0 байтов
        
    if(PInfo[playerid][pAdmin] < 1) return Message(playeridCOLOR_RED,"(Ошибка): {FF6666}Вам недоступна данная команда.");
        else if(
    sscanf(params"i"params[0])) return Message(playeridCOLOR_GREEN,"(Используйте): {669966}/freeze [ID Player]");
        else if(!
    IsPlayerConnected(params[0])) return Message(playeridCOLOR_RED,"(Ошибка): {FF6666}Игрока нет на сервере.");
        
    format(strcmdsizeof(strcmd), "Администратор %s(%d) Вас заморозил."Nick(playerid));
        
    Message(params[0], COLOR_REDstrcmd);
        
    format(strcmdsizeof(strcmd), "Вы заморозили игрока %s(%d)."Nick(params[0]));
        
    Message(playeridCOLOR_REDstrcmd);
        return 
    TogglePlayerControllable(params[0], false);

    Просто, понятно и работает как часики. А гнаться за милисекундами, как уже говорилось много раз не стоит.
    наиболее адекватный вариант.

  4. #23
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Я весь мод переписал на эту фичу, отлично всё работает. И проблем нет.

    Клоню к тому, что дело каждого.

  5. #24
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Вот тут ты не прав :) Если я захочу добавить пару параметров для вывода в сообщение, мне всё равно придётся работать с массивом.
    Вовсе нет. Нужно будет лишь заменить содержимое константы и добавить пару чисел в формулу расчёта длины строки. Всяко лучше, чем вручную рассчитывать всё на калькуляторе.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    А если делать каждую короткую строку таким способом, код будет раза в 3 больше и менее удобен.
    Если научиться работать по тому методу, можно привыкнуть не обращать внимания на "лишние" строки с расчётами.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Имхо: такой вариант хорош для очень длинных строк, которые периодически редактируются (правила сервера, инфа о сервере и т.п.). Делать же подсчёт таким способом для коротких строк как-то тупо, ибо ты больше времени на написание всех констант и массивов убьёшь, нежели если бы ты даже без калькулятора всё подсчитывал.
    Возможно. Впрочем, работать сразу с несколькими стандартами может оказаться затруднительно.


    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну не знаю. Я пользуюсь твоей StringLength, которую ты в SimplePawn засунул и не жалуюсь. Поместил её в панель задач и чтоб вызвать её в нужный момент, достаточно скопировать нужную строку, опустить мышку вниз экрана (панель задач автоматически скрывается) и выбрать программу. Далее "CTRL + V" и передо мной уже имеется размер строки. Не думаю, что это сложнее танцев с константами и массивами
    Кому как. Лично мне проще было написать "sizeof(string)", чем тянуться за мышью, искать программу для подсчёта и открывать нужный инструмент.

    Цитата Сообщение от Salvador Посмотреть сообщение
    Клоню к тому, что дело каждого.
    Agreed.


    Попробуем подвести итоги.
    Нужен качественный код, готовый к оперативному внесению изменений? Используйте 1-й способ.
    Не хотите нагромождать код лишними расчётами? Не умеете быстро печатать? Доставайте калькулятор.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. #25
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Ну, это, чисто чтобы ужаснулись.
    PHP код:
    CMD:showlicenses(playeridparams[])
    {
        static const
              
    cmd_shl_fmt_str0[] = "[ -------------- Ëèöåíçèè %s -------------- ]",
              
    cmd_shl_fmt_str1[] = "Âîäèòåëüñêèå ïðàâà: %s",
              
    cmd_shl_fmt_str2[] = "Ëèöåíçèÿ íà ïîëåòû: %s",
              
    cmd_shl_fmt_str3[] = "Ëèöåíçèÿ íà îðóæèå: %s",
              
    cmd_shl_fmt_str4[] = "Ëèöåíçèÿ íà ñóäîõîäñòâî: %s",
              
    cmd_shl_fmt_str5[] = "Ëèöåíçèÿ íà ðûáîëîâñòâî: %s",
              
    cmd_shl_fmt_str6[] = "Âû ïîêàçàëè ñâîè ëèöåíçèè %s",
              
    cmd_shl_fmt_str7[] = "%s ïîêàçàë âàì ñâîè ëèöåíçèè",
              
    cmd_shl_fmt_str8[] = "%s ïîêàçàë ñâîè ëèöåíçèè %s'ó"
         
    ;
        const
            
    cmd_shl_fmt_size0 sizeof(cmd_shl_fmt_str0)-2+MAX_PLAYER_NAME,
            
    cmd_shl_fmt_size1 sizeof(cmd_shl_fmt_str1)-2+3,
            
    cmd_shl_fmt_size2 sizeof(cmd_shl_fmt_str2)-2+3,
            
    cmd_shl_fmt_size3 sizeof(cmd_shl_fmt_str3)-2+3,
            
    cmd_shl_fmt_size4 sizeof(cmd_shl_fmt_str4)-2+3,
            
    cmd_shl_fmt_size5 sizeof(cmd_shl_fmt_str5)-2+3,
            
    cmd_shl_fmt_size6 sizeof(cmd_shl_fmt_str5)-2+MAX_PLAYER_NAME,
            
    cmd_shl_fmt_size7 sizeof(cmd_shl_fmt_str5)-2+MAX_PLAYER_NAME,
            
    cmd_shl_fmt_size8 sizeof(cmd_shl_fmt_str5)-2+MAX_PLAYER_NAME-2+MAX_PLAYER_NAME
        
    ;
        
    #if    cmd_shl_fmt_size0>cmd_shl_fmt_size1
            #define    cmd_shl_fmt_size cmd_shl_fmt_size0
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size1
        #endif
        #undef cmd_shl_fmt_size
        #if    cmd_shl_fmt_size2>cmd_shl_fmt_size3
            #define cmd_shl_fmt_size cmd_shl_fmt_size2
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size3
        #endif
        #undef cmd_shl_fmt_size
        #if    cmd_shl_fmt_size4>cmd_shl_fmt_size5
            #define cmd_shl_fmt_size cmd_shl_fmt_size4
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size5
        #endif
        #undef cmd_shl_fmt_size
        #if    cmd_shl_fmt_size6>cmd_shl_fmt_size7
            #define cmd_shl_fmt_size cmd_shl_fmt_size7
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size8
        #endif
        #if    cmd_shl_fmt_size8>cmd_shl_fmt_size
            #define cmd_shl_fmt_size cmd_shl_fmt_size8
        #endif
        
    new cmdshwl[cmd_shl_fmt_size];
        if(
    sscanf(params"u"params[0]))
            return 
    SendClientMessage(playeridCOLOR_WHITE"Ââåäèòå: /showlicenses [id èãðîêà]");
        if(!
    IsPlayerConnected(params[0]))
            return 
    SendClientMessage(playeridCOLOR_GREYPlayerIsNotOnline);
        if(!
    PlayerLogged{params[0]})
            return 
    SendClientMessage(playeridCOLOR_GREYPlayerIsNotLogged);
        if(
    playerid == params[0])
            return 
    SendClientMessage(playeridCOLOR_GREY"Èñïîëüçóéòå: /licenses");
        if(!
    IsPlayerInRangeOfPlayer(8.0playeridparams[0]))
            return 
    SendClientMessage(playeridCOLOR_GREY"Èãðîê ñëèøêîì äàëåêî!");
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str0PlayerInfo[playerid][pSendername]);
        
    SendClientMessage(params[0], COLOR_LIGHTREDcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str1, (!PlayerInfo[playerid][pLic][0]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str2,(!PlayerInfo[playerid][pLic][2]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str3,(!PlayerInfo[playerid][pLic][4]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str4,(!PlayerInfo[playerid][pLic][1]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str5,(!PlayerInfo[playerid][pLic][3]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    SendClientMessage(playeridCOLOR_LIGHTRED"[ ------------------------------------- ]");
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str6PlayerInfo[params[0]][pSendername]);
        
    SendClientMessage(playeridCOLOR_LIGHTBLUEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str7PlayerInfo[playerid][pSendername]);
        
    SendClientMessage(params[0], COLOR_LIGHTBLUEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str8,PlayerInfo[playerid][pSendername], PlayerInfo[params[0]][pSendername]);
        
    ProxDetectorNew(playerid30.0COLOR_PURPLEcmdshwl);
        return 
    1;


  7. #26
    Аватар для Rasta
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.08.2014
    Сообщений
    32
    Репутация:
    22 ±
    Всем огромное спасибо за советы. Всё продумал и учёл для себя.
    Спасибо. Тему можно закрывать.

  8. #27
    Аватар для underwoker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    331
    Репутация:
    47 ±
    Цитата Сообщение от Salvador Посмотреть сообщение
    Ну, это, чисто чтобы ужаснулись.
    PHP код:
    CMD:showlicenses(playeridparams[])
    {
        static const
              
    cmd_shl_fmt_str0[] = "[ -------------- Ëèöåíçèè %s -------------- ]",
              
    cmd_shl_fmt_str1[] = "Âîäèòåëüñêèå ïðàâà: %s",
              
    cmd_shl_fmt_str2[] = "Ëèöåíçèÿ íà ïîëåòû: %s",
              
    cmd_shl_fmt_str3[] = "Ëèöåíçèÿ íà îðóæèå: %s",
              
    cmd_shl_fmt_str4[] = "Ëèöåíçèÿ íà ñóäîõîäñòâî: %s",
              
    cmd_shl_fmt_str5[] = "Ëèöåíçèÿ íà ðûáîëîâñòâî: %s",
              
    cmd_shl_fmt_str6[] = "Âû ïîêàçàëè ñâîè ëèöåíçèè %s",
              
    cmd_shl_fmt_str7[] = "%s ïîêàçàë âàì ñâîè ëèöåíçèè",
              
    cmd_shl_fmt_str8[] = "%s ïîêàçàë ñâîè ëèöåíçèè %s'ó"
         
    ;
        const
            
    cmd_shl_fmt_size0 sizeof(cmd_shl_fmt_str0)-2+MAX_PLAYER_NAME,
            
    cmd_shl_fmt_size1 sizeof(cmd_shl_fmt_str1)-2+3,
            
    cmd_shl_fmt_size2 sizeof(cmd_shl_fmt_str2)-2+3,
            
    cmd_shl_fmt_size3 sizeof(cmd_shl_fmt_str3)-2+3,
            
    cmd_shl_fmt_size4 sizeof(cmd_shl_fmt_str4)-2+3,
            
    cmd_shl_fmt_size5 sizeof(cmd_shl_fmt_str5)-2+3,
            
    cmd_shl_fmt_size6 sizeof(cmd_shl_fmt_str5)-2+MAX_PLAYER_NAME,
            
    cmd_shl_fmt_size7 sizeof(cmd_shl_fmt_str5)-2+MAX_PLAYER_NAME,
            
    cmd_shl_fmt_size8 sizeof(cmd_shl_fmt_str5)-2+MAX_PLAYER_NAME-2+MAX_PLAYER_NAME
        
    ;
        
    #if    cmd_shl_fmt_size0>cmd_shl_fmt_size1
            #define    cmd_shl_fmt_size cmd_shl_fmt_size0
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size1
        #endif
        #undef cmd_shl_fmt_size
        #if    cmd_shl_fmt_size2>cmd_shl_fmt_size3
            #define cmd_shl_fmt_size cmd_shl_fmt_size2
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size3
        #endif
        #undef cmd_shl_fmt_size
        #if    cmd_shl_fmt_size4>cmd_shl_fmt_size5
            #define cmd_shl_fmt_size cmd_shl_fmt_size4
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size5
        #endif
        #undef cmd_shl_fmt_size
        #if    cmd_shl_fmt_size6>cmd_shl_fmt_size7
            #define cmd_shl_fmt_size cmd_shl_fmt_size7
        #else
            #define cmd_shl_fmt_size cmd_shl_fmt_size8
        #endif
        #if    cmd_shl_fmt_size8>cmd_shl_fmt_size
            #define cmd_shl_fmt_size cmd_shl_fmt_size8
        #endif
        
    new cmdshwl[cmd_shl_fmt_size];
        if(
    sscanf(params"u"params[0]))
            return 
    SendClientMessage(playeridCOLOR_WHITE"Ââåäèòå: /showlicenses [id èãðîêà]");
        if(!
    IsPlayerConnected(params[0]))
            return 
    SendClientMessage(playeridCOLOR_GREYPlayerIsNotOnline);
        if(!
    PlayerLogged{params[0]})
            return 
    SendClientMessage(playeridCOLOR_GREYPlayerIsNotLogged);
        if(
    playerid == params[0])
            return 
    SendClientMessage(playeridCOLOR_GREY"Èñïîëüçóéòå: /licenses");
        if(!
    IsPlayerInRangeOfPlayer(8.0playeridparams[0]))
            return 
    SendClientMessage(playeridCOLOR_GREY"Èãðîê ñëèøêîì äàëåêî!");
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str0PlayerInfo[playerid][pSendername]);
        
    SendClientMessage(params[0], COLOR_LIGHTREDcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str1, (!PlayerInfo[playerid][pLic][0]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str2,(!PlayerInfo[playerid][pLic][2]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str3,(!PlayerInfo[playerid][pLic][4]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str4,(!PlayerInfo[playerid][pLic][1]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str5,(!PlayerInfo[playerid][pLic][3]) ? ("{FF6347}Íåò"):("{33CCFF}Åñòü"));
        
    SendClientMessage(params[0], COLOR_WHITEcmdshwl);
        
    SendClientMessage(playeridCOLOR_LIGHTRED"[ ------------------------------------- ]");
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str6PlayerInfo[params[0]][pSendername]);
        
    SendClientMessage(playeridCOLOR_LIGHTBLUEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str7PlayerInfo[playerid][pSendername]);
        
    SendClientMessage(params[0], COLOR_LIGHTBLUEcmdshwl);
        
    format(cmdshwl,sizeof(cmdshwl),cmd_shl_fmt_str8,PlayerInfo[playerid][pSendername], PlayerInfo[params[0]][pSendername]);
        
    ProxDetectorNew(playerid30.0COLOR_PURPLEcmdshwl);
        return 
    1;

    А потом человек прочитавший твой код умрет в конвульсиях. Клоз тему, правда.
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

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

  9. Пользователь сказал cпасибо:
    $continue$ (31.07.2015)
  10. #28
    Аватар для OKStyle
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.05.2013
    Сообщений
    205
    Репутация:
    49 ±
    Только почему -2, да и sizeof можно поменять на strlen - разница в 1 знак.

  11. #29
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Вовсе нет. Нужно будет лишь заменить содержимое константы и добавить пару чисел в формулу расчёта длины строки. Всяко лучше, чем вручную рассчитывать всё на калькуляторе.
    О каком калькуляторе идёт речь? StringLength выдаёт нам длину строки. К этой длине строки тут же, прямо при объявлении массива, прибавляем длину остальных параметров и всё, готово. Какие калькуляторы?

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Кому как. Лично мне проще было написать "sizeof(string)", чем тянуться за мышью, искать программу для подсчёта и открывать нужный инструмент.
    Только sizeof? А в константу кто будет строку помещать? Да ещё и не в одну, если строка длинная. И всё равно нужно подсчитывать число заполнителей, дабы вычесть их длину из sizeof. В то время как StringLength я уже давно пропишу длину строки в виде числа и приплюсую длину всех остальных данных, что будут вставляться вместо заполнителя.

    На всё остальное можно найти ответ в моём предыдущем сообщении
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  12. #30
    Аватар для Gressie
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    258
    Репутация:
    6 ±
    А можно увидеть мануал или урок про то что вы пишите, где первый вариант?

 

 
Страница 3 из 3 ПерваяПервая 1 2 3

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •