126

Re: AHK: Break и Shift+Break как в пунто свитчере

AlanCast пишет:

1. :^ (шифт-6) не перекодируется.

Почему-то забыл эти символы добавить в набор, отредактировал в Коллекции.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

127 (изменено: stealzy, 2016-09-02 16:38:21)

Re: AHK: Break и Shift+Break как в пунто свитчере

Кстати, велосипед ConvertRegistr() можно заменить на StringUpper/StringLower.

128

Re: AHK: Break и Shift+Break как в пунто свитчере

stealzy, поясните.

пРИВЕТ => Привет

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

129

Re: AHK: Break и Shift+Break как в пунто свитчере

Наверное можно подсократить:

text := "пРИВЕТ"
msgbox % RegExReplace(text, "([А-ЯЁA-Z])|([а-яёa-z])", "$L1$U2")

130

Re: AHK: Break и Shift+Break как в пунто свитчере

Да, так работает, интересное решение.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

131 (изменено: stealzy, 2016-09-03 11:09:00)

Re: AHK: Break и Shift+Break как в пунто свитчере

teadrinker, упустил момент с разнорегистровым текстом.
А по-польски слабо список символов составить? :trollface

MsgBox % StringInvertCase("cZEŚĆ W jĘZYKU pOLSKIM")

StringInvertCase(str) {
	Loop, Parse, str
	{
		StringUpper charUpper , A_LoopField
		StringLower charLower , A_LoopField
		charInvert := (charUpper == A_LoopField) ? charLower : charUpper 
		strInvert .= charInvert
	}
	Return strInvert
}

132

Re: AHK: Break и Shift+Break как в пунто свитчере

stealzy пишет:

А по-польски слабо список символов составить?

Ну, это вряд ли пригодится. Хотя универсальность, конечно, приятна. Если бы ещё это как-то эффектно решить. Стал думать, можно ли как-то определить регистр символа? Ничего в голову не приходит.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

133 (изменено: stealzy, 2016-09-03 11:09:53)

Re: AHK: Break и Shift+Break как в пунто свитчере

Можно глянуть как устроена StringUpper в коде. Наверняка не списком перечисляют весь юникод :-).

134

Re: AHK: Break и Shift+Break как в пунто свитчере

Можно ещё Translit добавить, полезно например вставить в путь к файлу.

Translit() {
	Static RU := "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
	, ENG := ["A","B","V","G","D","E","Yo","Zh","Z","I","Y","K","L","M","N","O"
	,"P","R","S","T","U","F","Kh","Ts","Ch","Sh","Sch","'","I","","E","Yu","Ya"]
	
	If (SelText := GetWord(TempClipboard)) = ""
		Return Clipboard := TempClipboard
	Loop, Parse, SelText
		If p := (RU ~= "Si)\Q" A_LoopField "\E")
			Translit .= (A_LoopField ~= "S)[А-ЯЁ]") ? ENG[p] : Format("{:L}", ENG[p])
		Else
			Translit .= A_LoopField
	Clipboard := Translit
	SendInput, ^{vk56}   ; Ctrl + V
	Sleep, 200
	Clipboard := TempClipboard
}
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).