Ru-Board.club
← Вернуться в раздел «Программы»

» AutoIT

Автор: RwR
Дата сообщения: 18.11.2007 07:35
Спасибо Вам большое, Maza Faka. Вы мне очень помогли.
Автор: Kauffman
Дата сообщения: 18.11.2007 13:11
Скачал Au3ToPst 1.7 и ничё не работает!
Открытие и сохранение файла (самодельные функции) ничего не возвращают (т.е строка, где указан файл для сохр. результата и исходный файл не обновляется, а при сохр. в новый файл откр. диалог, но файл не создаётся). А даже если пишу текст в Едите, результат получается [code][/code]!
Автор: ViSiToR
Дата сообщения: 18.11.2007 13:17
Kauffman

Цитата:
ничё не работает!

Какая версия SciTe/AutoIT?
Автор: Kauffman
Дата сообщения: 18.11.2007 14:35
AutoIt v3.2.8.1 SciTE4AutoIt3 v1.71
Автор: ViSiToR
Дата сообщения: 18.11.2007 14:52
Kauffman
Очень странно, у меня работает отлично... у кого нибудь ещё есть проблемы с утилитой?
Попробуй перезакачать файл, возможно файл не полный.

P.S
Ещё три вопроса:
1) Права на запись файлов имеются на компьютере?
2) Какой путь указываешь к файлам?
3) Проверка синтаксиса по скрипту выдаёт ошибки?
Автор: Leuda
Дата сообщения: 19.11.2007 08:50
Доброго время

Не могу разобраться как запустить батник. К примеру есть командный файл на \\server\test\test.cmd. Вот как его запустить с правами админа домена?

как отпостил north_crow в теме Автоматизация

Цитата:

пример запуска vbs скрипта
; Set the RunAs parameters to use local adminstrator account
RunAsSet("admin user", "domen", "password")

; Run registry editor as admin
$start_line = "wscript " & $CmdLine[1]
Run($start_line)

; Reset user's permissions
RunAsSet()


ну я что то не разобрался
Заранее спасибо!
Автор: euheny
Дата сообщения: 19.11.2007 10:37
ViSiToR

Цитата:
Не пойму, как это связано с моей функцией

так я тестировал твою функцию на этом !

Цитата:
пусть с кодировками хотябы разберутся для начала

так а в каком примере не работает ? (просто интересно)

Цитата:
не уверен как на нашем правильнее, Пауль или Полл

а как тогда на ихнем Пауль ?

Цитата:
есть ещё кучу проблем

так же вкратце какие ?

Цитата:
добавили поддержку DllCallBack!!!

я вобще не понимаю что это такое (хотя чую вещь нужная) может небольшой хелп на слов так 100
Автор: Leuda
Дата сообщения: 19.11.2007 13:10
Доброго Время

Решил свою проблемку с запуском батника под правами админа



Код:
; Set the RunAs parameters to use local adminstrator account
RunAsSet("admin user", "domen", "password")

; Запуск батника
Run(@ComSpec & " /c start \\server\SYSVOL\MAK.local\scripts\update.cmd", "", @SW_HIDE)


; Reset user's permissions
RunAsSet()
Автор: Kauffman
Дата сообщения: 19.11.2007 15:10
ViSiToR
Качал с creator-lab.ucoz
Права на запись есть,
Жму на кнопку "..." и строка рядом не меняется, в Едите тоже не меняется
Даже стандартный файл не обрабатывается.

Цитата:
Проверка синтаксиса по скрипту выдаёт ошибки?

Да нет вроде.
Может я чё не правильно делаю (может надо в SciTE), кстати Интеграция тоже не пашет (у меня стандартный SciTE, который вместе с АутоИтом)


