Показать полную графическую версию : [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
gregaz,
А в чём проблема использовать более одной функции? :) . Ограничении вроде нет.
gregaz,
А в чём проблема использовать более одной функции? . Ограничении вроде нет. »
Может быть и так.Просто работа универсальной ф-ии мне более понятна.
Можно попутно еще вопрос ?
Насколько я понял (для универсальной ф-ии в моем примере) одновременное использование одинарного и двойного кликов одной и той же кнопки мыши не предполагается.
Для выявления двойного клика можно было бы выдержать паузу,но не останавливая работы скрипта.
Как правильно это организовать?
Maza Faka
21-01-2008, 07:02
gregaz
дновременное использование одинарного и двойного кликов одной и той же кнопки мыши не предполагается.
Поподробнее пожалуйста, имеется в виду клики на ListView items?
gregaz,
А в чём проблема использовать более одной функции? . Ограничении вроде нет. »:
Эта функция сортировки работает только на ListView ,созданном внутренней ф-ей : GUICtrlCreateListView
При создании ListView с помощбю UDF : _GUICtrlListView_Create - не хочет
Тогда,как редактирование на месте - наоборот . Получаются вилы ?
gregaz
Цитата:
дновременное использование одинарного и двойного кликов одной и той же кнопки мыши не предполагается.
Поподробнее пожалуйста, имеется в виду клики на ListView items? »
Да конечно
Надо выявить двойной клик на ListView items ,игнорируя первый (одинарный) одной и той же кнопкой мыши
gregaz,
Как правильно это организовать?
Двойной клик улавливается сообщениями ($NM_DBLCLK), в справке есть пример (в _GUICtrlListView_Create()).
Когда мы кликаем два раза подряд (промежуточность установлена системой), то в ListView посылается сообщение $NM_DBLCLK, вот его и нужно улавливать (испол. WM_NOTIFY_EVENTS()).
Maza Faka
21-01-2008, 09:55
gregaz Эта функция сортировки работает только на ListView ,созданном внутренней ф-ей : GUICtrlCreateListView
При создании ListView с помощбю UDF : _GUICtrlListView_Create - не хочет
Тогда,как редактирование на месте - наоборот . Получаются вилы ?
Остаётся ждать новой версии в которой будет реализована (http://www.autoitscript.com/forum/index.php?showtopic=62164&view=findpost&p=465748) сортировка средствами UDF.
kalikanzaros
21-01-2008, 10:21
упс два раза задал вопрос...
kalikanzaros, почему скрипт, после удаления ярлыка из автозагрузки, перед самым ребутом, создает его снова???
Возможно из за этого...
; если ярлык в автозапуске не сущ-ет - создаем его и выходим
?
:)
P.S
Shutdown(6) не завершает работу скрипта, пока компьютер будет перезапускаться, строчка с созданием ярлыка будет выполнена.
kalikanzaros
21-01-2008, 10:57
Creat0R,
понятно спасибо, как я понимаю проблему должно решить добавление строки с "exit" после строки Shutdown(6)
Вот попробовал накалякать LVSort позволяющюю и сортировать на ListView,созданном с помощью UDF
При этом сохраняется возможность редактирования на месте
#include <GuiListView.au3>
#include <GuiImageList.au3>
$Gui = GUICreate("Test", 400, 250)
$hListView = _GUICtrlListView_Create($GUI, "Items|SubItems", 2, 2, 220, 196, BitOR($LVS_EDITLABELS, $LVS_REPORT))
$hImage = _GUIImageList_Create (16,16,5);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 3);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 11);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 22);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 33);
_GUICtrlListView_SetImageList ($hListView, $hImage, 1)
$ListItem1 = _GUICtrlListView_AddItem($hListView, "Boris",0)
$ListItem2 = _GUICtrlListView_AddItem($hListView, "Anna",2)
$ListItem3 = _GUICtrlListView_AddItem($hListView, "Sveta",1)
$ListItem4 = _GUICtrlListView_AddItem($hListView, "Misha",3)
$ListSubItem1 = _GUICtrlListView_AddSubItem ($hListView, 0,'44', 1)
$ListSubItem2 = _GUICtrlListView_AddSubItem ($hListView, 1,'22', 1)
$ListSubItem3 = _GUICtrlListView_AddSubItem ($hListView, 2,'11', 1)
$ListSubItem4 = _GUICtrlListView_AddSubItem ($hListView, 3,'33', 1)
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
Global $B_DESCENDING[_GUICtrlListView_GetColumnCount ($hListView) ]
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
;------------------------------------------------------------------------------
Func LVSort($in)
$itN=_GUICtrlListView_GetItemCount($hListView)
$colN=_GUICtrlListView_GetColumnCount($hListView)
Dim $iArr[$itN][$colN+2]
For $ii=0 To $itN-1
$aItem=_GUICtrlListView_GetItem($hListView, $ii)
For $jj=0 To $colN-1
$iArr[$ii][$jj]=_GUICtrlListView_GetItemText($hListView, $ii,$jj)
$iArr[$ii][$jj+1]=$aItem[4]
Next
Next
_ArraySort( $iArr,'','','',$colN+1)
For $ii=0 To $itN-1
_ArraySwap( $iArr[$ii][0], $iArr[$ii][$in] )
Next
_ArraySort( $iArr,0,0,0,$colN+1)
For $ii=0 To $itN-1
_ArraySwap( $iArr[$ii][0], $iArr[$ii][$in] )
Next
_GUICtrlListView_DeleteAllItems($hListView)
For $ii=0 To $itN-1
_GUICtrlListView_AddItem($hListView,$iArr[$ii][0],$iArr[$ii][2])
For $jj=1 To $colN-1
_GUICtrlListView_AddSubItem ($hListView, $ii,$iArr[$ii][$jj], $jj)
Next
Next
EndFunc
;-----------------------------------------------------------------------------------
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $hListView
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $LVN_COLUMNCLICK ; Клик по колонке
$aHit = _GuiCtrlListView_SubItemHitTest ($hWndListView)
LVSort($aHit[1])
Case $LVN_BEGINLABELEDIT
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Return False
Case $LVN_ENDLABELEDIT
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
If StringLen(DllStructGetData($tBuffer, "Text")) Then Return True
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
Наверняка ее можно еще упростить.
gregaz,
Цитата:Как правильно это организовать?
Двойной клик улавливается сообщениями ($NM_DBLCLK), в справке есть пример (в _GUICtrlListView_Create()).
Когда мы кликаем два раза подряд (промежуточность установлена системой), то в ListView посылается сообщение $NM_DBLCLK, вот его и нужно улавливать (испол. WM_NOTIFY_EVENTS()). »
Да двойной то улавливает и эта функция (если добавить соответственно $iCode : $NM_CLICK и $NM_DBLCLK,но сначала улавливается одинарный клик(его не знаю как пропустить) чтобы среагировать на второй (от двойного) ?
Maza Faka
21-01-2008, 14:17
gregaz
Вот попробовал накалякать LVSort
Молодец. ;) Неплохая идея. Только надо довести до конца, реализовать обратную сортировку.
Да двойной то улавливает и эта функция (если добавить соответственно $iCode : $NM_CLICK и $NM_DBLCLK,но сначала улавливается одинарный клик(его не знаю как пропустить) чтобы среагировать на второй (от двойного) ?
А для чего? Что бы предотвратить переименование по одному клику?
Да двойной то улавливает и эта функция (если добавить соответственно $iCode : $NM_CLICK и $NM_DBLCLK,но сначала улавливается одинарный клик(его не знаю как пропустить) чтобы среагировать на второй (от двойного) ?
А для чего? Что бы предотвратить переименование по одному клику? »
При двойном клике я получаю два сигнала от 1-го клика и второго (двойного)
Как обработать их различив
Например при одинарном запуск файла - при двойном на редактирование файла
Я понимаю нужно начать обработку полученного рез-та через промежуток времени после прохождения двойного клика
Не могу сообразить как это сделать не останавливая работу скрипта (Sleep не подходит
т.к приостанавливает скрипт)
gregaz
Цитата:Вот попробовал накалякать LVSort
Молодец. Неплохая идея. Только надо довести до конца, реализовать обратную сортировку. »
А обратная сортировка запросто получится использованием _ArrayReverse
Непонятно чем заказать порядок сортировки .Этот заказанный порядок должен поступить на
$WM_NOTIFY. Наверно через стили ListView ?
gregaz
Цитата:Вот попробовал накалякать LVSort
Молодец. Неплохая идея. Только надо довести до конца, реализовать обратную сортировку. »
Вот что получилось :
При первом клике колонки - прямая сортировка
При повторном - обратная
#include <GuiListView.au3>
#include <GuiImageList.au3>
$Gui = GUICreate("Demo Func LV_Sort", 400, 250)
$hListView = _GUICtrlListView_Create($GUI, "Items|SubItems1|SubItems2|SubItems3", 2, 2, 320, 120, BitOR($LVS_EDITLABELS, $LVS_REPORT))
$hImage = _GUIImageList_Create (16,16,5);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 3);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 11);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 22);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 43);
_GUIImageList_AddIcon ($hImage, "shell32.dll", 44);
_GUICtrlListView_SetImageList ($hListView, $hImage, 1)
$ListItem1 = _GUICtrlListView_AddItem($hListView, "Boris",0)
$ListItem2 = _GUICtrlListView_AddItem($hListView, "Anna",2)
$ListItem3 = _GUICtrlListView_AddItem($hListView, "Sveta",1)
$ListItem4 = _GUICtrlListView_AddItem($hListView, "Misha",3)
$ListItem5 = _GUICtrlListView_AddItem($hListView, "Olga",4)
_GUICtrlListView_AddSubItem ($hListView, 0,'44', 1)
_GUICtrlListView_AddSubItem ($hListView, 1,'22', 1)
_GUICtrlListView_AddSubItem ($hListView, 2,'11', 1)
_GUICtrlListView_AddSubItem ($hListView, 3,'33', 1)
_GUICtrlListView_AddSubItem ($hListView, 4,'55', 1)
_GUICtrlListView_AddSubItem ($hListView, 0,'Петр', 2)
_GUICtrlListView_AddSubItem ($hListView, 1,'Елена', 2)
_GUICtrlListView_AddSubItem ($hListView, 2,'Анна', 2)
_GUICtrlListView_AddSubItem ($hListView, 3,'Раиса', 2)
_GUICtrlListView_AddSubItem ($hListView, 4,'Иван', 2)
_GUICtrlListView_AddSubItem ($hListView, 0,'4', 3)
_GUICtrlListView_AddSubItem ($hListView, 1,'23', 3)
_GUICtrlListView_AddSubItem ($hListView, 2,'1', 3)
_GUICtrlListView_AddSubItem ($hListView, 3,'24', 3)
_GUICtrlListView_AddSubItem ($hListView, 4,'123', 3)
GUISetState()
Global $pp=99,$par=0
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
Global $B_DESCENDING[_GUICtrlListView_GetColumnCount ($hListView) ]
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
Exit
;-------------------------------------------------------------------------------------------
Func LV_Sort($namb)
;Счетчик заходов
If $pp=$namb Then $par=1
$pp=$namb
;ListView ---> в массив
$itN=_GUICtrlListView_GetItemCount($hListView)
$colN=_GUICtrlListView_GetColumnCount($hListView)
Dim $iArr[$itN][$colN+2]
For $ii= 0 To $itN-1
$aItem=_GUICtrlListView_GetItem($hListView, $ii)
$iArr[$ii][0]=_GUICtrlListView_GetItemText($hListView, $ii,$namb);Добавление 0-й колонки с текстом сортируемой
For $jj=1 To $colN
$iArr[$ii][$jj]=_GUICtrlListView_GetItemText($hListView, $ii,$jj-1)
$iArr[$ii][$jj+1]=$aItem[4]
Next
Next
;Сортировка массива
_ArraySort( $iArr,'','','',$colN+2)
;Обратная сортировка массива
If $par=1 Then
$p=0
$p1=$itN-1
$p2=Ceiling ( $itN/2)
For $ii=0 To $p2-1
For $jj=1 To $colN+1
_ArraySwap( $iArr[$p][$jj], $iArr[$p1][$jj] )
Next
$p =$p+1
$p1 =$p1-1
Next
EndIf
; массив ---> в ListView
_GUICtrlListView_DeleteAllItems($hListView)
For $ii=0 To $itN-1
_GUICtrlListView_AddItem($hListView,$iArr[$ii][1],$iArr[$ii][$colN+1])
For $jj=1 To $colN
_GUICtrlListView_AddSubItem ($hListView, $ii,$iArr[$ii][$jj], $jj-1)
Next
Next
;Счетчик заходов
If $par=1 Then $pp=99
$Par=0
EndFunc
;--------------------------------------------------------------------------------------------
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $hListView
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $LVN_COLUMNCLICK ; Клик по колонке
$aHit = _GuiCtrlListView_SubItemHitTest ($hWndListView)
LV_Sort($aHit[1])
Case $LVN_BEGINLABELEDIT
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Return False
Case $LVN_ENDLABELEDIT
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
If StringLen(DllStructGetData($tBuffer, "Text")) Then Return True
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
Поскольку это проба пера просьба дать рекомендации по упрощению ф-ии
kalikanzaros
23-01-2008, 12:07
несколько постов выше приводил пример скрипта, кто-нибудь может подсказать как его модифицировать чтобы он вместо существования ярлыка проверял значения ключа в реесте[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"MinAnimate"="0"если значение 1 - скрипт отрабатывает (меняет значение на 0, прописыв себя в автозагрузку и ребутит комп), если значение 0 - выход из скрипта (удаляет себя из автозагрузки)
kalikanzaros,
См. в справке RegRead/RegWrite. Ключ для автозапуска:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
kalikanzaros
23-01-2008, 16:43
Creat0R,
спасибо, вчера вечером долго смотрел справку, но не понял как получить значение ключа для проверки на условие, поэтому и спрашиваю тут...
gregaz, просьба дать рекомендации по упрощению ф-ии
А почему бы не использовать обычную Callback функцию, скорость гораздо выше. Я полагал что совместимость с правкой элементов мешает, но спросив (http://www.autoitscript.com/forum/index.php?s=&showtopic=62412&view=findpost&p=467479) на оф. форуме, эта проблема уже вроде не актуальна :)
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
Global $nCurCol = -1
Global $nHold_Column = -1
Global $nSortDir = 1
Global $bSort_Set = 0
$Gui = GUICreate("Demo Func LV_Sort + Editable LV Items", 400, 250)
$hListView = GUICtrlCreateListView("Items|SubItems1|SubItems2", 2, 2, 320, 120, BitOR($LVS_EDITLABELS, $LVS_REPORT))
$hImage = _GUIImageList_Create (16, 16, 5)
_GUIImageList_AddIcon ($hImage, "shell32.dll", 3)
_GUIImageList_AddIcon ($hImage, "shell32.dll", 11)
_GUIImageList_AddIcon ($hImage, "shell32.dll", 22)
_GUIImageList_AddIcon ($hImage, "shell32.dll", 43)
_GUIImageList_AddIcon ($hImage, "shell32.dll", 44)
_GUICtrlListView_SetImageList ($hListView, $hImage, 1)
$ListItem1 = _GUICtrlListView_AddItem ($hListView, "Boris", 0)
$ListItem2 = _GUICtrlListView_AddItem ($hListView, "Anna", 2)
$ListItem3 = _GUICtrlListView_AddItem ($hListView, "Sveta", 1)
$ListItem4 = _GUICtrlListView_AddItem ($hListView, "Misha", 3)
$ListItem5 = _GUICtrlListView_AddItem ($hListView, "Olga", 4)
_GUICtrlListView_AddSubItem ($hListView, 0, '44', 1)
_GUICtrlListView_AddSubItem ($hListView, 1, '22', 1)
_GUICtrlListView_AddSubItem ($hListView, 2, '11', 1)
_GUICtrlListView_AddSubItem ($hListView, 3, '33', 1)
_GUICtrlListView_AddSubItem ($hListView, 4, '55', 1)
_GUICtrlListView_AddSubItem ($hListView, 0, 'Петр', 2)
_GUICtrlListView_AddSubItem ($hListView, 1, 'Елена', 2)
_GUICtrlListView_AddSubItem ($hListView, 2, 'Анна', 2)
_GUICtrlListView_AddSubItem ($hListView, 3, 'Раиса', 2)
_GUICtrlListView_AddSubItem ($hListView, 4, 'Иван', 2)
GUICtrlRegisterListViewSort($hListView, "LVSort") ; Register the function "LVSort" for the sorting callback
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
; Our sorting callback funtion
Func LVSort($hWnd, $nItem1, $nItem2, $nColumn)
Local $iFind_1, $iFind_2
Local $tInfo = DllStructCreate($tagLVFINDINFO)
DllStructSetData($tInfo, "Flags", $LVFI_PARAM)
; Switch the sorting direction
If $nColumn = $nCurCol Then
If Not $bSort_Set Then
$nSortDir *= -1
$bSort_Set = 1
EndIf
Else
$nSortDir = 1
EndIf
$nHold_Column = $nColumn
DllStructSetData($tInfo, "Param", $nItem1)
$iFind_1 = _GUICtrlListView_FindItem ($hWnd, -1, $tInfo)
DllStructSetData($tInfo, "Param", $nItem2)
$iFind_2 = _GUICtrlListView_FindItem ($hWnd, -1, $tInfo)
$iFind_1 = _GUICtrlListView_GetItemText ($hWnd, $iFind_1, $nColumn)
$iFind_2 = _GUICtrlListView_GetItemText ($hWnd, $iFind_2, $nColumn)
$nResult = 0 ; No change of item1 and item2 positions
If $iFind_1 < $iFind_2 Then
$nResult = -1 ; Put item2 before item1
ElseIf $iFind_1 > $iFind_2 Then
$nResult = 1 ; Put item2 behind item1
EndIf
$nResult *= $nSortDir
Return $nResult
EndFunc ;==>LVSort
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
$hWndListView = $hListView
If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $LVN_COLUMNCLICK
Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
$bSort_Set = 0
$nCurCol = $nHold_Column
GUICtrlSendMsg($hListView, $LVM_SETSELECTEDCOLUMN, DllStructGetData($tInfo, "SubItem"), 0)
DllCall("user32.dll", "int", "InvalidateRect", "hwnd", $hWndListView, "int", 0, "int", 1)
Case $LVN_BEGINLABELEDIT, $LVN_BEGINLABELEDITW
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Return False
Case $LVN_ENDLABELEDIT, $LVN_ENDLABELEDITW
Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
Local $iTextMax = DllStructGetData($tInfo, "TextMax")
Local $pText = DllStructGetData($tInfo, "Text")
If $pText = 0 Then Return False
Local $sBuffer = "char Text[" & $iTextMax & "]"
If $iCode = $LVN_ENDLABELEDITW Then $sBuffer = "wchar Text[" & $iTextMax & "]"
Local $tBuffer = DllStructCreate($sBuffer, $pText)
Local $sNewText = DllStructGetData($tBuffer, "Text")
If StringLen($sNewText) Then Return True
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
kalikanzaros,
если значение 1 - скрипт отрабатывает (меняет значение на 0, прописыв себя в автозагрузку и ребутит комп), если значение 0 - выход из скрипта (удаляет себя из автозагрузки)
$WindowMetrics_Value = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "MinAnimate")
If $WindowMetrics_Value = 1 Then
;Пишем 0 в ветку <HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\MinAnimate>
RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "MinAnimate", "REG_SZ", 0)
;Пишем скрипт в автозапуск
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", _
@ScriptName, "REG_SZ", FileGetShortName(@ScriptFullPath))
;Ребутим.
Shutdown(6)
Exit
Else
;Удаляем скрипт из автозапуска
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
Exit
EndIf
Не тестировал :)
kalikanzaros
23-01-2008, 17:47
Creat0R,
большое спасибо, проверю - отпишусь, думаю все будет прекрасно работать
Поправил свой пост (http://forum.oszone.net/post-723900.html#post723873) с примером сортировки и редактирования списка, немного некорректно задавалась переменная ($sNewText) с новым текстом, при юникодной версии нужно использовать wchar а не char.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.