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

» AutoIT

Автор: Maza Faka
Дата сообщения: 15.10.2008 07:11
Tipulatoid

Цитата:
Это грамотно?

В принципе, да, если не учитывать грубейшие ошибки в построении функции

1. Для объявления переменных в функции используется Local, но никак не Global.
2. Всегда объявляй переменные в функции.
3. Для того, что бы вернуть результат из функции, используй Return.

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

$TranslitedString = _Transliter($str)
ConsoleWrite($TranslitedString & @LF)

Func _Transliter($StringToTranslit)
Local $aCyrrilicTable[66] = ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ъ", "ы", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ъ", "Ы", "Э", "Ю", "Я"]
Local $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"]

Local $aCyrString = StringSplit($StringToTranslit, "")
Local $iTranslitedString, $iCoinc

For $a = 1 To UBound($aCyrString) - 1
$iCoinc = False

For
$b = 0 To UBound($aCyrrilicTable) - 1
If $aCyrString[$a] == $aCyrrilicTable[$b] Then
$iCoinc = True
$iTranslitedString &= $aLatinTable[$b]
ExitLoop
EndIf
Next

If
$iCoinc = False Then $iTranslitedString &= $aCyrString[$a]
Next

Return
$iTranslitedString
EndFunc ;==> _Transliter
Автор: VitAlll2013
Дата сообщения: 15.10.2008 08:23
Как сделать кнопку с таймером? Пробую логику: создать окно, создать кнопку, отобразить, запустить функцию; функция обновляет кнопку через каждые 1000 миллисекунд уменьшая значение в скобках на 1, как значение равно 0 нажать на кнопку.

Пока никаких результатов, кроме вывода кнопки.

Если кто-то уже делал, поделитесь плз.
Автор: Maza Faka
Дата сообщения: 15.10.2008 09:25
VitAlll2013
Пример:

Код: #include <GuiConstantsEx.au3>

Global $ButtonElapse = 10

$hGUI = GUICreate("Test", 200, 100)

$button = GUICtrlCreateButton("00:" & $ButtonElapse, 65, 35, 75, 25)

GUISetState()

AdlibEnable("_TimerCount", 1000)

While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
Case
$button
AdlibDisable()
GUICtrlSetData($button, "00:00")
_MyFunc()
EndSwitch
WEnd

Func
_TimerCount()
$ButtonElapse -= 1
GUICtrlSetData($button, StringFormat("00:%02i", $ButtonElapse))

If $ButtonElapse = 0 Then
AdlibDisable()
_MyFunc()
EndIf
EndFunc

Func
_MyFunc()
MsgBox(0, "_MyFunc", "Button pressed")
EndFunc
Автор: gal7
Дата сообщения: 15.10.2008 11:10
Эх, поторопился я малость...
Оказывается когда вызывается DllCall(...) не происходит дальнейшего выполнения скрипта!Код практически тот же:

Код: DllCall($dll, "int", "SendMessage", "hwnd", $hwnd, "int", 0x0111, "int", $item, "int", 0)
Автор: VitAlll2013
Дата сообщения: 15.10.2008 11:57
Maza Faka
Приладил работает, спасибо!
Автор: ViSiToR
Дата сообщения: 15.10.2008 12:32
Tipulatoid
Maza Faka
По поводу транслита, можно ещё и так, вроде побыстрее будет:


Код: $sCyrrilicString = "Привет, Как дела?"

$sTranslitString = _Translit_Proc($sCyrrilicString)
MsgBox(64, "_Translit_Proc in Action!", $sCyrrilicString & @CRLF & $sTranslitString)

Func _Translit_Proc($sStringToTranslit)
Local $sCyrrilicTable = 'а|б|в|г|д|е|ё|ж|з|и|й|к|л|м|н|о|п|р|с|т|у|ф|х|ц|ч|ш|щ|ь|ъ|ы|э|ю|я'
$sCyrrilicTable &= '|' & StringUpper($sCyrrilicTable)

Local $sLatinTable = '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'
$sLatinTable &= '|' & StringUpper($sLatinTable)