Добавлено:
А, во! Сейчас ещё раз попробовал и получилось! Нормально, но работает только если включен SciTE и туда че-нить написано (AutoIt код). С файлами фигня таже (не работает), т.е. работает только из Едита!
Автор: gregaz
Дата сообщения: 21.11.2007 15:46
Прошу помочь
Требуется изменить содержание строк элементов list-view (переименовать) .
Для одной строки - работает,а для нескольких - не получается

Привожу код :

Код:
#include <GuiConstants.au3>
#include <GuiListView.au3>

Opt("GUIOnEventMode", 1);
GUICreate("Изменить содержание строки list-view.", 392, 322)
$listview = GUICtrlCreateListView("col1|col2|col3", 40, 30, 310, 149, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER), BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_REGIONAL))
GUICtrlCreateListViewItem("index 0|data1|more1", $listview)
GUICtrlCreateListViewItem("index 1|data2|more2", $listview)
GUICtrlCreateListViewItem("index 2|data3|more3", $listview)
GUICtrlCreateListViewItem("index 3|data4|more4", $listview)
GUICtrlCreateListViewItem("index 4|data5|more5", $listview)
_GUICtrlListViewSetColumnWidth ($listview, 0, 100)
$btn_rename = GUICtrlCreateButton("Переименовать", 150, 200, 120, 20)
GUICtrlSetOnEvent(-1, "Btn_Rename")
$btn_rename2 = GUICtrlCreateButton("ПереименоватьN", 150, 250, 120, 20)
GUICtrlSetOnEvent(-1, "Btn_RenameN")
$Btn_Exit = GUICtrlCreateButton("Exit", 300, 260, 70, 30)
GUICtrlSetOnEvent(-1, "CLOSEClicked")
GUISetState()
While 1
Sleep(1000)
WEnd
Opt("GUIOnEventMode", 0);
Func Btn_Rename()
$Nstr=_GUICtrlListViewGetSelectedIndices($listview);
_GUICtrlListViewSetItemText ($listview, $Nstr,0, "Rename")
EndFunc
Func CLOSEClicked()
Exit
EndFunc
Func Btn_RenameN()
$Nstr=_GUICtrlListViewGetSelectedIndices($listview);
$Ar=StringSplit($Nstr,"|");
_ArrayDisplay($Ar,"Массив индексов : $Ar");
For $i=1 To $Ar[0]
     MsgBox(0,"Индекс",$Ar[$i])
     _GUICtrlListViewSetItemText ($listview, $Ar[$i],0, "Rename")
Next
EndFunc
Автор: Maza Faka
Дата сообщения: 21.11.2007 16:44
gregaz
Для чего это $Ar=StringSplit($Nstr,"|") ?
Попробуй так:

Код: #include <GuiConstants.au3>
#include <GuiListView.au3>

Opt("GUIOnEventMode", 1)

GUICreate("Изменить содержание строки list-view.", 392, 322)

$listview = GUICtrlCreateListView("col1|col2|col3", 40, 30, 310, 149, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER), BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_REGIONAL))

GUICtrlCreateListViewItem("index 0|data1|more1", $listview)
GUICtrlCreateListViewItem("index 1|data2|more2", $listview)
GUICtrlCreateListViewItem("index 2|data3|more3", $listview)
GUICtrlCreateListViewItem("index 3|data4|more4", $listview)
GUICtrlCreateListViewItem("index 4|data5|more5", $listview)
_GUICtrlListViewSetColumnWidth ($listview, 0, 100)

$btn_rename = GUICtrlCreateButton("Переименовать", 150, 200, 120, 20)
GUICtrlSetOnEvent(-1, "Btn_Rename")

$btn_rename2 = GUICtrlCreateButton("ПереименоватьN", 150, 250, 120, 20)
GUICtrlSetOnEvent(-1, "Btn_RenameN")

$Btn_Exit = GUICtrlCreateButton("Exit", 300, 260, 70, 30)
GUICtrlSetOnEvent(-1, "CLOSEClicked")
GUISetState()

While 1
Sleep(1000)
WEnd

