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

Показать сообщение отдельно

Аватара для Sanja Alone

Ищу Человека…


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

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


ghosty
Цитата:
Имеется выделенный текст. При нажатии определенного сочетания кнопок этот текст необходимо сохранить в виде отдельного *.txt файла
Ну, можно вот так, например:
Код: Выделить весь код
;предотвращение возможности множественного запуска скрипта
If WinExists(@ScriptName) Then Exit
AutoItWinSetTitle(@ScriptName)

;устанавливаем хоткей (в данном сл. это Ctrl+Alt+Z; выбор за тобой)
HotKeySet("^!z", "SaveToFile")

;определение каталога для сохранения файлов
Global $DestinationDir = "c:\working folder"
;запуск основного бесконечного цикла
While 1
Wend

Func SaveToFile()
;заносим выделенный текст в буфер обмена
Send ('^c')
;режим записи: 1 - дописывание данных; 2 - перезапись файла
$mode = 1
;имя файла (в данном сл. будет иметь вид ГодМесяцДень-ЧасыМинутыСекунды.txt, например 20051211-053438.txt)
$Destination = $DestinationDir & '\' & @YEAR & @MON & @MDAY & '-' & @HOUR & @MIN & @SEC & '.txt'
;если каталог назначения не существует - создаем его
If Not FileExists($DestinationDir) Then DirCreate($DestinationDir)
;берем данные из буфера обмена
$Data = ClipGet()
;запись данных в файл (совмещена с проверкой и выводом сообщения в сл. неудачи)
If WriteArrayToFile($Destination, $Data, $mode)<>1 Then MsgBox(16,'Error','Unable to write data to destination file',8)
EndFunc

;функция записи массива в файл
Func WriteArrayToFile($sFilePath, $Array, $writemode)
	Local $hOpenFile
	Local $hWriteFile
		
	$hOpenFile = FileOpen($sFilePath, $writemode)
	
	If $hOpenFile = -1 Then
		SetError(1)
		Return 0
	EndIf
	
	$hWriteFile = FileWrite($hOpenFile, $Array)
		
	If $hWriteFile = -1 Then
		SetError(2)
		Return 0
	EndIf
	
	FileClose($hOpenFile)
	Return 1
EndFunc
Цитата:
- либо соответствующим первым трем словам первой строки текста;
- либо просто порядковым номером
Можно и так, и так, но это сложнее и неудобнее.


selanec555
Цитата:
как это отловить/недопустить/корректно обработать?
MultiSet тут явно не поможет Нужно писать скрипты для этих приложений и обрабатывать данную ситуацию - либо ключами тихой установки с отменой перезагрузки, либо установкой клацаньем по окнам с отрицательным ответом на вопрос о перезагрузке.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 06:59, 11-12-2005 | #257