Local $aCyrrilicTable = StringSplit($sCyrrilicTable, "|")
Local $aLatinTable = StringSplit($sLatinTable, "|")

Local $sRetString = $sStringToTranslit

For $i = 1 To $aCyrrilicTable[0]
$sRetString = StringReplace($sRetString, $aCyrrilicTable[$i], $aLatinTable[$i], 0, 1)
If StringIsASCII($sRetString) Then ExitLoop
Next

Return
$sRetString
EndFunc ;==>_Translit_Proc
Автор: ynbIpb
Дата сообщения: 15.10.2008 14:10
Уважаемые! А сущетвует ли какойнибудь компонент для работы с протоколом ICQ ?
Задумка такая: Давать команды удалённо через аську. Никаких трянов и подобного не подразумевается. Просто есть комп на работе, но он за NAT провайдера и по этому возмжности подключиться к нему через удалённое администрирование нет. Вот и подумал, что допустим положил ему в папку несколько скриптов и через аскьку бы давал команду на выполнение того или иного скрипта.
Автор: VitAlll2013
Дата сообщения: 15.10.2008 16:12
А вот как добавить в комбобокс надпись не добавля её в лист самого комбо? То есть, присутствует комбобокс, по нажатию клавиши меняется само название вписанное в комбобокс, но при нажатии на "раскрыть комбо" этого пункта там нет, ну и соответственно этот пункт исчезнет после выбора одного из существующих пунктов комбо.
Автор: ViSiToR
Дата сообщения: 15.10.2008 22:32
ynbIpb 15:10 15-10-2008
Цитата:
сущетвует ли какойнибудь компонент для работы с протоколом ICQ ?

А почему именно ICQ? есть на оф. сайте примеры передачи данных через TCP, можно таким же образом посылать и команды, выполнять код и т.п.

VitAlll2013 17:12 15-10-2008
Цитата:
как добавить в комбобокс надпись не добавля её в лист самого комбо?


Вот так:


Код: #include <GuiConstants.au3>

$GUI = GUICreate("Test Script", 300, 120)

$Combo = GUICtrlCreateCombo("", 20, 20, 260, 20)
GUICtrlSetData(-1, "Item1|Item2|etc.")

$Add_Button = GUICtrlCreateButton("Add", 20, 60, 60, 20)

GUISetState(@SW_SHOW, $GUI)

While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case
$Add_Button
ControlSetText($GUI, "", $Combo, "Some string")
EndSwitch
WEnd
Автор: timsky
Дата сообщения: 16.10.2008 00:17
ViSiToR

Цитата:
А почему именно ICQ? есть на оф. сайте примеры передачи данных через TCP, можно таким же образом посылать и команды, выполнять код и т.п.


Он за файрволом же.

ynbIpb
Не заморачивайся и юзай Hamachi для создания связи с компом на работе.

Цитата:
Если вы используете Hamachi для собственных некоммерческих нужд, это приложение является 100% бесплатным


http://forum.ru-board.com/topic.cgi?forum=35&topic=33791&start=160#lt

Добавлено:
Кстати, работа с ICQ протоколом интересна и мне. Может есть какой клиент, который поддерживает параметры ком строки или еще что-нибудь для интеграции с сторонними аппликухами?
Автор: Tipulatoid
Дата сообщения: 16.10.2008 04:35
Maza Faka
ViSiToR
Thanks
Автор: SysLam
Дата сообщения: 16.10.2008 10:28
ViSiToR

Цитата:
так, вроде побыстрее будет

тогда еще так кста оправданность StringIsASCII() в данном случае спорна

Код: $sCyrrilicString = "Привет, Как дела?"

$sTranslitString = _Translit_Proc($sCyrrilicString)
MsgBox(64, "_Translit_Proc in Action!", $sCyrrilicString & @CRLF & $sTranslitString)

