Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Чтение и копировани из файла часть строки

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

1. Almighty - 18 Сентября, 2023 - 13:47:23 - перейти к сообщению
Добрый день.
У меня есть файл, в который я записываю нужны координати боссов.
Запись происходит через следующий код (прикреплено 1).
В даном файле всегда будет храниться по 6 координат: 3 по Y и 3 по X.
Суть: Нужно скоприровать эти координаты по отдельности так как поиск в игре требует отдельно вставлять X и Y. А при копировании коррдинаты каждого боса записываються в 1 строку.
Подскажите, пожалуйста, как правильно их скопировать,чтобы далее вставить в игру ?
CODE:
string per, t;
readclipboard (per);
t=per;
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "r")!=0)
{
fclose();
if (messageboxyn ("Перезаписать файл??")==1)
{
external(INT, "DeleteFile", "DeleteFileA", "kernel32.dll");
DeleteFile("D:\bot\kibor_set\exe\koor.txt");
}
}
loop()
{
readclipboard (per);
if (per!=t)
{
t=per;
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "a")!=0)
{
fwrite(per);
fwrite(ENDL);
fclose();
}
}
sleep (10) ;
}

Как записываються координаты сейчас:
856 488
711 631
837 541
2. konctantin777 - 18 Сентября, 2023 - 13:52:28 - перейти к сообщению
string preiemnik;

//Чтение по целой строке
if (fopen ("c:\5.txt", "r")!=0)//открываем файл для чтения "r"
{//если открылся
l:if (freadline(preiemnik)!=0)//Читаем по целой строке пока не конец файла
{
messagebox(preiemnik);
goto l;
}
fclose();//закрываем файл
}
(Добавление)(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
Будет строка. Можно найти часть до пробела и часть после пробела
3. Almighty - 18 Сентября, 2023 - 14:12:29 - перейти к сообщению
Спасибо, теперь буду дальше думать,как все сделать )
Давно не занимался этими вещами,все нужно вспоминать
4. Zireael - 19 Сентября, 2023 - 03:01:43 - перейти к сообщению
Можно и так сделать:
CODE:
string Path = "C:\koor.txt";

if(fopen(Path, "r"))
{
int Coord;
while(fread(Coord)==1)
{
messagebox(Coord);
}
fclose();
}
else messagebox("Файл не открылся");
5. Almighty - 19 Сентября, 2023 - 04:30:55 - перейти к сообщению
Решил проблему, через чтение слов.
Появилась проблема с вставкой.
Почему-то всегда вставляет fread(preiemnik_a[1]);
хотя в messagebox отображаеться preiemnik_a[0];
В чем может быть проблема?
Вставку я дулаю, через активацию окна и виполнение скрипта в Нокс, который просто делает сочетание клавиш Ctrl+v
CODE:
string preiemnik_a[6];



if (fopen ("D:\bot\kibor_set\exe\koor.txt", "r")!=0)//îòêðûâàåì ôàéë äëÿ ÷òåíèÿ "r"
{//åñëè îòêðûëñÿ
fread(preiemnik_a[0]);//÷òåíèå îäíîãî ñëîâà
fread(preiemnik_a[1]);
fread(preiemnik_a[2]);
fread(preiemnik_a[3]);
fread(preiemnik_a[4]);
fread(preiemnik_a[5]);

writeclipboard(+preiemnik_a[0]);


//Âûâîä ôîðìîòèðîâàííîé ñòðîêè
//messagebox(+preiemnik_a[0]);
6. Zireael - 19 Сентября, 2023 - 04:35:03 - перейти к сообщению
 Цитата:
writeclipboard(+preiemnik_a[0]);

Зачем тут +?
7. Almighty - 19 Сентября, 2023 - 04:40:57 - перейти к сообщению
 Zireael пишет:
 Цитата:
writeclipboard(+preiemnik_a[0]);

Зачем тут +?

Убрал, все равно ошибка осталось.
Решил проверить и отдельно скоприровал совсем другое число.
На при запуске киборг вставляет preiemnik_a[1])
8. Zireael - 19 Сентября, 2023 - 04:44:25 - перейти к сообщению
Нужен весь код, который не работает.
9. Almighty - 19 Сентября, 2023 - 04:48:31 - перейти к сообщению
[code][/code]win W_Kib=window ("Sneska", "Qt5QWindowIcon", -1);
int Size_Key_Char_Kib = -1;

