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

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

1. AdryV - 21 Декабря, 2017 - 06:25:54 - перейти к сообщению
то что нашел на форуме и правил кажись работает но интересно оптимальный ли это вариант?
код (Отобразить)

в общем скрипт должен по нажатию кнопки распознавать числа из поля эдит до 5 и записывать их в массив.
если введено 1 число то выводит только одно остальные все 0
если 5 то все 5 ну и тд....
нужно для того что бы:
в поле эдит вбил перечень ид мбов которые будут проверяться


/////////////////////////////////////////////
и еще вопрос немного в другую тему
имеется файл размером 140КБ строк 2814
такого типа: 33=Гарпия //ид и имена все разные
возможно ли привязать этот файл для проверки?
тоисть атакую моб ид 33 оно открывается файл ищет 33 находит и потом выдает имя моба...
или сразу весь файл записать в массивы
и как это будет влиять на работу самого скрипта?
2. Zireael - 21 Декабря, 2017 - 07:34:39 - перейти к сообщению
 Цитата:
имеется файл размером 140КБ строк 2814
такого типа: 33=Гарпия //ид и имена все разные
возможно ли привязать этот файл для проверки?

Содержимое ini файла:
CODE:
[33]
name=Гарпия
[48]
name=Орк

CODE:
string path="C:\Users\abc\Desktop\Mobs.ini"; // путь к ini файлу
char str[50];
external (INT, "GetString", "GetPrivateProfileStringA", "kernel32.dll");

GetString ("33", "name", 0, address (#str[0]), 50, path);
messagebox (format (#str[0]));

GetString ("48", "name", 0, address (#str[0]), 50, path);
messagebox (format (#str[0]));
3. Zireael - 21 Декабря, 2017 - 10:02:32 - перейти к сообщению
 Цитата:
такого типа: 33=Гарпия //ид и имена все разные

Может пригодится. Перевести txt в ini:
code (Отобразить)
4. AdryV - 23 Января, 2018 - 12:44:56 - перейти к сообщению
 AdryV пишет:
и еще вопрос немного в другую тему
имеется файл размером 140КБ строк 2814

все же застрял на этам моменте.... так как если в прогармму загружать 3000 строк то сам скрипт тормозит до жути
как я уже понял из этой темы
что нельзя открывать файл с указанной строкой к сожалению...
а что если для каждой строки создать файл и выполнять открытие файла и считывание?
как будет открывать файл если рядом с ним находятся 3000 фалов?
или возможно ли это все запихнуть в архив и как то открывать нужный файл?
5. Dantes3000 - 23 Января, 2018 - 13:05:39 - перейти к сообщению
AdryV , как вариант - создай ехе с простеньким скиптом, который будешь запускать в фоне при надобности. Он в себя загрузит 3000 строк и запишет в отдельный txt нужную тебе. Потом закроется
6. AdryV - 23 Января, 2018 - 13:11:41 - перейти к сообщению
 Dantes3000 пишет:
как вариант - создай ехе с простеньким скиптом, который будешь запускать в фоне при надобности. Он в себя загрузит 3000 строк и запишет в отдельный txt нужный тебе. Потом закроется

это все равно займет время но и не будет тормазить основной скрипт... я думаю что будет быстрее если отрывать весь файл в хексе и выполнять поиск нужного текста или ИД и по найденому считать определенное количество байт в массив и преобразовать.... то вот как это реализовать еще не понял
7. Zireael - 23 Января, 2018 - 14:18:36 - перейти к сообщению
Чем ini не устраивает?
8. AdryV - 24 Января, 2018 - 00:38:06 - перейти к сообщению
у меня почему то не работает
 Zireael пишет:
Содержимое ini файла:
CODE:
[33]
name=Гарпия
[48]
name=Орк

CODE:
string path="C:\Users\abc\Desktop\Mobs.ini"; // путь к ini файлу
char str[50];
external (INT, "GetString", "GetPrivateProfileStringA", "kernel32.dll"Подмигивание;

GetString ("33", "name", 0, address (#str[0]), 50, path);
messagebox (format (#str[0]));

GetString ("48", "name", 0, address (#str[0]), 50, path);
messagebox (format (#str[0]));

пробовал примеры с других тем тоже не пашет
 idcco пишет:
Есть файл config.ini на диске C:\ (С:\config.ini) со следующим листингом:
CODE:
[Default]
Name=Bot

Если использовать такой код:
CODE:
char str[255];
external (INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll"Подмигивание;
GetPrivateProfileString ("Default", "Name", 0, address (#str[0]), 255, "C:\config.ini"Подмигивание;
string name = format (#str[0]);
messagebox (name);

то в переменной name получается верное значение - "Bot". Оно и выводится сообщением messagebox.

пробовал кодировки менять на utf и на ansi все равно выводит пустое поле
(Добавление)
разобрался просто нужно было обязательно указывать полный путь к файлу... а я просто указывал имя файла так как он лежал в папке с скриптом

Powered by ExBB FM 1.0 Final