Func _Translit_Proc($sString)
Local Const $aCyrTab[67] = [66, "а","б","в","г","д","е","ё" ,"ж" ,"з","и","й","к","л","м","н","о","п", _
"р","с","т","у","ф","х","ц" ,"ч" ,"ш","щ","ь","ъ","ы","э","ю","я" , _
"А","Б","В","Г","Д","Е","Ё" ,"Ж" ,"З","И","Й","К","Л","М","Н","О","П", _
"Р","С","Т","У","Ф","Х","Ц" ,"Ч" ,"Ш","Щ","Ь","Ъ","Ы","Э","Ю","Я" ]
Local Const $aLatTab[67] = [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"]

For $i = 1 To $aCyrTab[0]
$sString = StringReplace($sString, $aCyrTab[$i], $aLatTab[$i], 0, 2)
Next

Return $sString
EndFunc ;==>_Translit_Proc
Автор: ViSiToR
Дата сообщения: 16.10.2008 17:19
SysLam 11:28 16-10-2008
Цитата:
оправданность StringIsASCII() в данном случае спорна

Почему? Таким образом будет выход из цикла если строка уже не нуждается в транслитерации

Добавлено:
Кстати там есть баг, в заглавных после D нужно E а не T
Автор: SysLam
Дата сообщения: 17.10.2008 02:50
ViSiToR

Цитата:
там есть баг
исправил

Цитата:
выход из цикла если строка уже не нуждается в транслитерации
да, но добавляется около 60 лишних сканирований входной строки StringIsASCII(), для длинного текста это потеря приличного количества тиков
Автор: ViSiToR
Дата сообщения: 17.10.2008 05:43
SysLam 03:50 17-10-2008
Цитата:
добавляется около 60 лишних сканирований входной строки StringIsASCII()

Тогда можно сначала проверять @extended...

Но вообще да, согласен, это замедляет:


Код: $sCyrrilicString = "Привет, Как дела?"

Sleep(100) ;Это чтобы сравнять таймеры на равные уровни, есть теория что при запуске идёт задержка в таймере

$iTimer = TimerInit()
_Translit_Proc_1($sCyrrilicString)
ConsoleWrite("_Translit_Proc_1: " & TimerDiff($iTimer) & @CRLF)

$iTimer = TimerInit()
_Translit_Proc_2($sCyrrilicString)
ConsoleWrite("_Translit_Proc_2: " & TimerDiff($iTimer) & @CRLF)

Func _Translit_Proc_1($sString)
Local Const $aCyrTab[67] = [66, "а","б","в","г","д","е","ё" ,"ж" ,"з","и","й","к","л","м","н","о","п", _
"р","с","т","у","ф","х","ц" ,"ч" ,"ш","щ","ь","ъ","ы","э","ю","я" , _
"А","Б","В","Г","Д","Е","Ё" ,"Ж" ,"З","И","Й","К","Л","М","Н","О","П", _
"Р","С","Т","У","Ф","Х","Ц" ,"Ч" ,"Ш","Щ","Ь","Ъ","Ы","Э","Ю","Я" ]
Local Const $aLatTab[67] = [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"]

For $i = 1 To $aCyrTab[0]
$sString = StringReplace($sString, $aCyrTab[$i], $aLatTab[$i], 0, 2)
Next

Return $sString
EndFunc ;==>_Translit_Proc_1

Func _Translit_Proc_2($sString)
Local Const $aCyrTab[67] = [66, "а","б","в","г","д","е","ё" ,"ж" ,"з","и","й","к","л","м","н","о","п", _
"р","с","т","у","ф","х","ц" ,"ч" ,"ш","щ","ь","ъ","ы","э","ю","я" , _
"А","Б","В","Г","Д","Е","Ё" ,"Ж" ,"З","И","Й","К","Л","М","Н","О","П", _
"Р","С","Т","У","Ф","Х","Ц" ,"Ч" ,"Ш","Щ","Ь","Ъ","Ы","Э","Ю","Я" ]
Local Const $aLatTab[67] = [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"]

For $i = 1 To $aCyrTab[0]
$sString = StringReplace($sString, $aCyrTab[$i], $aLatTab[$i], 0, 2)
If @extended = 0 And StringIsASCII($sString) Then ExitLoop
Next

Return $sString
EndFunc ;==>_Translit_Proc_2
Автор: Max_Stupino
Дата сообщения: 17.10.2008 11:58
Есть ли какие-нибудь процедуры, функции, объекты для работы с FTP? Напрямую или через прокси?
Автор: Maza Faka
Дата сообщения: 17.10.2008 13:11
Max_Stupino
Посмотри здесь
Автор: spol81
Дата сообщения: 17.10.2008 17:28
Помогите написать скрипт, движение при помощи кнопок клавитауру по спирали от цетра к краям




это движение по кругу:

WinWaitActive("Windows Mobile 6 Professional - VGA")
$i = 0
Do
$i = $i + 1
Send("{LEFT}")
Send("{DOWN}")
Send("{RIGHT}")
Send("{UP}")
Sleep (2000)

Until $i = -1
Автор: Leagnus
Дата сообщения: 17.10.2008 22:01
Ребята, суперовский скрипт – при нажатии CTRL+SHIFT+ALT+I в Scite добавляет в скрипт те инклуды, которые пропущены из-за перехода на новую версию AutoIt. Качать нужно 4.3.zip, создавать папку SciTE\OrganizeIncludes\ и кидать туда OrganizeIncludes4.3.au3
в SciTEUser.properties прописывать команду его запуска типа:
command.name.37.*=<br /> delete
command.37.*=dofile $(SciteDefaultHome)\tools\HtmlBreak-deleter.lua
command.mode.37.*=subsystem:lua,savebefore:no
при первом запуске, покажется гуй – в нём можно поставить галочку на
способе вставки:
Place after keyword – значит в теле скрипта после ключевого слова
Place at top – значит в самом верху < я выбрал этот вариант
и галочку на
"SilentMode" – тогда гуя при всяком нажатии на сочеталово не будет а скрипт сразу будет вставлять нужные библиотеки куда укзали.
Автор: Maza Faka
Дата сообщения: 18.10.2008 08:31
spol81
Попробуй так:

Код: WinWaitActive("Windows Mobile 6 Professional - VGA")

$sCount = 0

Do
$sCount += 1

For $i = 1 To $sCount
Send("{LEFT}")
Next
For
$i = 1 To $sCount
Send("{DOWN}")
Next
For
$i = 1 To $sCount
Send("{RIGHT}")
Next
For
$i = 1 To $sCount
Send("{UP}")
Next

Sleep(2000)
Until $i = 100
Автор: gregaz
Дата сообщения: 18.10.2008 18:59
Очень часто мне приходится выполнять переименование файлов в транслите ,
а затем восстанавливать имена .
Приходится выполнять и ретранслит имен файлов , причем , выполненных
с различным кодами транслита

Вот попробовал сделать универсальный скрипт Транслит-Ретранслит
по способу ( SysLam, 05:05 17-10-2008 ) :


Код: $sCyrrilicString = ' "ПОДЪЕЗД Разъезд печь" РАЗЪЕЗД ПЕЧЬ КРЫША крыша роща РОЩА ' & _
"' caplya tsaplya' SCHUKA SH`UKA"

$sTranslitString = _Translit_ReTranslit_Proc($sCyrrilicString,1)
$sReTranslitString=_Translit_ReTranslit_Proc($sTranslitString ,2)
$sCorrectString=_Correct($sReTranslitString)
ConsoleWrite ($sCyrrilicString & @CRLF & $sTranslitString & @CRLF & $sCorrectString & @CRLF)

Func _Translit_ReTranslit_Proc($sString,$fl=1)

Local Const $aCyrTab[73] = [72, "щ","Щ","ы","Ы", _
"щ","Щ", _
"ё","ж","ц","ч","ш","ъ","э","ю","я", _
"Ё","Ж","Ц","Ч","Ш","Ъ","Э","Ю","Я", _
"а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ь","ы", _
"А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ь","Ы", _
"ц","Ц"]

Local Const $aLatTab[73] = [72, "sh`","SH`","i`","I'", _
"sch","SCH", _
"yo" ,"zh" ,"ts","ch","sh",'``',"e'","yu","ya", _
"YO" ,"ZH" ,"TS","CH","SH",'``',"E'","YU","YA", _
"a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","`","y", _
"A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","`","Y", _
"c","C"]
For $i = 1 To $aLatTab[0]
If $fl=1 Then $sString = StringReplace($sString, $aCyrTab[$i],$aLatTab[$i], 0, 2)
If $fl=2 Then $sString = StringReplace($sString, $aLatTab[$i],$aCyrTab[$i], 0, 2)
Next

Return $sString
EndFunc ;==>_Translit_ReTranslit_Proc

Func _Correct($sString)

Local $newString

For $i=1 To StringLen ($sString)
$letter=StringMid( $sString, $i,1)
If $letter="ъ" Or $letter="Ъ" Or $letter="ь" Or $letter="Ь" Then
$letter0=StringMid( $sString, $i+1,1)
If $letter0 =' ' Then $letter0=StringMid($sString, $i-1,1)
If StringIsUpper ($letter0) Then $letter=StringUpper ($letter)
EndIf
$newString &= $letter
Next

Return $newString

EndFunc
Автор: frozen2
Дата сообщения: 18.10.2008 21:44
Помогите с написанием скрипта. Он служит для скачки интернет-радио.


Код:
WinActivate("Total Commander 7.04a - University of Amsterdam")
Send("{LEFT}")
Send("cm_FtpNew")
Send("{Enter}")
Send("http://80.70.96.155:8000/radio_record.mp3", 1)
Send("{Enter}")
Send("j:\record", 1 )
Send("{Enter}")
Автор: ViSiToR
Дата сообщения: 19.10.2008 01:17
frozen2 22:44 18-10-2008
Цитата:
при выполнении скрипта высылается вот это

Странно... я бы в таком случае использовал б.обмена (если конечно нет возможности получить идентификатор/класс контроля):


Код:
_InsertString("http://80.70.96.155:8000/radio_record.mp3")

Func _InsertString($sString)
Local $sOldClip = ClipGet()
ClipPut($sString)

Send("+{Insert}")
ClipPut($sOldClip)
EndFunc
Автор: SysLam
Дата сообщения: 19.10.2008 10:40
gregaz
не очень быстро, зато прозрачно:

Код: $sCyrrilicString = ' "Пьезо ПОДЪЕЗД Разъезд печь" РАЗЪЕЗД ПЕЧЬ КРЫША крыша роща РОЩА ' & _
"' caplya tsaplya' SCHUKA SH`UKA"

$sTranslitString = _Translit_ReTranslit_Proc($sCyrrilicString,1)
$sReTranslitString=_Translit_ReTranslit_Proc($sTranslitString,2)
ConsoleWrite ($sCyrrilicString & @CRLF & $sTranslitString & @CRLF & $sReTranslitString & @CRLF)

Func _Translit_ReTranslit_Proc($sString,$fl=1)

Local Const $aCyrTab[73] = [72, "щ","Щ","ы","Ы", _
"щ","Щ", _
"ё","ж","ц","ч","ш","ъ","э","ю","я", _
"Ё","Ж","Ц","Ч","Ш","Ъ","Э","Ю","Я", _
"а","б","в","г","д","е","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ь","ы", _
"А","Б","В","Г","Д","Е","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ь","Ы", _
"ц","Ц"]

Local Const $aLatTab[73] = [72, "sh`","SH`","i`","I'", _
"sch","SCH", _
"yo" ,"zh" ,"ts","ch","sh",'``',"e'","yu","ya", _
"YO" ,"ZH" ,"TS","CH","SH",'``',"E'","YU","YA", _
"a","b","v","g","d","e","z","i","j","k","l","m","n","o","p","r","s","t","u","f","h","`","y", _
"A","B","V","G","D","E","Z","I","J","K","L","M","N","O","P","R","S","T","U","F","H","`","Y", _
"c","C"]
For $i = 1 To $aLatTab[0]
If $fl=1 Then $sString = StringReplace($sString, $aCyrTab[$i],$aLatTab[$i], 0, 2)
If $fl=2 Then $sString = StringReplace($sString, $aLatTab[$i],$aCyrTab[$i], 0, 2)
Next
If $fl=2 Then
$sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ь])","\1Ь")
$sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ъ])","\1Ъ")
$sString = StringRegExpReplace($sString, "([ь])([А-Я,Ё])","Ь\2")
$sString = StringRegExpReplace($sString, "([ъ])([А-Я,Ё])","Ъ\2")

$sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ь])","\1ь")
$sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ъ])","\1ъ")
$sString = StringRegExpReplace($sString, "([Ь])([а-я,ё])","ь\2")
$sString = StringRegExpReplace($sString, "([Ъ])([а-я,ё])","ъ\2")
EndIf
Return $sString
EndFunc ;==>_Translit_ReTranslit_Proc
Автор: gal7
Дата сообщения: 19.10.2008 14:37
Нет ли какого-нибудь транслятора с .au3 в .vbs? Наоборот вроде есть, а такого не нашел.
Автор: ViSiToR
Дата сообщения: 19.10.2008 14:53
gal7 15:37 19-10-2008
Цитата:
Нет ли какого-нибудь транслятора с .au3 в .vbs?

Не думаю, оно будет посложнее чем с vbs на autoit. В vbs не поддерживаются слишком многие свойства аутоита. Да и зачем оно?
Автор: gregaz
Дата сообщения: 19.10.2008 16:05
SysLam 14:26 19-10-2008
Цитата:

$sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ь])","\1Ь")
$sString = StringRegExpReplace($sString, "([А-Я,Ё]{2,})([ъ])","\1Ъ")

$sString = StringRegExpReplace($sString, "([ь])([А-Я,Ё])","Ь\2")
$sString = StringRegExpReplace($sString, "([ъ])([А-Я,Ё])","Ъ\2")
$sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ь])","\1ь")
$sString = StringRegExpReplace($sString, "([а-я,ё]{2,})([Ъ])","\1ъ")
$sString = StringRegExpReplace($sString, "([Ь])([а-я,ё])","ь\2")
$sString = StringRegExpReplace($sString, "([Ъ])([а-я,ё])","ъ\2")


