PDA

Просмотр полной версии : [Вопрос] Ровное отображение



kala4iks
16.07.2017, 15:38
Всем добрый день, скажите пожалуйста можно ли как-то сделать чтоб все тексты были ровно под названием,а то получается если должность больше то и весь текст уходит в право а если меньше то в лево.

http://rgho.st/88hll7hl6/thumb.png (http://rgho.st/88hll7hl6.view)
у кого не грузит. http://rgho.st/88hll7hl6


public AllAdmins(playerid)
{
new rows,fields;
cache_get_data(rows,fields);
new string[72],string_dialogue[2000],aname[MAX_PLAYER_NAME],alevel,alastcon[15],adata[15];
strcat(string_dialogue,"Ник\t\tДолжность\t\t\tВыговоры\tПоследний вход\tДата назначения\n\n");
if(rows)
{
for(new i = 0; i < rows; i++)
{
cache_get_field_content(i,"name",aname,dbHandle,MAX_PLAYER_NAME);
alevel = cache_get_field_content_int(i,"level",dbHandle);
cache_get_field_content(i,"last_connect",alastcon,dbHandle,15);
cache_get_field_content(i,"data",adata,dbHandle,15);
if(alevel == 11)continue;
format(string,sizeof(string),"%s\t\t%s\t\t0/3\t\t%s\t\t%s\n",aname,NameAdmin[alevel-1],alastcon,adata);
strcat(string_dialogue,string);
}
}
ShowPlayerDialog(playerid,D_APANEL+1,DIALOG_STYLE_MSGBOX,"{33CCFF}Весь список администрации",string_dialogue,"Закрыть","");
return 1;
}

VVWVV
16.07.2017, 15:59
Можно вычислить максимальный размер столбцов, а уже после делать отступы в виде пробелов. Размеры букв вы можете взять из библиотеки dialog-center. Кстати, если у вас получится сделать это, то вы можете поделиться своими дороботками со всеми, чтобы, например, улучшить код.
Но это не единственный вариант. Если вам не обязательно использовать msgbox, то можете использовать DIALOG_STYLE_TABLIST_HEADERS, в нем вам достаточно нескольких символов табуляций, чтобы выравнить столбцы.

kala4iks
16.07.2017, 16:13
Можно вычислить максимальный размер столбцов, а уже после делать отступы в виде пробелов. Размеры букв вы можете взять из библиотеки dialog-center. Кстати, если у вас получится сделать это, то вы можете поделиться своими дороботками со всеми, чтобы, например, улучшить код.
Но это не единственный вариант. Если вам не обязательно использовать msgbox, то можете использовать DIALOG_STYLE_TABLIST_HEADERS, в нем вам достаточно нескольких символов табуляций, чтобы выравнить столбцы.

так в DIALOG_STYLE_TABLIST_HEADERS вроде же можно ток 4 значение делать ау меня больше.

Там ток влезет Ник Должность Выговоры Последний вход, а Дата назначения вроде не влезет.

wAx
17.07.2017, 14:03
Как вариант сделать достаточно табов ( \t ) расчитав максимальную длину должности.

DeimoS
17.07.2017, 14:10
Как вариант сделать достаточно табов ( \t ) расчитав максимальную длину должности.

Так VVWVV именно об этом и сказал же, не?
Вообще давно уже можно было написать инклуд с дополнительным типом диалога и спец.символом, который бы сам рассчитывал длину и количество табов (там, как раз, основная "сложность" в написании этого алгоритма). Если никто не сделает раньше, то постараюсь подобное расписать как закончу все предыдущие задумки

kala4iks
20.07.2017, 01:35
Так VVWVV именно об этом и сказал же, не?
Вообще давно уже можно было написать инклуд с дополнительным типом диалога и спец.символом, который бы сам рассчитывал длину и количество табов (там, как раз, основная "сложность" в написании этого алгоритма). Если никто не сделает раньше, то постараюсь подобное расписать как закончу все предыдущие задумки
хорошо я понял.

kala4iks
22.07.2017, 12:58
Что-то не пойму как сделать.

kala4iks
24.07.2017, 00:49
Выручите пожалуйста.

DeimoS
24.07.2017, 01:18
Так вот же решение.


Можно вычислить максимальный размер столбцов, а уже после делать отступы в виде пробелов. Размеры букв вы можете взять из библиотеки dialog-center. Кстати, если у вас получится сделать это, то вы можете поделиться своими дороботками со всеми, чтобы, например, улучшить код.