Эксперт
Покинул форум
Сообщений всего: 4471
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: "456" это текст.
Если заменить на буквы- ошибка.
Нет никаких ошибок:
CODE:string text_static1[10];
text_static1[1]="Текст";
int x = 123;
string text1 = "буквы";
messagebox(text_static1[1]);
text_static1[1]=text_static1[1]+format(x);
messagebox(text_static1[1]);
text_static1[1]=text_static1[1]+text1;
messagebox(text_static1[1]);
Цитата: как правильно сделать ?
CODE:#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define SS_EDITCONTROL 0x00002000
#define TRUE 1
#define WM_SETFONT 0x0030
#define RUSSIAN_CHARSET 204
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
external(INT, "GetWindowText", "GetWindowTextA", "User32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
external(INT, "CreateFont", "CreateFontA", "Gdi32.dll");
int static;
createdialog(0);
showdialog(0, "LOG", 500, 400, 300, 300, 1, 1);
int x=0;
loop()
{
log("x = "+format(x)); // добавить в лог строку
sleep(300);
x++;
}
function getmessage(0, WM_CREATE)
{
int h_font = CreateFont(-13, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial");
static = CreateWindow(0, "STATIC", "", WS_VISIBLE | WS_CHILD | WS_BORDER | SS_EDITCONTROL, 10, 10, 270, 250, gethwnd(0), 0, 0, 0);
sendmessage(WM_SETFONT, h_font, TRUE, formatiw(static));
}
function log(string text)
{
char text_static[9999];
string temp[10]; // сколько строк будет в статике
int size_temp = sizearray(temp);
if(GetWindowText(static, address(#text_static[0]), sizearray(text_static)))
{
if(regexsearch(size_temp, #temp[0], format(#text_static[0]), ".+^r^n")==size_temp)
{
regexreplace(1, #temp[0], format(#text_static[0]), ".+^r^n", "");
SetWindowText(static, temp[0]+"^r^n"+text);
}
else SetWindowText(static, format(#text_static[0])+"^r^n"+text);
}
else SetWindowText(static, text);
} |