007wan |
Отправлено: 13 Мая, 2019 - 15:36:15
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Zireael , Спасибо
(Добавление)
А нельзя сделать часть текста один шрифт, а другая часть - другой?
А то пришла мысль, что можно сделать шрифт:
"первый текст такой шрифт Webdings" + "второй текст такой Times New Roman"
Почему разный? Попробуй его Webdings в ворде и там символы заменяются иконками, класс) и не нужно никакого изображения)
(Добавление)
Еще вот заменить нужно текст:
Цитата:
[16:27:44] - Обнаружена Image_0.bmp в координатах 842, 146 Всё, что красно - не нужно, даже пробелы, а цифры где 842 и 146 могут быть разные.
(Добавление)
007wan пишет: Всё, что красно - не нужно, даже пробелы, а цифры где 842 и 146 могут быть разные. Случайно цитату запилил. Это не должно было там. |
|
|
Zireael |
Отправлено: 14 Мая, 2019 - 02:14:20
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: [16:27:44] - Обнаружена Image_0.bmp в координатах 842, 146 Всё, что красно - не нужно, даже пробелы, а цифры где 842 и 146 могут быть разные.
CODE:string Text;
char text[9999];
//strcpy(#text[0], "[03:15:44] - Не удается найти Image_0.bmp");
strcpy(#text[0], "[16:27:44] - Обнаружена Image_0.bmp в координатах 842, 146");
messagebox(format(#text[0]));
regexreplace(1, #Text, format(#text[0]), "^[\[\]\d:\s\-]+", "");
regexreplace(1, #Text, Text, "\s*в координат.*", "");
messagebox(Text); |
|
|
Zireael |
Отправлено: 17 Мая, 2019 - 14:10:29
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Я знаю лишь сложный вариант: зайти в ворд, узнать какие шрифты работают
Можно окно шрифтов открыть и выбрать нужный.
CODE:#define CF_EFFECTS 256
external(INT, "ChooseFont", "ChooseFontA", "Comdlg32.dll");
char LOGFONTA[60];
int CHOOSEFONTA[15]={60, 0, 0, address(#LOGFONTA[0]), 0, CF_EFFECTS, 0, 0, 0, 0, 0, 0, 0, 0}
int x=ChooseFont(address(#CHOOSEFONTA[0]));
if(x)
{
messagebox(format(#LOGFONTA[28])); // имя шрифта
} |
|
|
007wan |
Отправлено: 18 Мая, 2019 - 12:59:43
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Как использовать эти функции?
WM_SETICON
WM_ERASEBKGND
(Добавление)
Появилась идея как выделять нужные события (теоретически)
в том же Listbox.
Например, при обычном формате лога будет стандартный шрифт, а что бы указать или выделить ошибку в логе, не применяя цветовую схему(которой сейчас нету) можно выделять сами строчки жирным шрифтом или иным шрифтом(теоретически), если конечно при изменении шрифта самого контрола не изменится весь шрифт контрол в т.ч его строчки, а так можно каждую строку выделать как захочется. Сам не пробовал.
(Добавление)
Всё таки да. не получится, он изменяет шрифт все строчек, а не отдельно как я считал.
(Добавление)
Как вернуть прежний шрифт?
CODE:Object_Font1 = CreateFont(-13, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, "Times New Roman");//создаем
SendMessage(Object_Combobox1, WM_SETFONT, Object_Font1, 1);//посылаем
(Добавление)
Может как-то через это...WM_GETFONT, узнаем стандартный, а потом через...задаем стандартный... |
|
|
007wan |
Отправлено: 18 Мая, 2019 - 19:19:22
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Помогите доделать скрипт:
Принцип действия:
Когда жмем кнопку "Запустить":
В лог пишется любой текст такого формата:
"[19:18:56] - Запущен".
И тут же записывает этот текст в файл таким образом:
Для даты 18.05.2019:
Файл:
[18.05.2019]
[19:18:56] - Запущен
Код (Отобразить)CODE://-----------------------------------------------------------------------------------------------------------------------------------------------------
#define LBS_NOSEL 16384
#define WS_BORDER 8388608
#define WS_HSCROLL 1048576
#define WS_VSCROLL 2097152
#define WS_CHILD 1073741824
#define WS_VISIBLE 268435456
#define LBS_DISABLENOSCROLL 4096
#define LB_SETHORIZONTALEXTENT 404
#define LB_ADDSTRING 384
#define LB_GETCOUNT 395
#define LB_GETTEXT 393
#define LB_DELETESTRING 386
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll" );
external(INT, "GetTextExtentPoint32", "GetTextExtentPoint32A", "Gdi32.dll" );
external(INT, "GetDC", "GetDC", "User32.dll" );
external(INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll");
external(INT, "WritePrivateProfileString", "WritePrivateProfileStringA", "kernel32.dll");
external(INT, "Strftime", "Strftime", pathfolder()+"Time.dll" );
external(INT, "SendMessage", "SendMessageA", "User32.dll" );
string date = "18.05.2019";
string path = "C:\Users\Home\AppData\Local\Temp\K2019Bot_Log.ini";
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
int list, b1, hdc, max_length = 0;
char Time[100];
char Date[100];
char Text_Listbox1[255];
int a = 0;
string temp_fold = tempfolder();
string path_fold = pathfolder();
createdialog(0);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);
//-----------------------------------------------------------------------------------------------------------------------------------------------------
loop()
{
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);
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
function getmessage(0, WM_COMMAND)
{
temp_fold = tempfolder();
if (message.lparam==b1)
{
add_list("Бот защущен.");
//format(#Time[0])
/*
int count;
add_list("["+format(#Time[0])+"] - "+"Бот запущен"+format(a));
count = sendmessage(LB_GETCOUNT, 0, 0, formatiw(list));
if(count)sendmessage(LB_GETTEXT, count-1, address(#Text_Listbox1[0]), formatiw(list));
messagebox(format(#Text_Listbox1[0]));
WritePrivateProfileString (date, format(#Time[0]), format(#Text_Listbox1[0])+format(a), temp_fold+"K2019Bot_Log.ini");
a++;
*/
}
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
function getmessage(0, WM_CREATE)
{
list = CreateWindow(0, "LISTBOX", "", LBS_NOSEL | WS_BORDER | WS_HSCROLL | WS_VSCROLL | LBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE, 10, 10, 200, 200, gethwnd(0), 0, 0, 0);
b1=CreateWindow(0, "BUTTON", "Запустить", WS_CHILD | WS_VISIBLE, 10, 220, 120, 30, gethwnd(0), 0, 0, 0);
hdc=GetDC(list);
ini_read();
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
function add_list(string s)
{
string Text = s;
s="["+format(#Time[0])+"] - "+s;
int SIZE[2];
new char c[size(s)+1];
strcpy(#c[0], s);
GetTextExtentPoint32(hdc, address(#c[0]), sizearray(c), address(#SIZE[0]));
if(max_length<SIZE[0])
{
max_length=SIZE[0];
sendmessage(LB_SETHORIZONTALEXTENT, SIZE[0], 0, formatiw(list));
}
sendmessage(LB_ADDSTRING, 0, address(#c[0]), formatiw(list));
WritePrivateProfileString (date, format(#Time[0]), Text, temp_fold+"K2019Bot_Log.ini");
delete c;
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
function ini_read()
{
int length;
char key_ini[99999], value[999];
if(fopen(path, "rb"))
{
fclose();
//add_list("["+date+"]");
int x = GetPrivateProfileString (date, 0, 0, address (#key_ini[0]), sizearray(key_ini), path);
if(x)
{
add_list("["+date+"]");
length=0;
for(int i=0; length<=x; i++)
{
if(GetPrivateProfileString (date, format(#key_ini[length]), 0, address (#value[0]), sizearray(value), path)) // получить значение ключа
{
add_list(+"["+format(#key_ini[length])+"] - "+format(#value[0]));
}
length=length+size(#key_ini[length])+1;
}
}
else
{
messagebox("секция даты не найдена");
WritePrivateProfileString(date, "", "", path);
ini_read();
}
}
else
{
messagebox("файл не найден");
messagebox("секция даты не найдена");
WritePrivateProfileString(date, "", "", path);
ini_read();
}
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------
(Добавление)
007wan пишет: Для даты 18.05.2019:
Файл:
[18.05.2019]
[19:18:56] - Запущен Ой не так, а так:
Для даты 18.05.2019:
Файл:
[18.05.2019]
19:18:56=Запущен |
|
|
|