Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (12): В начало « 4 5 6 7 8 9 [10] 11 12 »   

> Описание: Добавлены файловые операции (чтение запись в текстовый файл)
Kibor
Отправлено: 12 Февраля, 2021 - 22:00:24
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Добавлена функция freadlineall
Ее назначение считывание за один вызов указанное количество строк с текстового файла или пока не будет достигнут конец файла.

Синтаксис:
CODE:
freadlineall(#stroka[0], 2000000);

Параметр первый = Указатель на массив string, в который будут считываться строки
Второй - количество строк которое надо считать.
Указывать можно больше чем есть в наличие. В таком случае будет считываться весь файл и функция завершит работу.
Если в файле больше строк чем выделен массив, это приведет к ошибке в программе.

Возвращает реально прочитанное количество строк.

Пример
CODE:
string slovar[500];
int k;

if (fopen ("C:\russian.txt", "r")!=0)
{
k=freadlineall(#slovar[0], 100);
fclose();
}
messagebox (k);

for (int n=0; n<k; n++)
{
messagebox (slovar[n]);
}
 
 Top
Paskuda
Отправлено: 13 Февраля, 2021 - 11:22:32
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 61
Дата рег-ции: Янв. 2021  
Репутация: 0




Можно ли надеяться в будущем на работу хотя бы с Экселем т.к. копировать из него построчно тот еще гемор, как и создание txt-файла в качестве промежуточного буфера.
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 11:35:03
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4462
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Можно ли надеяться в будущем на работу хотя бы с Экселем

И сейчас можно.
1. Конвертировать из xlsx в csv и читать/записывать как txt файл.
2. Установить модуль для python и сделать что нужно.
3. Через createpipeprocess запустить powershell и сделать что нужно.
 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 22:10:12
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Рабочий пример

 Zireael пишет:
Через createpipeprocess запустить powershell и сделать что нужно.

Сомневаюсь я .. Что то никак.. Видать защита не дает таких возможностей..
Получилось только реально запускать и манипулировать клавиатурой или вставлять через буфер обмена.

Такой скрипт powershell - ра создает файл, делает в него запись и сохраняет на диск:
CODE:
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $true
$WorkBook = $Excel.Workbooks.Add()
$LogiclDisk = $WorkBook.Worksheets.Item(1)
$LogiclDisk.Name = 'Логические диски'
$LogiclDisk.Cells.Item(1,1) = 'Буква диска'
$WorkBook.SaveAs('C:\Bot\1\Report.xlsx')
$Excel.Quit()


Печатать клавиатурой

CODE:
start("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe");
while (window (-1, "ConsoleWindowClass", -1)==0)sleep(50);
win w=window (-1, "ConsoleWindowClass", -1);
pause(1000);
string A="$Excel = New-Object -ComObject Excel.Application;$Excel.Visible = $true;$WorkBook = $Excel.Workbooks.Add();$LogiclDisk =$WorkBook.Worksheets.Item(1);$LogiclDisk.Name = ^'Логические диски^';$LogiclDisk.Cells.Item(1,1) = ^'Буква диска^';$WorkBook.SaveAs(^'C:\Bot\1\Report.xlsx^');$Excel.Quit()^n";
key(A, 1, 1, w);



Ввод через буфер обмена (Для вин 7) В других версиях может меню отличаться. Настроить на свое.

CODE:
start("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe");
while (window (-1, "ConsoleWindowClass", -1)==0)sleep(50);
win w=window (-1, "ConsoleWindowClass", -1);
sendlanguage("00000409", w);//Русс раскладка
string A="$Excel = New-Object -ComObject Excel.Application;$Excel.Visible = $true;$WorkBook = $Excel.Workbooks.Add();$LogiclDisk =$WorkBook.Worksheets.Item(1);$LogiclDisk.Name = ^'Логические диски^';$LogiclDisk.Cells.Item(1,1) = ^'Буква диска^';$WorkBook.SaveAs(^'C:\Bot\1\Report.xlsx^');$Excel.Quit()";
writeclipboard(A);//В буфер обмена
pause(1000);

//alt + Space для вызова меню
//Затем 5 раз вниз по меню, 1 раз враво, 2 раза вниз и ентер.
//Опять ентер
keydown(MENU, 1, 0, w); key(SPACE, 1, 0, w); keyup(MENU, 1, 0, w);
sleep(500);
loop(5){key(DOWN, 1, 0, w); sleep(300);}
key(DOWN, 1, 0, w);
sleep(500);
key(RIGHT, 1, 0, w);
sleep(500);
loop(2){key(DOWN, 1, 0, w); sleep(300);}
key(RETURN, 1, 0, w);
sleep(500);
key(RETURN, 1, 0, w);
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 23:02:05
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4462
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Видать защита не дает таких возможностей..

Каких именно?
 Цитата:
Такой скрипт powershell - ра создает файл, делает в него запись и сохраняет на диск:

Если этот скрипт выполнился, то и остальное можно сделать.
Антивирусник может блокировать запуск powershell в скрытом режиме. Тогда добавить в исключения.
 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 23:04:10
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Zireael пишет:
Каких именно?

Да первая же.
CODE:
$Excel = New-Object -ComObject Excel.Application

Эксель не запускается.

 Zireael пишет:
Если этот скрипт выполнился, то и остальное можно сделать.

Он выполняется. Только не по Pipe..
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 23:12:55
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4462
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Эксель не запускается.

У меня работает через pipe.
Если добавить powershell в исключения антивирусника?
Если сохранить код в файл с расширением .ps1, то выполнит код?
Если запустить консоль с параметром SW_SHOW?
 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 23:30:05
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Zireael пишет:
У меня работает через pipe.

Через Киборовский?
 Zireael пишет:
Если добавить powershell в исключения антивирусника?

Нету Даже виндовского.
 Zireael пишет:
Если запустить консоль с параметром SW_SHOW?

Пробовал по разному.
 Zireael пишет:
Если сохранить код в файл с расширением .ps1, то выполнит код?

Пробовал тоже.

Выводит это:
 Цитата:
Команда :
powershell.exe C:\Bot\1\myScript.ps1

Выводит следующее:
Не удается загрузить файл C:\Bot\1\myScript.ps1, так как выполнение скриптов за
прещено для данной системы. Введите "get-help about_signing" для получения допо
лнительных сведений.



get-help about_signing говорит что то про подписи и тд. Особо не вникал.
Короче надо что то возможно настраивать.
 
 Top
Zireael
Отправлено: 13 Февраля, 2021 - 23:47:21
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4462
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Через Киборовский?

Да.
Запустить консоль от админа, в начало скрипта добавить эту строку:
CODE:
Set-ExecutionPolicy Unrestricted -Force

Выполнит код?
 
 Top
Kibor
Отправлено: 13 Февраля, 2021 - 23:55:16
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Zireael пишет:
Выполнит код?

Да.

И файл командой C:\Bot\1\myScript.ps1 выполнился. А с Кибор не хочет.

 Zireael пишет:
Цитата:
Через Киборовский?

Да.


Код скиньте полный.
 
 Top
Страниц (12): В начало « 4 5 6 7 8 9 [10] 11 12 »
Сейчас эту тему просматривают: 6 (гостей: 6, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by