int eX_Kib, eY_Kib;
eX_Kib=W_Kib.widthclient;
eY_Kib=W_Kib.heightclient;

string preiemnik_a[6];


//Чтение смешанными типами
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "r"Подмигивание!=0)//открываем файл для чтения "r"
{//если открылся
fread(preiemnik_a[0]);//чтение одного слова
fread(preiemnik_a[1]);
fread(preiemnik_a[2]);
fread(preiemnik_a[3]);
fread(preiemnik_a[4]);
fread(preiemnik_a[5]);

writeclipboard(preiemnik_a[0]);



activate(W_Kib);
Key(1, W_Kib, 0, 49, "mail@mail.com - Почта", "Клик", 0);
enabledeactive(W_Kib);
pause (10000);
fclose();//закрываем файл
}


//Чтение смешанными типами
if (fopen ("D:\bot\kibor_set\exe\koor.txt", "r"Подмигивание!=0)//открываем файл для чтения "r"
{//если открылся
fread(preiemnik_a[0]);//чтение одного слова
fread(preiemnik_a[1]);
fread(preiemnik_a[2]);
fread(preiemnik_a[3]);
fread(preiemnik_a[4]);
fread(preiemnik_a[5]);

writeclipboard(preiemnik_a[2]);


fclose();//закрываем файл
}
activate(W_Kib);
Key(1, W_Kib, 0, 50, "mail@mail.com - Почта", "Клик", 0);
enabledeactive(W_Kib);
pause (10000);


function Key(int ew, win w, int p1, int c, string text, string k, int p2)
{
pause(p1);
if (ew==0)
{
if (k=="Клик"Подмигивание{key(c); goto hy;}
if (k=="Нажать"Подмигивание{keydown(c); goto hy;}
if (k=="Отпустить"Подмигивание{keyup(c); goto hy;}
if (k=="Ввод текста"Подмигивание{key(text, 0, 1, getwindow()); goto hy;}
}
if (ew==1)
{
if (k=="Клик"Подмигивание{if ((c>191 && c<256) || c==168 || c==184) sendlanguage("00000419", formatiw(gethwnd())); sendmessage(WM_CHAR, c, 1, w); goto hy;}
if (k=="Нажать"Подмигивание{sendkeydown(c, w); goto hy;}
if (k=="Отпустить"Подмигивание{sendkeyup(c, w); goto hy;}
if (k=="Ввод текста"Подмигивание
{
if (Size_Key_Char_Kib==-1)
{
Size_Key_Char_Kib=100;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
int size_key=size(text);
if (Size_Key_Char_Kib<size_key)
{
delete Key_CHAR;
Size_Key_Char_Kib=size_key;
new char Key_CHAR[Size_Key_Char_Kib+1];
}
strcpy(#Key_CHAR[0], text);
for (int n=0; n<size_key; n++)
{
if ((Key_CHAR[n]>191 && Key_CHAR[n]<256) || Key_CHAR[n]==168 || Key_CHAR[n]==184) sendlanguage("00000419", formatiw(gethwnd()));
sendmessage(WM_CHAR, Key_CHAR[n], 1, w);
sleep(20);
}
}
}
hy: pause (p2);
}



 Zireael пишет:
Нужен весь код, который не работает.

Нажатие клавиши 1 - запускает макрос в нокс. Макрос содержит просто комбинацию Ctrl+V
10. konctantin777 - 19 Сентября, 2023 - 04:54:50 - перейти к сообщению
 Zireael пишет:
Можно и так сделать:
CODE:
string Path = "C:\koor.txt";

if(fopen(Path, "r"))
{
int Coord;
while(fread(Coord)==1)
{
messagebox(Coord);
}
fclose();
}
else messagebox("Файл не открылся");

У меня кибор выполняет и выходит без мессаг. Если файл удалить- есть мессага, что не открылся. Файл не пустой...
(Добавление)
Запущен от админа

Powered by ExBB FM 1.0 Final