Что нового

Обсуждение AutoIt бета-версий

gora

Знающий
Сообщения
315
Репутация
19
Поменяли UPX с версии 3.3 на 3.5 (годовой давности) при наличии последней версии 3.7. Кто-то знает причины такого решения?
 

Ranos1982

Новичок
Сообщения
130
Репутация
1
Мне тоже интересно,чем вызвано это изменение в Upx.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
какое-то несерьезное изменение, и из-за этого новая версия... хм...
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
ИМХО несерьезно они стали клепать бетки...
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
До этого было затишье перед бурей. Единственное, что пока хорошего было сделано, это исправлено (добавлено) выравнивание в структурах.
 

SyDr

Сидра
Сообщения
651
Репутация
158
Тут главное, похоже не то, что беты клепают, а то, что вообще новые версии выходят.
 

gora

Знающий
Сообщения
315
Репутация
19
Поставил последнюю (3.3.7.5) beta версию, наблюдаю следующее:
capture_29052011_110439.png

Часть кнопок (их в окне 5 штук) не прорисована, при перемещении курсора над кнопками они появляются.
Ни кто подобного не наблюдает?
На стабильной версии этого нет.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
gora
Похоже, что у Вас Label закрывает кнопки. :scratch:
 

gora

Знающий
Сообщения
315
Репутация
19
madmasles [?]
Похоже, что у Вас Label закрывает кнопки.
Какой?
Код:
; Универсальное окно
#Include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <StaticConstants.au3>

$presskey = BitOR(_IsPressed('10'), 2 * _IsPressed('11'), 4 * _IsPressed('12'))

$codeKey = 0
$criptArchive = 0
$criptHdr = 1
$PassWord = "PassWord"
$inputPass = ""

$allWinSFX = 8
$v56 = 'Это не окно вашего архива'
$v57 = 'Закрыть все окна архива'
$v58 = 'сразу'
$v64 = "c"
$v82 = "Шифрование"
$v83 = "Шифровать архив"
$v84 = "Шифровать заголовки файлов"
$v85 = "Введите пароль"

;_Window("!!! " & $v56 & " !!!", $v57 & " (" & $allWinSFX & ") " & $v58 & "? ", "OK", 1, 1, 0, @DesktopWidth - 280, @DesktopHeight - 145, 10)

$Title="Архивирование папок/файлов"
$Text="Размер выделенных папок/файлов" & @TAB & "20 123 456 789" & @LF & "Выбранный размер словаря (МБ)" & @TAB & "32" & @LF & "Выбранный метод сжатия" & @TAB & "LZMA" & @LF & @LF & "1. Создать solid архив с максимальным сжатием" & @LF & "2. Создать non-solid архив" & @LF & "3. Создать архив без сжатия" & @LF & "4. Создать solid архив с максимальным сжатием" & @LF & "    консольным архиватором"

$TextButton="1 вариант" & @TAB & "2 вариант" & @TAB & "3 вариант" & @TAB & "4 вариант" & @TAB & "Отмена"
;_Window($Title,$Text,$TextButton,1,5,1,-1,-1,10)

;$TextButton="1 вариант" & @TAB & "2 вариант" & @TAB & "3 вариант"
_Window($Title,$Text,$TextButton,4)
;_Window($Title,$Text,$TextButton,3)
;_Window($Title,$Text,$TextButton,2)

Exit

;----------------------------------------------------------------------
Func _Window($Title,$Text,$TextButton,$Icon=2,$Focus=1,$Pass=0,$pozX=-1,$pozY=-1,$timer=0)
;   универсальное окно
    Opt('MouseCoordMode', 2)
    $nDefButton = ''
;   число строк
    $array = StringSplit($Text, @LF)
;   расчет ширины окна по самой длинной строке
    $widthWind = 0
    For $i = 1 To $array[0]
        $space = StringSplit($array[$i], @TAB, 1)
        $width = StringLen($array[$i])*5.65 + 60 + $space[0]*10; - ($space[0]*0.65)
        If $widthWind < $width Then $widthWind = $width
    Next