Не силен в регулярных выражениях.Если не трудно - разжуй.
В чем необходимость нижних 6 строк , когда вроде достаточно верхних 2-х ?
Автор: Leagnus
Дата сообщения: 19.10.2008 17:29
У кого-нибудь осталась функция _HTTPEncodeString? Обыскал оффорум не нашёл.
Автор: ViSiToR
Дата сообщения: 20.10.2008 00:38
Leagnus 18:29 19-10-2008
Цитата:
У кого-нибудь осталась функция _HTTPEncodeString? Обыскал оффорум  не нашёл.

Какой форум? Первый же результат при поиске с запросом «_HTTPEncodeString» на оф. форуме выдаёт HTTP UDF's, в которых есть эта функция.
Автор: SysLam
Дата сообщения: 20.10.2008 02:05
gregaz
1-2 Поднимает регистр знака после 2-х прописных, 1-я может быть заглавной! (с 3-й позиции в слове)
3-4 Поднимает регистр знака перед 1-й прописной буквы (в начале или середине слова)
5-6 Опускает регистр знака после 1-й строчной буквой (в конце или середине слова)
7-8 Опускает регистр знака перед 1-й строчной буквой (в начале или середине слова)

это для любой последовательности перебора, для твоего массива регистр всегда поднимается, можно оставить 4:

Код: $sString = StringRegExpReplace($sString, "([А-Я,Ё]{2})ь","\1Ь")
$sString = StringRegExpReplace($sString, "([А-Я,Ё]{2})ъ","\1Ъ")
$sString = StringRegExpReplace($sString, "ь([А-Я,Ё])","Ь\1")
$sString = StringRegExpReplace($sString, "ъ([А-Я,Ё])","Ъ\1")

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

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


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