Func
Btn_Rename()
Local $Nstr = _GUICtrlListViewGetSelectedIndices($listview)
_GUICtrlListViewSetItemText($listview, $Nstr, 0, "Rename")
EndFunc

Func
CLOSEClicked()
Exit
EndFunc

Func
Btn_RenameN()
Local $NstrArray =_GUICtrlListViewGetSelectedIndices($listview, 1)
For $i = 1 To $NstrArray[0]
_GUICtrlListViewSetItemText($listview, $NstrArray[$i], 0, "Rename")
Next
EndFunc
Автор: gregaz
Дата сообщения: 21.11.2007 17:17
Maza Faka,спасибо,все работает.
Оказывается функция : _GUICtrlListViewGetSelectedIndices($listview, 1)
сама имеет флаг создания массива
Не обратил внимания,хотя бился сегодня весь день .Век учись...
Автор: NIKZZZZ
Дата сообщения: 21.11.2007 20:08

Цитата:
3.2.9.12 (17th November, 2007) (Beta)
- Added: DllCallbackRegister(), DllCallbackGetPtr() and DllCallbackFree()
Это будет вместо библиотеки DllCallBack.au3 как мне кажется.

В версии 3.2.9.14 DllCallBack наконец заработал в скомпилированном файле.
Пример:


Код: _FileCopyEx("E:\ISO\xxx.iso", "e:\TestCallBack")

Func _FileCopyEx($Source, $Dest)
If Not FileExists($Source) Then Return SetError(1)
ProgressOn("_FileCopyEx() Demo", "Копирование, ждите плиз...")
$pCopyProgressRoutine = DllCallBackRegister("_CopyProgressRoutine", "int","uint64;uint64;uint64;uint64;dword;dword;ptr;ptr;ptr")
DllCall("kernel32.dll", "int", "CopyFileExA", _
"str", $Source, _
"str", $Dest, _
"ptr", DllCallbackGetPtr($pCopyProgressRoutine), _
"ptr", 0, _
"int", 0, _
"int", 0)
DllCallBackFree($pCopyProgressRoutine)
Sleep(1000)
ProgressOff()
EndFunc

Func _CopyProgressRoutine($TotalFileSize, $TotalBytesTransferred, $StreamSize, $StreamBytesTransferred, $dwStreamNumber, $dwCallbackReason, $hSourceFile, $hDestinationFile, $lpData)
$Precent = $TotalBytesTransferred/$TotalFileSize*100
ProgressSet($Precent, "Проценты: " & Round($Precent, 1) & " %")
Return 0
EndFunc ;==>_CopyProgressRoutine
Автор: ViSiToR
Дата сообщения: 21.11.2007 20:32
euheny

Цитата:
так а в каком примере не работает ?


Вот:


Код: $UnicodeLine = FileRead("Unicode.txt");Содержит текст в UTF-8 with signature

IniWrite("Test.ini", "Sect", "Key", $UnicodeLine & " add to the line")
MsgBox(0, "", FileRead("Test.ini"))
Автор: euheny
Дата сообщения: 22.11.2007 07:54
ViSiToR
хороший ответ !


Цитата:
UTF-8 with signature

Мне UTF-8 вобще отвратительна - надеюсь она скоро помрёт ! А IE6 - в инете вообще медленное самоубийство !
Я думаю что пора уже переходить на UTF-16
Интересно каким должен быть HTML код чтобы обнаружить отсутствие поддержки UTF-16 и сообщить об этом юзеру.

возвращаясь к РВ:
как определяем имя файла и его расширение ?

также что-то я недопонимаю можно ли добавить меру в массив и как это лучше сделать ?



Автор: ViSiToR
Дата сообщения: 22.11.2007 08:27
euheny

Цитата:
как определяем имя файла и его расширение ?

Когда я не умел юзать RegExp, делал так:


Код:
$sPath = "C:\Path\Test.zip"

