Участник
Покинул форум
Сообщений всего: 62
Дата рег-ции: Авг. 2021
Репутация: 0
|
нужна помочь в доработке ) суть бота такая: к собранному ехе подгружать картинки (они могут быть разных размеров и содержания) которые есть на компе и при нахождении их писать текст из файла который тоже подгружаем
диалог такой (Отобразить)CODE:#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define WS_BORDER 0x00800000
#define BS_MULTILINE 0x00002000
#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");
external(INT, "GetWindowRect", "GetWindowRect", "User32.dll");
external(INT, "DeleteObject", "DeleteObject", "Gdi32.dll");
external(INT, "DeleteFile", "DeleteFileA", "kernel32.dll");
external(INT, "wsprintf", "wsprintfA", "User32.dll" );
external(INT, "GetOpenFileName", "GetOpenFileNameA", "Comdlg32.dll");
external(INT, "SetWindowText", "SetWindowTextA", "User32.dll");
int h_font;
string rn = formatic(13)+formatic(10);
int dialogPosX_0 = 770, dialogPosY_0 = 288;
int button0[5];
int flag_button0[5] = { 0, 0, 0, 0, 0 };
createdialog(0);
showdialog(0, "Диалог0", dialogPosX_0, dialogPosY_0, 280, 230, 4, 0);
loop()
{
if (flag_button0[0]==1)//если нажали на кнопку
{
string path1 = OpenFileBmp(pathfolder()); // в функцию передаётся начальный каталог
flag_button0[0]=0;
SetWindowText(button0[0], path1); // адрес файла тхт
}
if (flag_button0[1]==1)//если нажали на кнопку
{
//string path2 = OpenFileBmp(pathfolder()); // в функцию передаётся начальный каталог
flag_button0[1]=0;
//SetWindowText(button0[1], path2); // адрес файла тхт
messagebox("временно не доступно");
}
if (flag_button0[2]==1)//если нажали на кнопку
{
//string path3 = OpenFileBmp(pathfolder()); // в функцию передаётся начальный каталог
flag_button0[2]=0;
//SetWindowText(button0[2], path3); // адрес файла тхт
messagebox("временно не доступно");
}
if (flag_button0[3]==1)//если нажали на кнопку
{
string baza = OpenFileName(pathfolder()); // в функцию передаётся начальный каталог
flag_button0[3]=0;
SetWindowText(button0[3], baza); // адрес файла тхт
}
if (flag_button0[4]==1)//если нажали на кнопку
{
hidedialog(0); // скрыть диалог
goto global end_0;
}
sleep(10);
}
end_0:;
function getmessage(0, WM_CREATE)
{
int i;
h_font = CreateFont(-12, 0, 0, 0, 400, 0, 0, 0, RUSSIAN_CHARSET, 0, 0, 0, 0, "Arial");
button0[0] = CreateWindow(0, "BUTTON", "изображение 1", WS_VISIBLE | WS_CHILD, 24, 16, 224, 24, gethwnd(0), 0, 0, 0);
button0[1] = CreateWindow(0, "BUTTON", "изображение 2", WS_VISIBLE | WS_CHILD, 24, 48, 224, 24, gethwnd(0), 0, 0, 0);
button0[2] = CreateWindow(0, "BUTTON", "изображение 3", WS_VISIBLE | WS_CHILD, 24, 80, 224, 24, gethwnd(0), 0, 0, 0);
button0[3] = CreateWindow(0, "BUTTON", "выбрать базу тхт файла", WS_VISIBLE | WS_CHILD, 24, 112, 224, 24, gethwnd(0), 0, 0, 0);
button0[4] = CreateWindow(0, "BUTTON", "запустить", WS_VISIBLE | WS_CHILD, 24, 152, 224, 40, gethwnd(0), 0, 0, 0);
for(i=0; i<5; i++)sendmessage(WM_SETFONT, h_font, TRUE, formatiw(button0[i]));
}
function getmessage(0, WM_COMMAND)
{
int i;
for(i=0; i<5; i++) // обработка нажатий кнопок
{
if(message.lparam == button0[i])
{
if(flag_button0[i])flag_button0[i] = 0;
else flag_button0[i] = 1;
return;
}
}
}
function OpenFileName(string StartPath)
{
char path[256]= {0};
char OFNA[88], Filter[100], InitialDir[256], Title[256];
initialarray(#OFNA[0], 0);
wsprintf(address(#Filter[0]), "Текстовые файлы%c*.txt%c%c", 0, 0, 0); // тип файлов
strcpy(#InitialDir[0], StartPath); // начальный каталог
strcpy(#Title[0], "Открыть файл"); // заголовок диалога
writeaddress(sizearray(OFNA), address(#OFNA[0]));
writeaddress(address(#Filter[0]), address(#OFNA[12]));
writeaddress(address(#path[0]), address(#OFNA[28]));
writeaddress(sizearray(path), address(#OFNA[32]));
writeaddress(address(#InitialDir[0]), address(#OFNA[44]));
writeaddress(address(#Title[0]), address(#OFNA[48]));
if(GetOpenFileName(address(#OFNA[0])))return format(#path[0]);
return "";
}
function OpenFileBmp(string StartPath)
{
char path[256]= {0};
char OFNA[88], Filter[100], InitialDir[256], Title[256];
initialarray(#OFNA[0], 0);
wsprintf(address(#Filter[0]), "файлы изображения%c*.bmp%c%c", 0, 0, 0); // тип файлов
strcpy(#InitialDir[0], StartPath); // начальный каталог
strcpy(#Title[0], "Открыть файл"); // заголовок диалога
writeaddress(sizearray(OFNA), address(#OFNA[0]));
writeaddress(address(#Filter[0]), address(#OFNA[12]));
writeaddress(address(#path[0]), address(#OFNA[28]));
writeaddress(sizearray(path), address(#OFNA[32]));
writeaddress(address(#InitialDir[0]), address(#OFNA[44]));
writeaddress(address(#Title[0]), address(#OFNA[48]));
if(GetOpenFileName(address(#OFNA[0])))return format(#path[0]);
return "";
}
function getmessage(0, WM_CLOSE)
{
DeleteObject(h_font);
goto global end_0; // переход в метке
// close(); // закрыть кибор
}
в виз редакторе в блоке кода прописываю CODE:int Image[500][500];
loadimage (#Image[0][0], "path1");
int X_image=imagewidth(#Image[0][0]);
int Y_image=imageheight(#Image[0][0]);
далее к блоку findimage и путь к файлу указываю тоже "path1" тут явно что то делаю не так бо не открывается
теперь с набором текста ))
CODE:string otvet;
otvet=text[i];
char TT[100000];
strcpy(#TT[0], otvet);
int Sz=size(#TT[0]);
for (int nt=0; nt<Sz; nt++)
{
key(TT[nt]);
sleep(50);
} все хорошо но ) знаки типо ( ?!«»... ) и так далее выдает ошибку так же как и если есть анг. буквы, на форуме не нашел как исправить есть похоже но не то |