Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
CODE:function Add_Log(string Text, int Save, int Change)
{
int Size[2];
string Save_Text = Text;
new char Location[size(Text)+1];
if (Change == 1)
{
Text = "["+format(#Time[0])+"] - "+Text;
}
strcpy(#Location[0], Text);
GetTextExtentPoint32(DC_Listbox1, address(#Location[0]), sizearray(Location), address(#Size[0]));
if (Max_length < Size[0])
{
Max_length = Size[0];
sendmessage(LB_SETHORIZONTALEXTENT, Size[0], 0, formatiw(Object_Listbox1));
}
sendmessage(LB_ADDSTRING, 0, address(#Location[0]), formatiw(Object_Listbox1));
if (Save == 1)
{
WritePrivateProfileString(date, format(#Time[0])+":"+format(Milliseconds), Save_Text, temp_fold+"K2019Bot_Log.ini");
}
delete Location;
} Выявил причину: Длина ползунка меньше, чем сам текст "ННННННННН" . проблема где-то тут :CODE:sendmessage(LB_ADDSTRING, 0, address(#Location[0]), formatiw(Object_Listbox1));
(Добавление)
В файл сохраняет то, что нужно, а пишет в лог "ННННННН", но не 255 символов, а меньше
(Добавление)
Может нельзя переименовывать переменные?)
(Добавление)
А вот это работает! Чем отличается?CODE:function Add_Log(string s, int save, int choose)
{
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
Strftime(address(#Time[0]), sizearray(Time), "%X", Hour, Minute, Second, Day, Month, Year);
Strftime(address(#Date[0]), sizearray(Date), "%d.%m.%Y", Hour, Minute, Second, Day, Month, Year);
string Text = s;
if (choose == 1)
{
s="["+format(#Time[0])+"] - "+s;
}
int SIZE[2];
new char c[size(s)+1];
strcpy(#c[0], s);
GetTextExtentPoint32(DC_Listbox1, address(#c[0]), sizearray(c), address(#SIZE[0]));
if(Max_length<SIZE[0])
{
Max_length=SIZE[0];
sendmessage(LB_SETHORIZONTALEXTENT, SIZE[0], 0, formatiw(Object_Listbox1));
}
sendmessage(LB_ADDSTRING, 0, address(#c[0]), formatiw(Object_Listbox1));
if (save == 1)//если нужно сохранить в файл.
{
WritePrivateProfileString (date, format(#Time[0])+":"+format(Milliseconds), Text, temp_fold+"K2019Bot_Log.ini");
}
delete c;
}
(Добавление)
Нашел проблему. Проблема в перестановке переменных и функции к ним.CODE:function Add_Log(string Text, int Save, int Change)
{
int Size[2];
string Save_Text = Text;
if (Change == 1)
{
Text = "["+format(#Time[0])+"] - "+Text;
}
new char Location[size(Text)+1];
strcpy(#Location[0], Text);
GetTextExtentPoint32(DC_Listbox1, address(#Location[0]), sizearray(Location), address(#Size[0]));
if (Max_length < Size[0])
{
Max_length = Size[0];
sendmessage(LB_SETHORIZONTALEXTENT, Size[0], 0, formatiw(Object_Listbox1));
}
sendmessage(LB_ADDSTRING, 0, address(#Location[0]), formatiw(Object_Listbox1));
if (Save == 1)
{
WritePrivateProfileString(date, format(#Time[0])+":"+format(Milliseconds), Save_Text, temp_fold+"K2019Bot_Log.ini");
}
delete Location;
} (Отредактировано автором: 20 Мая, 2019 - 15:53:39) |