Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Буфер обмена + txt

Ответить
Настройки темы
[решено] Буфер обмена + txt

Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


Собственно. Есть производственная необходимость имея файл с текстом, по нажатию горячей клавишы копировать каждый раз, по очереди, новую строку в буфер, примерно так:
Код: Выделить весь код
Открываем файл.txt
Копируем в буфер строку
паузим скрипт
Повтор для следующей строки
Остановило то, что у меня не вышло (если такое вообще возможно) преобразовать переменную и скопировать ее в буфер. В итоге пришлось пользоватся такой схемой:

Код: Выделить весь код
Opt("TrayIconDebug",1) 
HotKeySet("{Esc}" , "MyExit")
Global $Paused
HotKeySet("{SPACE}", "TogglePause")

$M = 1
ClipPut ( 'Текст 1' )
ToolTip('$M = ' & $M,0,0)
Send("{SPACE}")
$M += 1

ClipPut ( 'Текст 2' )
ToolTip('$M = ' & $M,0,0)
Send("{SPACE}")
$M += 1
...
Func TogglePause()
	$bak = ClipGet()

    $Paused = NOT $Paused
    While $Paused
        sleep(100)
        ToolTip($M &"й имейл : " & $bak,0,0)
    WEnd
    ToolTip("")
EndFunc
Func MyExit()
	MsgBox(0, "Сообщение системы", "скрипт завершен")
    Exit 
EndFunc
Но приходится каждую строку вбивать в скрипт вручную, что очень неудобно, при количестве строк 50-100. А таких скриптов нужно несколько.

Проще говоря, можно ли использовать буфер с текстом из файла и буфера, а если можно то как?

Отправлено: 18:29, 26-11-2009

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Возможно так:

Код: Выделить весь код
Opt("TrayIconDebug",1)

Global $iCount = 1
Global $sFile = @DesktopDir & "\Lines.txt"

HotKeySet("{ESC}", "_Exit")
HotKeySet("{SPACE}", "_CopyToClipBoard_Proc")

_CopyToClipBoard_Proc()

While 1
    Sleep(100)
WEnd

Func _CopyToClipBoard_Proc()
    $sLine = FileReadLine($sFile, $iCount)

    If @error Then
        MsgBox(16, "Сообщение системы - Ошибка!", "Ошибка при чтений файла (возможно достигнут конец файла).")
        Exit
    EndIf

    ClipPut($sLine)
    ToolTip('$iCount = ' & $iCount, 0, 0)

    $iCount += 1
EndFunc

Func _Exit()
    Exit MsgBox(48, "Сообщение системы", "Скрипт завершен")
EndFunc
?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:31, 27-11-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


Creat0R, Все гениальное - просто. Шикарно, спасибо, это как раз то, что я и пытался сделать

Отправлено: 00:45, 28-11-2009 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Буфер обмена + txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Буфер обмена с помощью Автоит Str_ani_ck AutoIt 15 07-08-2009 03:12
[решено] Windows 2003 Терминальный режим и буфер обмена Firefish Microsoft Windows NT/2000/2003 5 24-04-2008 11:56
Буфер обмена brown123 Microsoft Windows 95/98/Me (архив) 3 11-11-2005 12:25
Буфер обмена Full User Microsoft Windows NT/2000/2003 9 01-10-2004 16:26
Буфер обмена Besht Хочу все знать 11 07-08-2002 20:00




 
Переход