Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
007wan
Отправлено: 20 Мая, 2019 - 15:42:14
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 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)

 
 Top
007wan
Отправлено: 21 Мая, 2019 - 14:52:54
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Что не так? Вылетает
CODE:
GetPrivateProfileString ("Default", "Object_Combobox0", 0, Load_Combobox1, 255, PathSaveSettings);
messagebox(Load_Combobox1);
в int переменная
 
 Top
Kibor
Отправлено: 21 Мая, 2019 - 14:57:40
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8223
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




GetPrivateProfileString не подключена
Load_Combobox1 не объявлена
PathSaveSettings не объявлена.

именно так, а не "они там у меня где то есть"

учитесь выкладывать запускаемый код,
когда напишите его, то вполне вероятно и вопроса не будет, так как найдется причина.
 
 Top
Zireael
Отправлено: 21 Мая, 2019 - 14:58:57
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Что не так? Вылетает

4й параметр должен быть указатель на массив char.

(Отредактировано автором: 21 Мая, 2019 - 14:59:17)

 
 Top
007wan
Отправлено: 21 Мая, 2019 - 15:02:59
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Kibor , но если и так они у меня где-то есть...
Всё перепроверил.
Работает только так, но показывает многозначное число
CODE:
GetPrivateProfileString("Default", "Object_Combobox1", 0, Load_Combobox1, 255, PathSaveSettings);

(Добавление)
 Zireael пишет:
4й параметр должен быть указатель на массив char.
Не понимаю. Это же число, как и для галочек.
 
 Top
Zireael
Отправлено: 21 Мая, 2019 - 15:06:13
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4466
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);

 Цитата:
lpReturnedString
A pointer to the buffer that receives the retrieved string.
 
 Top
007wan
Отправлено: 21 Мая, 2019 - 15:09:39
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017  
Репутация: -2




Zireael , ААА
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by