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

» AutoIT

Автор: Maza Faka
Дата сообщения: 09.10.2008 08:48
VitAlll2013

Цитата:
скрывать-показывать (включать-отключать - это как раз не важно) саму таблицу вкладок GUICtrlCreateTab

Используй функции:

Код:
GUICtrlSetState($tab, $GUI_HIDE)
GUICtrlSetState($tab, $GUI_SHOW)

GUICtrlSetState($tab, $GUI_DISABLE)
GUICtrlSetState($tab, $GUI_ENABLE)
Автор: XpycTMD
Дата сообщения: 09.10.2008 09:12
ViSiToR

Цитата:
Можно и так:

Спасибо за пример
Автор: VitAlll2013
Дата сообщения: 09.10.2008 10:08
Maza Faka
Не работают эти функции должным образом с таблами. Я уже решил проблему. Жду пока кто-нибудь объяснит как запустить+пользоваться раскраской и выложу пример.
Автор: Maza Faka
Дата сообщения: 09.10.2008 11:19
VitAlll2013

Цитата:

Жду пока кто-нибудь объяснит как запустить+пользоваться раскраской и выложу пример.

Попроси ViSiToR-a выложить скомпилированную версию.


Цитата:

Я уже решил проблему

Можно залить архив со скриптом на slil.ru и выложить ссылку на него
Автор: VitAlll2013
Дата сообщения: 09.10.2008 13:24
Пока нет скомпилированной версии выкладываю на "слил"

Задача была ещё и в том чтобы удалялись все элементы в таблицах. Я думал что это само собой разумеющиеся вещи, но как оказалось в процессе мытарств это происходило не всегда. Плюс хотел чтоб значения тоже сохранялись. Вот воплотил.

Добавлено:
Сейчас бьюсь над реализацией задачи заполнения комбобокса именами файлов из определённой директории. Точнее названиями внутри этих файлов идущими первой строкой. Если кто делал подобное, просьба поделиться.
Автор: Maza Faka
Дата сообщения: 09.10.2008 17:05
VitAlll2013
Насколько я понял ты пытаешься реализовать (вернее уже реализовал) так сказать "Tab в Tab-е". На офф. форуме есть отличный пример в разделе Example scripts, но к сожалению из-за перегрузки сервера поиск не работает, поэтому выкладываю пример из своей "копилки"

Код: #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TabConstants.au3>
#include <ListViewConstants.au3>

Global $hImageList = 0

$Main_GUI = GUICreate("Tab Sample", 400, 300, -1, -1);, BitOr($GUI_SS_DEFAULT_GUI,$WS_CLIPSIBLINGS))
$OK_Button = GUICtrlCreateButton("OK", 110, 270, 70, 20)
$Cancel_Button = GUICtrlCreateButton("Cancel", 220, 270, 70, 20)
GUISetState()

; Creates the first child window that is implemented into the main GUI
$Child1 = GUICreate("", 370, 215, 15, 40, BitOR($WS_CHILD, $WS_TABSTOP), -1, $Main_GUI)

$child1_tab = GUICtrlCreateTab(0, 0, 370, 215)
$child1_tabitem1 = GUICtrlCreateTabItem("Child1Tab1")
$child1_tabitem2 = GUICtrlCreateTabItem("Child1Tab2")
$child1_tabitem3 = GUICtrlCreateTabItem("Child1Tab3")
GUICtrlCreateTabItem("")

GUISetState()

; Creates the second child window that is implemented into the main GUI
$child2 = GUICreate("2", 370, 215, 15, 40, BitOR($WS_CHILD, $WS_TABSTOP), -1, $Main_GUI)

$child3 = GUICreate("3", 210, 220, 158, 0, BitOR($WS_CHILD, $WS_TABSTOP), -1, $child2)
$ListView = GUICtrlCreateListView("Col1|Col2", 0, 2, 210, 211, _
BitOR($LVS_NOSORTHEADER, $LVS_SHOWSELALWAYS, $WS_TABSTOP), $WS_EX_CLIENTEDGE)

GUICtrlCreateListViewItem("ItemLong1|ItemLong2", $ListView)
GUICtrlCreateListViewItem("ItemLong3|ItemLong4", $ListView)
GUICtrlCreateListViewItem("ItemLong5|ItemLong6", $ListView)
GUISetState()

