Версия для печати темы
UoKit.com Форумы _ Плагины и доп. ПО _ Плагин для работы с файлами
Автор: Cockney 11.4.2016, 14:24
Плагин дает возможность работать с файлами побайтово.
Актуальная версия :
FilesAPI0000.zip ( 30,63 килобайт )
Кол-во скачиваний: 2571
Минимальная версия пилота : 2.36
Описание функций :
CreateFile
Код
set $a FilesAPI.CreateFile (<имя файла>) - Создает файл и автоматически дает доступ к чтению/записи.
Возвращаемое значения :
-1 - ошибка создания файла
<рандомное число> - хендл файла
OpenFile
Код
set $a FilesAPI.OpenFile (<имя файла> <режим открытия>) - Открывает существующий файл в заданном
режиме.
Допустимые значения <режим открытия> :
Read
Write
ReadWrite
Возвращаемые значения :
-1 - ошибка открытия файла
-2 - <режим открытия> либо задан некорректно либо вообще не задан
<рандомное число> - хендл файла
CloseFile
Код
set $a FilesAPI.CloseFile (<хендл файла>) - Закрывает файл.
Возвращаемые значения :
-1 - ошибка закрытия ли неправильный хендл
1 - успешно
SetFilePos
Код
set $a FilesAPI.SetFilePos (<хендл файла> <смещение> <позиция>) - Устанавливает указатель в файле на нужное <смещение> относительно <позиция>
Допустимые значения <смещение> :
Любое неотрицательное число (желательно не превышать общий размер файла).
Допустимые значения <позиция> :
FILE_CURRENT - текущая позиция
FILE_BEGIN - начало файла
FILE_END - конец файла
Возвращаемые значения :
-1 - ошибка установки смещения
-2 - некорректное <смещение>
-3 - неккоректное <позиция>
<число> - новая позиция в файле
SetWriteMode
Код
set $a FilesAPI.SetWriteMode (<хендл файла> <режим>) - устанавливает порядок записи байт.
Допустимые значения <режим> :
LE - litle-endian порядок
BE - big-endian порядок
Возвращаемые значения :
-1 - ошибка, возможно некорректный хендл файла
-2 - <режим> либо не задан либо некорректен
1 - успешно
Примечания :
SetWriteMode влияет только на работу функций WriteWORD, WriteDWORD. Остальные функции записи
игнорируют этот параметр.
SetReadMode
Код
set $a FilesAPI.SetReadMode (<хендл файла> <режим>) - устанавливает порядок чтения байт.
Допустимые значения <режим> :
LE - litle-endian порядок
BE - big-endian порядок
Возвращаемые значения :
-1 - ошибка, возможно некорректный хендл файла
-2 - <режим> либо не задан либо некорректен
1 - успешно
Примечания :
SetReadMode влияет только на работу функций ReadWORD, ReadDWORD. Остальные функции чтения
игнорируют этот параметр.
WriteBYTE
Код
set $a FilesAPI.WriteBYTE (<хендл файла> <байт>) - пишет байт в файл в текущую позицию.
Допустимые значения <байт> :
Все числа в диапозоне 0..255.
Возвращаемые значения :
-1 - ошибка записи или некорректный хендл
-2 - некорректный параметр <байт>
1 - успешно
WriteWORD
Код
set $a FilesAPI.WriteWORD (<хендл файла> <слово>) - запись в файл слова в текущую позицию.
Допустимые значения <слово> :
Число, не превышающее 65535.
Возвращаемые значения :
-1 - ошибка записи или неверный хендл.
-2 - некорректный параметр <слово>.
1 - успешно
WriteDWORD
Код
set $a FilesAPI.WriteDWORD (<хендл файла> <дворд>) - запись двойного слова в файл в текущую
позицию.
Допустимые значения <дворд> :
Число, не превышающее 4294967295.
Возвращаемые значения :
-1 - ошибка записи или неверный хендл.
-2 - некорректный параметр <дворд>.
1 - успешно
WriteArrayOfByte(для версий <= 2.35)
Код
set $a FilesAPI.WriteArrayOfByte (<хендл файла> <байты>) - запись массива байт в файл в
текущую позицию.
Допустимые значения <байты> :
Массив размерностью [1 N] элементов, содержащих числа в диапозоне 0..255.
Возвращаемые значения :
-1 - ошибка записи или неверный хендл
-2 - некорректный параметр <байты>
<число> - успешно. сколько фактически записано байт.
Примечания :
Перед вызовом функции необходимо установить разделитель элементов массива как пробел.
set delimiter ' '
WriteArrayOfByte(для версий >= 2.36)
Неготово.
ReadBYTE
Код
set $a FilesAPI.ReadBYTE (<хендл файла>) - чтение байта из файла с текущей позиции.
Возвращаемые значения :
-1 - ошибка чтения или неверный хендл.
<число> - успешно. прочитанный байт.
ReadWORD
Код
set %a FilesAPI.ReadWORD (<хендл файла>) - чтение слова из файла с текущей позиции.
Возвращаемые значения :
-1 - ошибка чтения или неверный хендл
Массив размером [1 2] в котором содержаться :
[1 1] - старший байт слова
[1 2] - младший байт слова
Примечания :
Порядок возвращаемых байт зависит от SetReadMode.
ReadDWORD
Код
set %a FilesAPI.ReadDWORD (<хендл файла>) - чтение двойного слова из файла с текущей позиции.
Возвращаемые значения :
-1 - ошибка чтения или неверный хендл
Массив размером [1 2] в котором содержаться :
[1 1] - старшее слово дворда
[1 2] - младшее слово дворда
Примечания :
Порядок возвращаемых слов зависит от SetReadMode.
ReadArrayOfByte (для версий <= 2.35)
Код
set $a FilesAPI.ReadArrayOfByte (<хендл файла> <кол-во байт>) - чтение массива байт из
файла с текущей позиции.
Допустимые значения <кол-во байт> :
Неотрицательное число до 1048575.
Возвращаемые значения :
-1 - ошибка чтения или неверный хендл
-2 - некорректный параметр <кол-во байт>
Массив размером [1 <кол-во байт>]
ReadArrayOfByte (для версий >= 2.36)
Неготово.
LogicOR
Код
set $a FilesAPI.LogicOR (<операнд 1> <операнд 2>) - логическое ИЛИ.
Допустимые значения <операнд 1> и <операнд 2> :
Числа до 4294967295
Возвращаемые значения :
-1 - ошибка.
-2 - некорректный(е) параметры.
<число> - успешно. Результат.
LogicXOR
Код
set $a FilesAPI.LogicXOR (<операнд 1> <операнд 2>) - логичесоке исключающее ИЛИ.
Допустимые значения <операнд 1> и <операнд 2> :
Числа до 4294967295
Возвращаемые значения :
-1 - ошибка
-2 - некорректный(е) параметры
<число> - успешно. Результат.
LogicSHL
Код
set $a FilesAPI.LogicSHL (<операнд 1> <операнд 2>) - поразрядный сдвиг влево.
Допустимые значения <операнд 1> и <операнд 2> :
Числа до 4294967295
Возвращаемые значения :
-1 - ошибка
-2 - некорректный(е) параметры
<число> - успешно. Результат.
LogicSHR
Код
set $a FilesAPI.LogicSHR (<операнд 1> <операнд 2>) - поразрядный сдвиг вправо.
Допустимые значения <операнд 1> и <операнд 2> :
Числа до 4294967295
Возвращаемые значения :
-1 - ошибка
-2 - некорректный(е) параметры
<число> - успешно. Результат.
LogicAND
Код
set $a FilesAPI.LogicAND (<операнд 1> <операнд 2>) - логичесоке И.
Допустимые значения <операнд 1> и <операнд 2> :
Числа до 4294967295
Возвращаемые значения :
-1 - ошибка
-2 - некорректный(е) параметры
<число> - успешно. Результат.
LowBYTE
Код
set $a FilesAPI.LowBYTE (<слово>) - получение младшего байта из слова.
Допустимые значения <слово>:
Числа до 65535.
Возвращаемые значения :
-1 - ошибка
-2 - некорректный параметр <слово>
<число> - успешно. Результат.
HighBYTE
Код
set $a FilesAPI.HighBYTE (<слово>) - получение старшего байта из слова.
Допустимые значения <слово>:
Числа до 65535.
Возвращаемые значения :
-1 - ошибка
-2 - некорректный параметр <слово>
<число> - успешно. Результат.
LowWORD
Код
set $a FilesAPI.LowWORD (<дворд>) - получение младшего слова из дворд.
Допустимые значения <дворд>:
Числа до 4294967295.
Возвращаемые значения :
-1 - ошибка
-2 - некорректный параметр <дворд>
<число> - успешно. Результат.
HighWORD
Код
set $a FilesAPI.HighWORD (<дворд>) - получение страшего слова из дворд.
Допустимые значения <дворд>:
Числа до 4294967295.
Возвращаемые значения :
-1 - ошибка
-2 - некорректный параметр <дворд>
<число> - успешно. Результат.
BuildWORD
Код
set $a FilesAPI.BuildWORD (<байт> <байт>) - сборка двух байт в одно слово.
Допустимые значения <байт>'ов:
Числа 0..255.
Возвращаемые значения :
-1 - ошибка
-2 - некорректный параметр(ы) <байт>
<число> - успешно. Результат.
BuildDWORD
Код
set $a FilesAPI.BuildDWORD (<слово> <слово>) - сборка двух слов в один дворд.
Допустимые значения <слово>'ов:
Числа до 4294967295.
Возвращаемые значения :
-1 - ошибка
-2 - некорректный параметр(ы) <слово>
<число> - успешно. Результат.
Основные моменты :
1)Все параметры
регистрозависимые.
2)Все параметры
заключаются с обоих сторон символом '*'.
3)В параметрах допускаются пробелы, но они обрезаются(если с расположены с краев).
4)Все функции чтения/записи меняют значение позиции указателя в файле(указатель на текущий байт).
Имейте это ввиду и контролируйте функций SetFilePos.5)После окончания работы с файлом необходимо его закрыть.
6)В один файл можно писать/читать из нескольких вкладок(особо не тестил, но вроде работает).
7)Маск. размер файла - 2Гб.
Автор: DarkMaster 11.4.2016, 14:59
А псевдо хекс прикрутишь?) Чтобы записывать типа: 0F15A6B45CC8A21E.
Надо будет еще посмотреть заголовки бмп бинарных и рисунки можно в скрипт прятать.
Автор: Cockney 11.4.2016, 15:09
Ах да, вместо десятичных чисел можно передавать в шестнадцатеричном виде. т.е. пропускаем через dec2hex и отдаем в плагин. и наоборот,когда получаем из плагина юзаем dec2hex. это имелось ввиду?
числа в 16х должны быть в формате пилота, с 0x.
Автор: DarkMaster 11.4.2016, 15:13
Цитата
это имелось ввиду?
Имелось ввиду длинную строку. У меня просто первая мысль которую давно хотел сделать: сейвить бмп внутри скрипта. Если под каждые 4 байта делать вызов, то это будет очень длинно.
Автор: Cockney 11.4.2016, 15:13
WriteArrayOfByte/Read....
Автор: DarkMaster 11.4.2016, 15:18
я походу слепой... два раза смотрел - находил только read...
Автор: cirus 12.4.2016, 11:22
Цитата
Плагин дает возможность работать с файлами побайтово.
Для чего это надо?
Автор: Cockney 12.4.2016, 12:35
Была надобность часто работать именно так с файлами. Лень было таскать с собой иде от нормального языка, сделал плагин. Поделился.
Автор: DarkMaster 12.4.2016, 13:20
Цитата
Для чего это надо?
Это надо. Сам хотел) Бывает необходимость поправить пару байт либо считать какой-нибудь формат далекий от синтаксиса загрузки массива.
Кстати из банального - это позволит сделать дописывание текста в файл.
А в чем проблема с плагином для версии 36+? Она вроде вниз полностью совместима при условии использования переноса строк "\r\n".
Автор: Cockney 12.4.2016, 13:39
в 36 будет другой механизм передачи и получения массивов с данными. Что-бы обойти все ограничения, в частности на 32кб возвращаемые.
Автор: DarkMaster 12.4.2016, 13:57
Это я догадываюсь. Я не понимаю почему длл в неизменном виде с 2.17 протоколом для 2.35 версии нельзя использовать на 2.36.
Автор: Cockney 12.4.2016, 14:01
Можно, только зачем? Это не сложно сделать. Но если есть вариант для 36, зачем использовать урезанный?
Автор: DarkMaster 12.4.2016, 14:50
Цитата
Это не сложно сделать.
Меня именно этот момент и интересует. Почему нужно что-то делать, чтобы оно заработало. Изначально планировалась максимальная совместимость вниз, чтобы подобных проблем не возникало. Где лажанули интересно...
Автор: Cockney 12.4.2016, 16:14
Так, по порядку.
1)Что бы обеспечить уж полную совместимость - ничего делать и не нужно. Все будет как сейчас.
2)Что мне хотелось бы поправить для 36 : передача данных по ссылке, а не строкой в плагин, что с уменьшит время работы функции при файлах > 10мб.
Выглядеть это будет так :
WriteReadArrayOfByte(<хендл файла> <адрес массива>)
Второй вариант, универсальный для обоих версий :
WriteReadArrayOfByte(<хендл файла> <адрес массива> <флажок, какой метод нужен>).
Ну а на возврат....
Автор: WKnight 12.4.2016, 16:17
А я тут случайно добавил команду вывода текста в файл 'write (<filename> <any text>)'. Файл всегда дописывается если существует. Подстроки '\n' и '\r' заменяются на символы с кодами 13 и 10 соответственно.
Автор: DarkMaster 12.4.2016, 16:27
оно уже есть?
write 1.txt 13\r\n
результата не дало...
Цитата
Ну а на возврат....
А в чем проблема возврата? Так же по ссылке указатели поправить и норм.
Автор: WKnight 12.4.2016, 16:35
Оно вчера вечером появилось, а сегодня на форум захожу, а оно вон оно как...
Автор: DarkMaster 12.4.2016, 18:02
Цитата
Оно вчера вечером появилось, а сегодня на форум захожу, а оно вон оно как...
Тем не менее надо понимать, что у тебя заточенная готовая функция, а тут микроскоп, который может гвозди любые забивать, но это микроскоп. И нечего тут офтопить)
Автор: Cockney 12.4.2016, 19:09
Микроскопом гвозди забивать ?!
-----------
Проблем с возвратом нет, надо копать.....как придумаю красивый вариант...но пока будет так : 32кб для 35 и неограниченно для 36.
Автор: DarkMaster 12.4.2016, 19:33
Цитата
Микроскопом гвозди забивать ?!
Если касательно дописывания текста в файл, то да) Посимвольно разделять строку по массиву, а потом передавать в плагин предварительно открыв файл, установив режим записи и выставив позицию записи, если рядом будет функция просто дописывающая текст, то да - микроскоп. Но это не значит, что микроскоп плох. Вся его радость в том, что ограничений нет. Ну разве что скорость парсинга строк пилота будет неизбежно тормозить процесс при объемной работе, но при этом работа будет сделана, причем любая.
Кстати не очень понятный момент, а как в версиях 2.35 и ниже передавать массив, если передача массива появилась только в 2.36? Или имеется ввиду, что мы записываем:
%arr[1 1] y
%arr[1 2] w
%arr[1 3] f
а передаем:
%arr[1]
?
Тогда это все-таки передача не массива, а элемента массива...
Автор: Cockney 12.4.2016, 21:23
Да, получается тогда элемент, я путаюсь в понятиях.
Автор: Cockney 17.4.2016, 9:45
Кто сталкивался с таким?
Есть элемент размера дворд (сразу скажу, что это часть заголовка бмп, ширина или высота картинки). Считал, получил младший байт с размером(т.к. ширина меньше 255, то он и будет в младшем байте лежать). Но стоит увеличить ширину, к примеру, до 500, и код, обрабатывающий младший байт идет мимо. Нужно работать со старшим словом. Естественно, размер картинки заранее не известен, и код соответственно разный. Есть какие идеи, че можно с этим придумать? И подчеркну, о бмп неизвестно абсолютно ничего.
Автор: DarkMaster 17.4.2016, 11:22
Цитата
И подчеркну, о бмп неизвестно абсолютно ничего.
Я очень сильно не уверен, что имеет смысл обрабатывать бмп в общем виде. Вариантов кодировок бмп ОЧЕНЬ много. Для начала я бы ограничился актуальными для пилота.
По проблеме - можно проверять старший и в зависимости от его содержимого считывать младший и строить логику. Вообще не плохо бы почитать по сам формат. Там все не так просто, я уже когда-то садился из любопытства почитать и понял, что это бред, который если не нужен для работы, то читать из интереса не будешь.
Автор: Cockney 17.4.2016, 12:28
Кодировки тут не при чем. Я хочу получить дворд, но значение в этом дворде может быть равно и 1 байту, а может и двум. Это не известно. Но нужно получить корректное значение. Тут любое почти поле может быть таким.
А на предмет чего проверять старший а потом младший? они могут быть не пустые и разного размера.
К примеру :
Ширина бмп : 25
Дворд : 94386478256
Старший ворд : 56352
Младший : 47
Ширина бмп : 400
Дворд : 85676530932
Старший ворд : 48274
Младший : 5438
Числа взял от балды, но когда на деле копал примерно тоже самое было.
Документация тут поможет только для получения смещений полей. Все.
Автор: DarkMaster 17.4.2016, 15:33
Цитата
Документация тут поможет только для получения смещений полей. Все.
Кхе. Доки я уже когда-то смотрел, как уже писал. Может я не совсем корректно выразился "кодировки", если угодно "форматы". Бмп он не один. Его много. В этих "много" как раз куча разных вариантов заполнения шапки. Что точно помню, так это то, что там в начале идет номер байта с которого начинается не посредственно битовая маска(это статично во всех форматах), а после уже остальной заголовок который сильно разнится по размеру, полям и содержанию в зависимости от "формата". В общем виде может оказаться проще посмотреть начала битовой маски и размер файла, чем заниматься поддержкой всех полей.
Автор: Cockney 17.4.2016, 16:38
Ну, тут срежем, там обойдем, и получится не полноценная, асфальтированная дорога, а протоптанная дорожка.
Ты не понимаешь про что я. Мне все равно какие поля и за что они отвечают и как расположены, мне важно получить правильные данные, которые находятся в этих полях.
Как я уже говорил : есть дворд(8573465947398), но ценных данных в нем - 1 байт. И именно его нужно получить, причем не зная где и как он в этом дворде расположен. Вот в чем проблема.
Вернее как он расположен мы знаем, но не знаем, байт ли нам нужен или нет.
Автор: DarkMaster 17.4.2016, 17:22
Цитата
Ну, тут срежем, там обойдем, и получится не полноценная, асфальтированная дорога, а протоптанная дорожка.
Ты собираешься работать со всеми бмп? Ищи либу. Я реально не вижу обрабатывать, например, сжатие в бмп - им никто не пользуется.
Цитата
Вернее как он расположен мы знаем, но не знаем, байт ли нам нужен или нет.
Смотри доки, смотри какие структуры могут содержаться и в каких форматах. Это надо тупо сидеть и дословно перерисовывать 10 вариантов стандарта в код.
Автор: Cockney 17.4.2016, 18:16
Нет, я имею ввиду, сооовсем другое.
Смотри :
Код
//делаем дворд
//сначала or потом shl
set $a FilesAPI.LogicOR (*250* *16*) //250 - старшая часть, 16 - младшая
set $g FilesAPI.LogicSHL (* $a * *16*) //сдвиг влево на 16
set logging $g
end_script
Этот код генерирует дворд, представь, что этот дворд мы прочитали из файла. Получается : 16384000. Запоминаем.
Этот дворд имеет основание - 250, что входит в рамки 1 байта.
А вот следующий дворд :
Код
//делаем дворд
//сначала or потом shl
set $a FilesAPI.LogicOR (*340* *16*) //340 - старшая часть, 16 - младшая
set $g FilesAPI.LogicSHL (* $a * *16*) //сдвиг влево на 16
msg $g
end_script
Получаем 22282240. Тоже запоминаем. И думаем, что мы прочитали это из файла.
Этот дворд уже имеет основание 340, что выходит за рамки байта и подпадает под ворд.
Итого имеем :
16384000(250) и 22282240(340). Вот. А теперь представь, что мы не знаем какое у них основание. Просто прочитали и все. Но, из этих чисел нужно вытащить эти основания. Из одного вытащить 1 байт(250), а из другого 2(340). Надеюсь я понятно пояснил задачу.
Если под форматом бмп имеется ввиду порядок байт, то можно прочитать их в нужном режиме, но проблема другого характера. Нужно понять, что перед нами - 1 байт или 2.
Автор: DarkMaster 17.4.2016, 18:37
Цитата
Если под форматом бмп имеется ввиду порядок байт
Под ним имеется ввиду заголовок в комплексе и сжатие битмапа.
Цитата
Нужно понять, что перед нами - 1 байт или 2.
Дворд предполагает, что у нас есть 4 байта и эти 4 байта могут иметь значения от 00 до ff каждый. Если значение хранится и менно в дворде, то при хранении, например, 250, он не допускает наличие каких-либо значений в остальных байтах, соответственно мы можем смело утверждать, что запись будет выглядеть, как:
00 00 00 FA // При нормальном порядке байт
FA 00 00 00 // При обратном порядке байт.
Т.е. чтобы понять сколько у нас по факту байт используется и вычислить основание, нам просто нужно посчитать количество пустых байт подряд начиная со старшего. Ну либо я так и не понял тебя...
Если же это не натуральный дворд и количество байт выделяемых под размер динамическое, то должен быть либо указатель/номер байта либо какое-то дополнительное поле в структуре дающее понять где начало и где конец значения, чтобы отделить его от следующего параметра структуры.
Если я все еще туплю - напиши пару примеров в хексе: до значения, занчение, после значения.
Автор: Cockney 17.4.2016, 21:30
Нет, все что нужно расписал. Будем пытаться.
Автор: Cockney 9.5.2016, 14:09
Итак, кто реально юзал плагин? Какие неудобства ?
И есть ли толк от ReadWORD/DWORD , если в случае :
Цитата
00 00 00 FA // При нормальном порядке байт
FA 00 00 00 // При обратном порядке байт.
Т.е. чтобы понять сколько у нас по факту байт используется и вычислить основание, нам просто нужно посчитать количество пустых байт подряд начиная со старшего.
намного легче получить массив байт, а не из целого дворда выбивать каждый байт?
Автор: DarkMaster 9.5.2016, 18:27
Цитата
Итак, кто реально юзал плагин? Какие неудобства ?
Пока не юзал, задачи у плагина все-таки несколько специфичные. Несколько раз меня очень сильно припирало из-за отсутствия данного функционала в пилоте, но сейчас случай не представился. Из использования на каждый день - это хранение бмп внутри скрипта. На стороне пилота описывать не стал, т.к. думал ты собрался делать.
Цитата
намного легче получить массив байт, а не из целого дворда выбивать каждый байт?
Легче чем что? Для чего? Непонял...
Автор: Cockney 9.5.2016, 18:47
ReadArrayOfByte практичней, чем ReadDWORD получается (даже не знаю, вопрос это или утверждение). Если по той ситуации судить. Легче получить сразу массив из 4 байт, чем получить дворд, а потом его по байту разбирать и проверять.
----
Не, я с бмп не планировал работать.
-----
А вообще, была идея сделать плагин-контейнер для бмп, только вот не нашел как разумно к пилоту прибить ( в плане использования фаиндов по скрину в памяти плагина).
Автор: DarkMaster 9.5.2016, 18:58
DWORD/WORD вообще не должны возвращать слова. Они должны возвращать готовое число, которое нет необходимости пересобирать. В этом их смысл этих типов данных и этим они отличаются от массива байт.
Цитата
-1 - ошибка чтения или неверный хендл
Массив размером [1 2] в котором содержаться :
[1 1] - старшее слово дворда
[1 2] - младшее слово дворда
Одинаковое описание для ворда и дворда.
Автор: Cockney 9.5.2016, 19:07
Хотел высказаться, но чет долго это будет. Если короче, то ReadDWORD для чтения адресов, констант, а ReadArrrayOfByte для всего остального, так?
Не одинаковое описание же.
Для ворда :
Старший/младший байт слова
Для дворда :
Старшее/младшее слово дворда
Автор: DarkMaster 9.5.2016, 19:12
Цитата
Если короче, то ReadDWORD для чтения адресов, констант, а ReadArrrayOfByte для всего остального, так?
Так. Ну и dword основной контейнер для хранения числовых переменных, а не только констант и адресов.
Цитата
Не одинаковое описание же.
виноват. Показалось, что слова в слове были.
Автор: Cockney 9.5.2016, 19:21
Воот. А перечитай мой тогдашний вопрос. про вытаскивание истинного значения. Про это я и говорю, что считывание массива байт удобней для дальнейшей проверки, чем считывание дворда и его дальнейшая разборка на байты.
и выходит, что в целом считывание массива куда экономнее.(от ситуации, конечно, зависит,но..),чем дворда.
Автор: DarkMaster 9.5.2016, 19:21
Суть моего прошлого поста была в том, что плагин не должен (д)ворд возвращать, как куски значений. Он должен возвращать сразу готовое число.
Автор: Cockney 9.5.2016, 19:24
Помоему,он его и возвращает,а куски как бонус. Либо не дописал в описании, либо и правда только кусками.
Автор: FREEON 15.7.2017, 10:12
Наверное каждый(или почти каждый) задавался вопросом, как создать один exe-шник с функциями которые можно подрубить или выключить во время нужного выполняемого нам действия. Вот и у меня сейчас он стоит. Вроде бы среду для создания бота нашел, отлично для этого дела подойдет Visual Studio(видео уроков хватает). Привязать можно, кнопочки и пр. фишки создать можно. Но встает вопрос...Где можно нарыть библиотеки, что бы наша прога понимала команды и функциии с пилота? А то писать заново как-то сложно ну и пока что не совсем понятно как. Если у кого-то есть файл с библиотекой то выложите пожалуйста?!
Автор: Cockney 15.7.2017, 16:03
Цитата
Вроде бы среду для создания бота нашел, отлично для этого дела подойдет Visual Studio
Такс. Хорошо. Но, боюсь, для освоения этого чудовища нужны хотя-бы базовое понимание происходящего в этой среде. Ну, а судя по вопросу
Цитата
Где можно нарыть библиотеки, что бы наша прога понимала команды и функциии с пилота?
такого не имеется.
Цитата
Где можно нарыть библиотеки, что бы наша прога понимала команды и функциии с пилота?
Нигде, никак и никогда. Такие библиотеки(полнофункциональные) не распространяются в принципе. Нет, если конечно, заплатить, то м.б.
Цитата
А то писать заново как-то сложно ну и пока что не совсем понятно как
Забыть. Просто забыть про идею что-либо писать самому с такими познаниями в данной сфере. Забив в гугл : "компиляция бота" можно выйти на пару интересных решений, которые все умеют и с кнопочками, рюшечками и золотыми бусами. Но они платные. От пары евро (200р) в месяц до бесконечности. Я бы лучше заплатил и не мучился.
Автор: FREEON 15.7.2017, 19:40
Цитата(Cockney @ 15.7.2017, 16:03)
Такс. Хорошо. Но, боюсь, для освоения этого чудовища нужны хотя-бы базовое понимание происходящего в этой среде. Ну, а судя по вопросу такого не имеется.
Нигде, никак и никогда. Такие библиотеки(полнофункциональные) не распространяются в принципе. Нет, если конечно, заплатить, то м.б.
Забыть. Просто забыть про идею что-либо писать самому с такими познаниями в данной сфере. Забив в гугл : "компиляция бота" можно выйти на пару интересных решений, которые все умеют и с кнопочками, рюшечками и золотыми бусами. Но они платные. От пары евро (200р) в месяц до бесконечности. Я бы лучше заплатил и не мучился.
Дай денег.
Ну Рим тоже не сразу строился. Ну научиться никогда не поздно и навыки никогда не бывают лишними. Ну в принципе такого ответа и ожидал...Благодарю что хоть направление для поиска указал будем искать и бусинками обвешивать.
Автор: Cockney 15.7.2017, 21:12
Я в шоке с наглости. Дайте библиотеку, программу, да чтоб само все работало без меня, да чтоб легко все было. А как же труд разработчика библиотеки,программы ? Такие вещи СТОЯТ своих денег, и они ОПРАВДЫВАЮТ себя, если продаются, конечно. Ну, ты конечно же, лучше знаешь цену чужому труду. Вот как напишешь что-то стоящее, тогда сам и оценишь свою поделку(и конечно же, она будет стоить денег, это же мое !).
Информации в интернете полно : эмуляция клавиш, снять скриншот, клик мышью эмуляция и т.п. запросы в гугл.
И все же, я призываю купить уже готовое. Я не поверю, что 200-300р. неподъемная цена для среднего жителя России. Тем более, что готовые боты можно будет продавать и получать прибыль.
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)