;Только путь (без имени файла и расширения)
$sPathOnly = StringLeft($sPath, StringInStr($sPath, "\", 0, -1)-1)
MsgBox(0, "", $sPathOnly)

;Только Имя файла
$sFile = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -1))
$sFile = StringLeft($sFile, StringInStr($sFile, ".", 0, -1)-1)
MsgBox(0, "", $sFile)

;Только расширение
$sExt = StringTrimLeft($sPath, StringInStr($sPath, ".", 0, -1))
MsgBox(0, "", $sExt)

;Имя файла + расширение
$sFileAndExt = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -1))
MsgBox(0, "", $sFileAndExt)
Автор: Kauffman
Дата сообщения: 22.11.2007 12:47
У меня пару вопросов по Scintill'е:
1) Как туда в документ добавить текст (может функции SCI_ADDTEXT и SCI_INSERTTEXT подойдут, но я не могу понять как они работают, дайте пример)
Мне надо в открытый док. добавить какую-нибудь свою строку в позицию каретки
2) Как сделать, чтобы Scintilla при изменении размеров окна тоже изменяла свой размер (не резко, а как обычно)
Автор: euheny
Дата сообщения: 23.11.2007 07:56
ViSiToR

Цитата:
В смысле? в нулевой элемент добавить размерность массива?