GUISwitch($child2)
$child2_tab = GUICtrlCreateTab(0, 0, 156, 215)
$child2_tabitem1 = GUICtrlCreateTabItem("Child2Tab1")
$child2_tabitem2 = GUICtrlCreateTabItem("Child2Tab2")
GUICtrlCreateTabItem("")

; Switch back the main GUI and create the tabs
GUISwitch($Main_GUI)
$main_tab = GUICtrlCreateTab(10, 10, 380, 250)
$main_tabitem1 = GUICtrlCreateTabItem("MainTab1")
$main_tabitem2 = GUICtrlCreateTabItem("MainTab2")
GUICtrlCreateTabItem("")
GUICtrlSetState($main_tabitem1, $GUI_SHOW)

Bind_ImageList($main_tab)

While 1
$msg = GUIGetMsg(1)
Select
Case
$msg[0] = $GUI_EVENT_CLOSE Or $msg[0] = $Cancel_Button
ExitLoop

Case
$msg[0] = $main_tab
$tabidx
= GUICtrlRead($main_tab)

Select
Case
$tabidx = 0
GUISetState(@SW_HIDE, $child2)
GUISetState(@SW_SHOW, $Child1)
Case $tabidx = 1
GUISetState(@SW_HIDE, $Child1)
GUISetState(@SW_SHOW, $child2)
EndSelect
EndSelect
WEnd

DllCall("comctl32.dll", "int", "ImageList_Destroy", "hwnd", $hImageList)

Func ImageList_Create()
$hImageList = DllCall("comctl32.dll", "hwnd", "ImageList_Create", "int", 16, "int", 16, "int", 0x0021, "int", 0, "int", 1)
$hImageList = $hImageList[0]
Return $hImageList
EndFunc ;==>ImageList_Create

Func Bind_ImageList($nCtrl)
$hImageList = ImageList_Create()
GUICtrlSendMsg($nCtrl, $TCM_SETIMAGELIST, 0, $hImageList)

$szIconFile = "shell32.dll"

$tcitem = DllStructCreate("uint;dword;dword;ptr;int;int;int")
DllStructSetData($tcitem, 1, 0x0002)
DllStructSetData($tcitem, 6, 0)
AddImageToTab($nCtrl, 0, $tcitem, $szIconFile, 12)

DllStructSetData($tcitem, 6, 1)
AddImageToTab($nCtrl, 1, $tcitem, $szIconFile, 21)

$tcitem = 0
EndFunc ;==>Bind_ImageList

Func AddImageToTab($nCtrl, $nTabIndex, $nItem, $szIconFile, $nIconID)
$hIcon = DllStructCreate("int")
$result = DllCall("shell32.dll", "int", "ExtractIconEx", "str", $szIconFile, "int", $nIconID, "hwnd", 0, "ptr", DllStructGetPtr($hIcon), "int", 1)
$result = $result[0]
If $result > 0 Then
DllCall("comctl32.dll", "int", "ImageList_AddIcon", "hwnd", $hImageList, "hwnd", DllStructGetData($hIcon, 1))
DllCall("user32.dll", "int", "SendMessage", "hwnd", ControlGetHandle($Main_GUI, "", $nCtrl), "int", $TCM_SETITEM, "int", $nTabIndex, "ptr", DllStructGetPtr($nItem))
DllCall("user32.dll", "int", "DestroyIcon", "hwnd", $hIcon)
EndIf

$hIcon = 0
EndFunc ;==>AddImageToTab
Автор: timsky
Дата сообщения: 09.10.2008 18:08
ViSiToR


Цитата:
timsky 15:10 08-10-2008
Цитата:По твоему способу нужно еще и POSTом слать и.т.д

Зачем?

Ну а как я форму заполню и отправлю?


Цитата:
поиск по оф. форуму ничего не дает


Даёт - В поисковике задал: "POST Request" (с кавычками).

Спасибо Искал по другим кеям... что-то форум у них на профилактике постоянно
Автор: ViSiToR
Дата сообщения: 09.10.2008 19:14
VitAlll2013 09:23 09-10-2008
Цитата:
запуск скрипта выдаёт RunErrorsFatal на 22 строке.