;   расчет ширины окна по числу кнопок
    $buttons = StringSplit($TextButton, @TAB)
    $widthButton = 65
    $step = 5
    If $step*($buttons[0]+1)+$widthButton*$buttons[0] > $widthWind Then
        $widthWind = $step*($buttons[0]+1)+$widthButton*$buttons[0]
        $leftotstup = 0
    Else
        $leftotstup = ($widthWind-$widthButton*$buttons[0]-$step*($buttons[0]-1))/2
    EndIf
;   расчет высоты окна
    $textHeight = $array[0]*16+15
    $heightWind = $textHeight+40
    If $Pass Then $heightWind+=85
;   создание окна
    $hGui = GUICreate($Title, $widthWind+6, $heightWind + 30, $pozX, $pozY, $WS_SYSMENU)
;   задание иконки и шрифта для окна
    GUISetFont(8.5, 400, 0, "Tahoma")
;   GUISetIcon("Button.exe")  

;   Вывод кнопок с центрированием
    For $i = 1 To $buttons[0]
        $button=GUICtrlCreateButton($buttons[$i], $leftotstup+$step*$i+$widthButton*($i-1), $heightWind-35, $widthButton, 25)
        If $i = $Focus Then
            GUICtrlSetState(-1, BitOR($GUI_FOCUS, $GUI_DEFBUTTON))
            $focButW = $leftotstup+$step*$i+$widthButton*($i-1)+$widthButton/2
            $focButH = $heightWind-35+25/2
            $nDefButton = $button
            $sDefButtonText = $buttons[$i]
        EndIf
    Next

;   Вывод Текста
    For $i = 1 To $array[0]
        $subline = StringSplit($array[$i], @TAB)
        GUICtrlCreateLabel($subline[1], 50, 10+16*($i-1), $widthWind-60)
        If $subline[0] > 1 Then
            $widthNumber = StringLen($subline[2])*5.65 + 5
            GUICtrlCreateLabel($subline[2], 50 + $widthWind-60 - $widthNumber, 10+16*($i-1), $widthNumber, -1, $SS_RIGHT)
        EndIf
    Next

;   Вывод поля Шифрование
    If $Pass Then
        GUICtrlCreateGroup($v82, 5, $textHeight, $widthWind-10, 85)
        ; CHECKBOX
        $check1 = GuiCtrlCreateCheckbox($v83, 15, $textHeight+20, $widthWind-25, 14)
        $nextfield=$GUI_DISABLE
        If $criptArchive = 1 Then
            $nextfield=$GUI_ENABLE
            GUICtrlSetState(-1, $GUI_CHECKED)
        EndIf
        ; CHECKBOX
        $check2 = GuiCtrlCreateCheckbox($v84, 15, $textHeight+40, $widthWind-25, 14)
        If $criptHdr = 1 Then GUICtrlSetState(-1, $GUI_CHECKED)
        GUICtrlSetState(-1, $nextfield)
        ; INPUT
        $input1 = GUICtrlCreateLabel($v85 & ":", 15, $textHeight+60)
        GUICtrlSetState(-1, $nextfield)
        $input2 = GuiCtrlCreateInput($PassWord, 105, $textHeight+60-3, $widthWind-120, 20)
        GUICtrlSetState(-1, $nextfield)
        GUICtrlCreateGroup("", -99, -99, 1, 1)  ;close group
    EndIf
;   Вывод иконки: 1 - !, 2 - ?, 3 - X, 4 - i
    GUICtrlCreateIcon("user32.dll", $Icon + 100, 10, 10)
    GUISetState()  ; display the GUI
;   Вывод звука иконки
    If $Icon = 1 Then $iMessageBeep = 0x00000030
    If $Icon = 2 Then $iMessageBeep = -1
    If $Icon = 3 Then $iMessageBeep = 0x00000010
    If $Icon = 4 Then $iMessageBeep = 0x00000040
    DllCall("user32.dll", "int", "MessageBeep", "int", $iMessageBeep)