э не - т.е из какой-то переменной сделать одномерный, потом двумерный, а потом - восьмимерный
Автор: Baloven1
Дата сообщения: 24.11.2007 04:32
Народ, подскажите, нигде правды не могу добиться
смысл в том что необходимо считать данные с ListView и если строк в нем более одной то добавить еще один лист в Excel, НО вот в этом вся и проблема, что в синтаксесе описанном в VBA для метода Copy (...Shets.Copy After: ..Shets(1)) в AutoIt он не работает, с другой стороны запись в виде (...Shets.Copy(Null, ..Shets(1)) тоже не прокатывает
как же скопировать? ссылка на мой топик с этим вопросом на форуме AI

Код: $objExcel = ObjCreate("Excel.Application")
With $oExcel
.Visible = 1
.WorkBooks.Open((@ScriptDir&'\Templates\form.xlt', Default, False)
.ActiveWorkbook.Sheets(1).Select()
EndWith

For $r = 0 to _GUICtrlListViewGetItemCount($ListView)
$a_Item = _GUICtrlListViewGetItemTextArray ($ListView, $r)
If $r <> 0 Then ;Добавление листа если строк более 1й
;..... отсюда не работает
$oTempExcel = ObjCreate("Excel.Application")
With $oTempExcel
.Visible = 1
.WorkBooks.Open(@ScriptDir & '\Templates\form.xlt', Default, False)
.ActiveWorkbook.Activate
.ActiveWorkbook.Sheets("Sheet1").Copy ;здесь сождается новая отдельная книга содержащая скопированный лист
EndWith
$SheetName = 'Sheet' & $r + 1
$objExcel.ActiveWorkBook.WorkSheets.Add.Activate
$objExcel.ActiveSheet.Name = $SheetName
$objExcel.ActiveWorkBook.WorkSheets.Paste
$$oTempExcel.Application.DisplayAlerts = True
$$oTempExcel.Application.ScreenUpdating = True
$oTempExcel.Quit
;.....

EndIf
.....
Заполнение формы
....
Next
Автор: ViSiToR
Дата сообщения: 24.11.2007 05:57
Kauffman

Цитата:
Как туда в документ добавить текст

У меня это срабатывает:


Код: $GetText = ControlGetText("[CLASS:SciTEWindow]", "", "Scintilla1")
ControlSetText("[CLASS:SciTEWindow]", "", "Scintilla1", $GetText & @CRLF & @CRLF & '$NewText = "Some New Text "')
Автор: Kauffman
Дата сообщения: 24.11.2007 13:48
ViSiToR
Текст мне надо добавлять не в конец документа, а в место где стоит каретка (по типу вставки Paste, но только свой текст или строковую переменную)!

Цитата:
Или что-то другое имеется в виду?

Надо изменять размеры Scintilla прямо во время, когда пользователь тянет мышкой за край окна (причем это надо не в SciTE, а в проекте где исп. Scintilla), а то получается пользователь отпускает окно и Scintilla резко принимает размеры этого окна.
Автор: euheny
Дата сообщения: 25.11.2007 07:55
ViSiToR
redim для размерности, а не для мер

а на том сайте от $MS$ я кроме ненависного NET. ничего не увидел !
Автор: Baloven1
Дата сообщения: 25.11.2007 09:52
как подключится из скрипта к базе MS SQL с виндоус авторизацией??? c SQL логином все нормально проходит, а нужно с доменной учетной записью подключится к базе...
Автор: ViSiToR
Дата сообщения: 25.11.2007 15:05
Kauffman

Цитата:
Текст мне надо добавлять не в конец документа, а в место где стоит каретка



Код: $GetText = ControlGetText("[CLASS:SciTEWindow]", "", "Scintilla1")
ControlCommand("[CLASS:SciTEWindow]", "", "Scintilla1", "EditPaste", '$NewText = "Some New Text "')
Автор: ViSiToR
Дата сообщения: 26.11.2007 03:41
AutoIt v3.2.10.0 Release!!!



Цитата:
25 ноября, 2007 - v3.2.10.0

ВНИМАНИЕ: Следующий выпуск AutoIt будет иметь следующие изменения, которые нарушат обратную совместимость:
FileInstall() будет переписана с нуля. FileInstall() функция останется, но не будет действовать таким же образом как ранее. Новые реализации появятся в будущих бета версиях.
Библиотека GUIConstants.au3 стала излишней, она будет идентична GUIConstantsEx.au3. Самый простой способ преодалеть это изменение, заключается в замене всех GUIConstants.au3 на GUIConstantsEx.au3, затем запустите Au3Check, и включите все недостающие библиотеки и константы пока все ошибки не будут исчерпаны.
Это изменение желательно сделать сейчас, оно не требует ожидания будущей бета-версии. В какой-то момент в ходе следующей бета-версии, GUIConstants.au3 станет идентичной GUIConstantsEx.au3, и тогда скрипты использующие GUIConstants.au3 могут работать некорректно (в зависимости от констант, которые используются в скриптах).

Изменено: DllCall() Новый метод передачи типов ByRef используя *.
Изменено: DllCall(): short_ptr, long_ptr, и int_ptr типы запрещены. Используйте short*, long* и int* соответственно.
Изменено: Сняты ограничения на Execute().
Изменено: PCRE движок регулярных выражений обновлен до 7,4.

Добавлено: 64-битные (x64) версии AutoIt, Aut2Exe, Au3Info и AutoItX (см. здесь).
Добавлено: DllCallbackRegister(), DllCallbackGetPtr() и DllCallbackFree() [Ураааа!].
Добавлено: DllCall() теперь принимает двойные типы, int64, uint64, wparam и lparam.
Добавлено: SendKeepActive().
Добавлено: ControlTreeView() [Ураааа!].
Добавлено: ProcessGetStats().
Добавлено: VarGetType() [Ураааа!].
Добавлено: макрос @AutoItX64.
Добавлено: Au3Info: Информация идентификатора для окон и контролей (элементов GUI).
Добавлено: DllStructCreate() добавлен ключ "align" для установки согласования структуры.

Исправлено: Control...() функции при использовании CLASS и TEXT вместе иногда приводит к неправильному результату.
Исправлено: Control ...() функции при использовании CLASSNN иногда приводит к неправильному результату.
Исправлено: Предпросмотр панели задач в Windows Vista вызывает проблемы с соответствием (поиском) окон.
Исправлено: $var = $var не выводило ошибку если переменная $var не обьявлена.
Исправлено: GUICtrlSetImage() регрессии с изменением размера в 3.2.4.9.
Исправлено: GUICtrlCreateListView() без колонок (Columns).
Исправлено: Экстра уведомление при использовании цветной кнопки.
Исправлено: IniReadSectionNames() для секции без имени ( [] ).
Исправлено: Opt( "WinTitleMatchMode", Default) фатальная ошибка.
Исправлено: GUICtrlSetStyle() с $ES_READONLY плохой $WS_TABSTOP.
Исправлено: AutoIt вылетает при выходе, если в функциях Win...() COM-объект используется как заголовок.
Исправлено: ProcessExists() с сервисным процессом под Win2K.
Исправлено: DefPushButton поведение [Ураааа!].
Исправлено: ControlCommand(SelectString) порядок отбора.
Исправлено: Массив не может иметь 2 ^ 24 записей (элементов).
Исправлено: GuiCreateMenu() на окна без заголовка и без области клиентской части.
Исправлено: WinWaitActive() иногда не срабатывает после WinActivate().
Исправлено: При использовании GUIRegisterMsg() в цикле, не срабатывает отмена ригестрации.
Исправлено: Фокус на ES_READONLY Edit контроля.
Исправлено: Многочисленные исправления в UDF'ах.


Перевод by CreatoR (мой), мод на перевод от Google






P.S

Скажу от себя, что в этой версии, как я и писал ранее, разработчики сделали поворот в 360 градусов, изменили многие функции, добавили новые. Да, теперь чтобы перейти на новую версию, нужно будет поменять многие (если не все) наши скрипты, я если честно не спешу этого делать, т.к у меня их слишком много - разработчики знают о том, что подобные перемены проблематичны скриптерам, но понаблюдав за их действиями (на оф. форуме), можно понять, что такие перемены оправданы, тем более что это принесёт пользу в будущем, ведь рано или поздно нужно что-то менять, улучшать, и лучше поменять всё(?) одним махом, чем каждый раз по чуть чуть, мучаясь переписывая скрипты.

Happy Scripting!!!
Автор: euheny
Дата сообщения: 26.11.2007 07:55
ViSiToR

Цитата:
Или я не понял что означает "для мер", или ты не понял как можно использовать ReDim

или или
обрати внимание - твой пример не работает (или это только у меня ?) - первый массив уничтожается

а вообще только единицы на этом форуме не ленятся переводить
может не поленишся сделать справку по регулярным выражениям (с примерчиками и всё такое) ?
Автор: ViSiToR
Дата сообщения: 26.11.2007 08:51
euheny


Цитата:
первый массив уничтожается

Конечно, он же переобъявляется в двумерный
Чтобы сохранить значения нужно пройтись по всем элементам и приписать их в новом массиве.


Цитата:
только единицы на этом форуме не ленятся переводить

Скорее вопрос не лени, а свободы времени (у меня по крайней мере так). Кропотливая работа - перевод .


Цитата:
сделать справку по регулярным выражениям

Если бы я знал до такой степени RegExp, то написал бы, но я сам до сих пор открываю справку/примеры чтобы вспомнить/узнать как осуществить ту или иную задачу
Автор: NIKZZZZ
Дата сообщения: 26.11.2007 10:29
Баг - Koda - создаем форму About Box - генерится с виду нормальный код, но картинки нет !
GUICtrlCreatePic не работает непонятно, почему.
Автор: ViSiToR
Дата сообщения: 26.11.2007 11:05
NIKZZZZ

Цитата:
создаем форму About Box

Это где такая форма? или что имеется в виду?
Автор: NIKZZZZ
Дата сообщения: 26.11.2007 11:32
ViSiToR
Запускаем "c:\Program Files\AutoIt3\SciTE\Koda\FD.exe"
Меню "файл" => "новая" => "About Box"

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

Предыдущая тема: Quintura Search


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.