Закоментировать эту строку не пробовал?

Также нужно в начало добавить эти инклюды:


Код: #include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#Include <Array.au3>
Автор: VitAlll2013
Дата сообщения: 10.10.2008 05:43
Maza Faka
_GUICtrlComboBox_AddDir() - не знал о такой функции, как и о соседних. Привык работать с русским хэлпом, а он не перелопачивался уже давно. В английском нащёл - перевожу, вникаю. Спасибо.

Сам Tab-в-Tab'е мне пока не нужен - мне хотелось чтоб происходило корректное переключение таблиц по нажатию на радиобатоны.
Автор: Maza Faka
Дата сообщения: 10.10.2008 09:31
VitAlll2013

Цитата:

мне хотелось чтоб происходило корректное переключение таблиц по нажатию на радиобатоны.

Так тебе нужно просто программно переключать табы?
Автор: VitAlll2013
Дата сообщения: 10.10.2008 11:27
_GUICtrlComboBox_AddDir() делает не совсем то что мне надо так, что вот насоображал тут:

Код: #include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIComboBox.au3>

$Form1 = GUICreate("Form1", 226, 53, 192, 124) ;окно
$Combo1 = GUICtrlCreateCombo("", 16, 16, 193, 25) ;создаём пустой комбо
_fillComboBox() ;создаём функцию заполнения комбо
_GUICtrlComboBox_SetCurSel($Combo1, 0) ;выбираем первый попавшися элемент
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd

Func _fillComboBox() ;задача заполнить комбо

$filelangfirst = FileFindFirstFile("LANG\*.lng") ;начинаем перебор всех языковых файлов

If $filelangfirst = -1 Then ;если таоквых нет там где указано то прерывам это дело
MsgBox(0, "Error", "No files/directories matched the search pattern") ;предварительно вякнув на прощание
Exit
EndIf