;   перевод мышки на кнопку в фокусе
    If $presskey >0 Then
        WinSetOnTop($hGui, "", 1)
        If RegRead("HKCU\Control Panel\Mouse", "SnapToDefaultButton") = 1 Then MouseMove($focButW, $focButH, 0)
    EndIf
;   таймер
    If $timer > 0 Then
        $iCounter = $timer
        $timer = TimerInit()
        GUICtrlSetData($nDefButton, $sDefButtonText & ' (' & $iCounter & ' ' & $v64 & ')')
    EndIf
    Do
    $codeKey = GUIGetMsg()
        If $timer > 0 Then
            If TimerDiff($timer) >= 1000 Then
                $timer = TimerInit()
                $iCounter -= 1
                If $iCounter <= 0 Then $codeKey = $GUI_EVENT_CLOSE
                GUICtrlSetData($nDefButton, $sDefButtonText & ' (' & $iCounter & ' ' & $v64 & ')')
            EndIf
            If _IsPressed('25') + _IsPressed('27') > 0 Then
                GUICtrlSetData($nDefButton, $sDefButtonText)
                $timer = 0
            EndIf
        EndIf
        If $Pass AND $codeKey = $check1 Then
            $nextfield=$GUI_DISABLE
            If GUICtrlRead($check1) = $GUI_CHECKED Then $nextfield=$GUI_ENABLE
            GUICtrlSetState($check2, $nextfield)
            GUICtrlSetState($input1, $nextfield)
            GUICtrlSetState($input2, $nextfield)
        EndIf
        If $codeKey = $GUI_EVENT_CLOSE Then
            $codeKey = $buttons[0]
        Else
            $codeKey -= 2
        EndIf
    Until $codeKey > 0 AND $codeKey <= $buttons[0]
    
    $criptArchive = 0
    $criptHdr = 0
    $inputPass = ""
    If $Pass Then 
        If GUICtrlRead($check1) = $GUI_CHECKED Then $criptArchive = 1
        If GUICtrlRead($check2) = $GUI_CHECKED Then $criptHdr = 1
        $inputPass = GUICtrlRead($input2)
    EndIf
GUIDelete()
EndFunc ;==> _Window()
gora [?]
На стабильной версии этого нет.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
gora
Я был прав (добавил в Вашем скрипте подложку под Label)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
В функции GUICtrlCreateLabel() неправильно определяется высота, если она явно не указана (пятый параметр) и первый параметр является пустой строкой.

Код:
GUICreate('MyGUI', 200, 100)
GUICtrlCreateLabel('', 10, 10, 180)
GUICtrlSetBkColor(-1, 0xFF0000)
GUISetState()

Do
Until GUIGetMsg() = -3
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
И как это Jon забыл написать в списке изменений такое важно изменение :laugh::

FileSaveDialog/FileOpenDialog return selected filter type

Т.е получается теперь FileSaveDialog и FileOpenDialog умеют возвращать тип выбранного фильтра...

P.S
Оно было сделано аж в самой первой бете последней серий (3.3.7.0).


Добавлено:
Сообщение автоматически объединено:

Мда.. похоже оно не работает/не добавлено :'(.
Но тикет то помечен как «Решено»...
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Проверял утилиту printable_version и обнаружил что на новой версии не работает, компактный пример вот:
Код:
#include <ie.au3>
GUICreate('', 200, 200)
$oIE = _IECreateEmbedded()
GUICtrlCreateObj($oIE, 10, 10, 180, 180)
_IENavigate($oIE, 'about:blank')
_IEDocWriteHTML($oIE, "<html><body><h1>Привет</h1></body></html>")
GUISetState()
Sleep(2000)

Проверил на 3.3.7.10 и 3.3.7.14. Отписывать не стал на офсайте.
 
Верх