While 1 ;начинаем безусловный цикл
$fileLangnext = FileFindNextFile($filelangfirst) ;находим следующий файл, название в переменную
If @error Then ExitLoop ;если больше файлов нет, то прерываем цикл
$langname = FileReadLine ("LANG\" & $fileLangnext, 1) ;читаем первую строку файла, путь задаём, имя из переменной
$langnameR = StringTrimRight ($langname, 1) ;рубим символ справа ( ] )
$langnameLR = StringTrimLeft ($langnameR, 1) ;рубим символ слева ( [ )
GUICtrlSetData($Combo1, $langnameLR) ;добавляем полученное в комбобокс
WEnd ;и заново, пока не сработает вторая строка цикла

EndFunc
Автор: NIKZZZZ
Дата сообщения: 10.10.2008 13:09
ViSiToR

Цитата:
VitAlll2013 09:23 09-10-2008

Если не секрет, чем создаешь такие ссылки?

Автор: Maza Faka
Дата сообщения: 10.10.2008 13:28
VitAlll2013
А что по этому вопросу?
Автор: VitAlll2013
Дата сообщения: 10.10.2008 14:45
Maza Faka
Да, но я же уже нашёл решение.
Автор: ViSiToR
Дата сообщения: 10.10.2008 18:48
VitAlll2013 12:27 10-10-2008
Цитата:
Пожелание для скрипторасскраски: Режим работы из трея

Да я об этом думал, возможно вместо быстрого режима сделаю (сейчас можно в программе указать быстрый режим с меню, после вызова происходит обработка и помещение результата в буфер обмена, без диалогов). Проблема в том, что для возврата обычного режима нужно идти и "копать" конфиг. файл утилиты

NIKZZZZ 14:09 10-10-2008
Цитата:
Если не секрет, чем создаешь такие ссылки?

Я использую браузер Opera, там можно сделать либо кнопку такую (Цитировать выделенное), либо повесить это на хоткей (у меня хоткей в основном используется).
В Opera AC это уже всё встроено (там клавиша Alt + q).
Автор: NIKZZZZ
Дата сообщения: 10.10.2008 20:16
ViSiToR

Цитата:
Я использую браузер Opera


Я приверженец лисички.
Автор: Hackproof
Дата сообщения: 13.10.2008 02:39

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

Нет, клиент отправляет - сервер принимает.


А вот эта штука у меня общается со свичом, отправляет ему команды и читает ответ по тому же соединению. Написана была месяца четыре назад... Почему же, интересно, нельзя сделать двухстороннюю связь между скриптами?


Код: Func swstatusClick(); Опрос свича на предмет работающих портов
$textlog="Обновление статуса свича."
writelog($textlog)
GuiCtrlSetState($swstatus,$GUI_HIDE)
GuiCtrlSetData($progress,0)
$Obj1.reset
TCPStartup()
$sock=TCPConnect($ip, $port) ;Подключение
sleep(500) ;Свич тормозит, поэтому натолкал кучу задержек.
If $sock = -1 Then
msgbox(0,"fail","Нет подключения к свичу, проверьте адрес в настройках.")
exit ;А может имеет смысл вызывать окно настроек?
EndIf
$data[1]="admin" & @CRLF ;Заполнение массива командами
$data[2]="switch" & @CRLF
$data[3]="show interfaces port" & @CRLF
for $i=1 to 3 ;Цикл с вводом команд из массива
TCPSend($sock,$data[$i])
ProgressOn("Получение информации от свича...","Проверка портов", "0 percent") ; Красивая полоска прогресса.
GuiCtrlSetData($progress,$i*32)
sleep (1000)
next
sleep(1000)
Progressoff() ; Выключаем красивую полоску
GuiCtrlSetState($swstatus,$GUI_SHOW)
$bla=TCPRecv($sock,2048) ; Получаем ответ не более 2 кб.
;msgbox(64,"Вот что свич сказал...",$bla); ======= Отладочный вывод ответа свича, если возникнут проблемы.
$ans=FileOpen ( "c:\scripts\new\switch.log", 1) ;Пишем ответ в файл, потому что там много мусора, который надо сортировать.
FileWrite($ans, $bla)
FileClose ($ans)
TCPCloseSocket($sock)
Автор: Maza Faka
Дата сообщения: 13.10.2008 07:20
Hackproof
В данном скрипте у тебя реализованна так сказать клиентская часть, ты подключаешься к свичу, посылаешь ему данные и принимаешь ответ. Никакой "двухсторонней связи", просто сервер - клиент. Ведь ты не можешь "заставить" свич отправить тебе данные, не послав ему запроса
Автор: Hackproof
Дата сообщения: 13.10.2008 16:11
Ну, вообще-то, когда я к нему подключаюсь, еще до засылки команд он пишет в соединение login, и оно у меня появляется, если сразу читать. Для этого у меня и стоит задержка после подключения в 500 мс.
У нас видимо, разное понимание двухсторонней связи. Я имею ввиду способ типа телнет - получил команду>ответил на нее и отправил команду>жди ответа. Полнодуплексная связь однозначно не нужна.

Просто задача, которую я хочу решить в скриптах примерно так и выглядит - есть приложение на удаленном компьютере, которое ждет подключений. Скрипт с моей машины периодически, допустим, раз в минуту, засылает команду status, и в ответ должен получить по этому же соединению текстовый ответ, типа Ok, или варианты типа VideoClientDown, SipassServerDown, OperatorPlaysKosynka, ну и тд...
Клиент значит, работает по схеме "отправил>принял".
А вот как бы извратиться, чтобы обратная схема "принял>отправил" тоже работала...

Сейчас у меня наблюдение реализовано через порты - удаленный скрипт открывает 4 порта, и в зависимости от ситуации закрывает тот, или другой, а локальный подключается к ним, и в зависимости от того, какой порт открыт, а какой закрыт - выдает мне состояние удаленного компа. Сейчас количество параметров, которые мониторит дальний скрипт, увеличилось, и придется добавлять 5-й, а скоро и 6-й порт. В принципе, это всё работает, но схема изначально неудачная. Потому я и хочу перейти на связь типа telnet.

Автор: timsky
Дата сообщения: 13.10.2008 22:56

Цитата:
И ещё можно заменить это (функция HotKeys_Proc()):


Код: If Number(StringReplace(@AutoItVersion, ".", "")) <= 3281 Then
_GUICtrlEditSetSel($Main_Edit, 0, StringLen(GUICtrlRead($Main_Edit)))
Else
_GUICtrlEdit_SetSel($Main_Edit, 0, StringLen(GUICtrlRead($Main_Edit)))
EndIf



на это:


Код:GUICtrlSendMsg($Main_Edit, $EM_SETSEL, 0, StringLen(GUICtrlRead($Main_Edit)))

Не нашел там этого...

Вобщем, замучался я ломать голову, в каком месте скрипта произошла ошибка. Все они у меня работают в откомпиленом виде и я накатал для себя скрипт, который добавляет в исходник после каждой строки это: TraySetToolTip("Debug line - {номер строки}")


Код: AutoItSetOption('TrayAutoPause', 0)
AutoItSetOption('TrayOnEventMode', 1)

If $CmdLineRaw = '' Then
$file = FileOpenDialog('Select file to write debug info', @WorkingDir & '\', 'AutoIt script (*.au3)', 1)
If @error Then
MsgBox(16, 'No file chosen...', 'Program will now close.')
Exit
EndIf
Else

$file = StringReplace($CmdLineRaw, '"', '')
EndIf

$read = FileOpen($file, 0)
$name = StringReplace($file, '.au3', '') & '-Debug.au3'

If FileExists($name) Then FileDelete($name)

$new = FileOpen($name, 1)

$i = 1
While 1
$line = FileReadLine($read, $i)
If @error = -1 Then ExitLoop
FileWriteLine($new, 'TraySetToolTip("Debug line - ' & $i & '")')
FileWriteLine($new, $line)
$i = $i + 1
WEnd

FileClose($read)
FileClose($new)
Автор: Maza Faka
Дата сообщения: 14.10.2008 07:27
Hackproof
На офф. форуме не пробовал спросить?
Автор: gal7
Дата сообщения: 14.10.2008 12:40
Можно ли как-то производить нажатие пункта MENU, либо пункта в TOOLBAR без реального перемещения мыши по экрану(т.е. чтобы мышь не принимала в этом участия, только программно)? Надо в сторонней программе автоматизировать эти нажатия. Ничего похожего не смог найти. Например, для кнопок есть такое, а для этого не нашел
Автор: Tipulatoid
Дата сообщения: 14.10.2008 12:49
Туго у меня рэгэкспы идут
Подскажите, пож., как в такой строке 1_ТФ_СаГА_Per_8.htm заменить то, что находится между _ и . (в данном случае 8) на, скажем, 12
И второй вопрос. Как из строки javascript:load('1_ТФ_СаГА_Per_8.htm') получить все что в скобках, т.е. '1_ТФ_СаГА_Per_8.htm'
Автор: Astra55
Дата сообщения: 14.10.2008 13:52
gal7
Alt+буква шортката не подходят?
Автор: Maza Faka
Дата сообщения: 14.10.2008 14:11
gal7

Цитата:
производить нажатие пункта MENU, либо пункта в TOOLBAR

Так MENU или TOOLBAR? И в какой программе?

Astra55

Цитата:
Alt+буква шортката не подходят?

Не сработает при раскладке клавиатуры отличной от English(US). Хотя это тоже можно обойти

Добавлено:
Tipulatoid

Цитата:
Туго у меня рэгэкспы идут

Попробуй так:

Код:
$string = "1_ТФ_СаГА_Per_8.htm"
MsgBox(0, "", StringRegExpReplace($string, "_(\d+)\.", "_12."))

$string = "javascript:load('1_ТФ_СаГА_Per_8.htm')"
MsgBox(0, "", StringRegExpReplace($string, ".*\((.*)\).*", "\1"))
Автор: gal7
Дата сообщения: 14.10.2008 16:46

Цитата:
Alt+буква шортката не подходят?


Цитата:
Не сработает при раскладке клавиатуры отличной от English

Еще там нужно сначала получить фокус окна, затем слать комбинацию-постоянно будет мелькать окно, потом другое опять устанавливать и т.д., как-то не очень... Еще может активное окно смениться во время отправки комбинации. А так бы все тихо нажималось бы себе и ни от чего другого не зависило Но если напрямую невозможно, останется только так...

Цитата:
Так MENU или TOOLBAR

Все равно-и то, и то одинаковое действие производят в программе. Программа сама не автоитная. Могу получить и hwnd меню и любого его пункта, и hwnd любого индекса тулбара-проверял. А вот что потом с ними сделать, как нажать не знаю. Для тулбара есть только нажатие непосредственно мышью(_GUICtrlToolbar_ClickButton и остальные). Хотя бы общий принцип знать как сделать.
Автор: ViSiToR
Дата сообщения: 14.10.2008 18:46
gal7
17:46 14-10-2008
Цитата:
Все равно-и то, и то одинаковое действие производят в программе

Для выполнения скриптом это вроде не всё ровно

Нажать на пункт меню можно так:


Код: #include <GuiMenu.au3>

Run("Notepad.exe")
WinWaitActive("[CLASS:Notepad]")

$hWnd = WinGetHandle("[CLASS:Notepad]")

$hMenu = _GUICtrlMenu_GetMenu($hWnd)
$hHelp = _GUICtrlMenu_GetItemSubMenu($hMenu, 4) ;Help menu
$iItemID = _GUICtrlMenu_GetItemID($hHelp, 0) ;First item

_GUICtrlMenu_ClickMenuItem($hWnd, $iItemID)

Func _GUICtrlMenu_ClickMenuItem($hWnd, $iItemID)
DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", 0x0111, "int", $iItemID, "int", 0) ;$WM_COMMAND = 0x0111
EndFunc
Автор: gal7
Дата сообщения: 14.10.2008 19:21
Спасибо огромное, ViSiToR, все отлично работает!
Автор: Tipulatoid
Дата сообщения: 15.10.2008 01:41
Maza Faka
Thanks
Автор: Tipulatoid
Дата сообщения: 15.10.2008 04:55
Нужна функция транслитерации кириллических символов в строке в латинские аналоги согласно таблице
[more]
а - a
б - b
в - v
г - g
д - d
е - e
ё - yo
ж - zh
з - z
и - i
й - j
к - k
л - l
м - m
н - n
о - o
п - p
р - r
с - s
т - t
у - u
ф - f
х - h
ц - ts
ч - ch
ш - sh
щ - sch
ь - '
ъ - "
ы - y
э - e
ю - yu
я - ya

А - A
Б - B
В - V
Г - G
Д - D
Е - E
Ё - Yo
Ж - Zh
З - Z
И - I
Й - J
К - K
Л - L
М - M
Т - N
О - O
П - P
Р - R
С - S
Т - T
У - U
Ф - F
Х - H
Ц - Ts
Ч - Ch
Ш - Sh
Щ - Sch
Ь - '
Ъ - "
Ы - Y
Э - E
Ю - Yu
Я - Ya
[/more]
Писать ее возможно долго, этого не прошу. Просто подскажите каким образом эффективней перебирать все символы в переданной в функцию строке.
Т.е. сама идея нужна

Добавлено
Собственно, вот так решил
transliter.au3 :
Код: #include <Array.au3>

$str = "привет, как дела?"
ConsoleWrite ($str & @CRLF)
_Transliter ($str)
ConsoleWrite ($TranslitedString & @CRLF)

Func
_Transliter ($StringToTranslit)
Dim $aCyrrilicTable[66] = ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ъ", "ы", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ъ", "Ы", "Э", "Ю", "Я"]
Dim $aLatinTable[66] = ["a", "b", "v", "g", "d", "e", "yo", "zh", "z", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "ts", "ch", "sh", "sch", "'", '"', "y", "e", "yu", "ya", "A", "B", "V", "G", "D", "E", "Yo", "Zh", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", "S", "T", "U", "F", "H", "Ts", "Ch", "Sh", "Sch", "'", '"', "Y", "E", "Yu", "Ya"]

$aCyrString = StringSplit ($StringToTranslit, "")
Global $TranslitedString = ""
For $a = 1 To UBound ($aCyrString) - 1
$SymbolNum =
_ArraySearch ($aCyrrilicTable, $aCyrString[$a])
If $SymbolNum <> -1 Then
$LatSymbol = $aLatinTable[$SymbolNum]
Else
$LatSymbol = $aCyrString[$a]
EndIf
$TranslitedString = $TranslitedString & $LatSymbol
Next
EndFunc
;==> _Transliter

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

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


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