Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # http://goo.gl/Zq9sOL
- # http://goo.gl/bv6JGT
- [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
- function TranslitRU2LAT{
- param([string]$inString)
- $Translit = @{
- [char]'а' = "a";[char]'А' = "A";
- [char]'б' = "b";[char]'Б' = "B";
- [char]'в' = "v";[char]'В' = "V";
- [char]'г' = "g";[char]'Г' = "G";
- [char]'д' = "d";[char]'Д' = "D";
- [char]'е' = "e";[char]'Е' = "E";
- [char]'ё' = "ye";[char]'Ё' = "Ye";
- [char]'ж' = "zh";[char]'Ж' = "Zh";
- [char]'з' = "z";[char]'З' = "Z";
- [char]'и' = "i";[char]'И' = "I";
- [char]'й' = "y";[char]'Й' = "Y";
- [char]'к' = "k";[char]'К' = "K";
- [char]'л' = "l";[char]'Л' = "L";
- [char]'м' = "m";[char]'М' = "M";
- [char]'н' = "n";[char]'Н' = "N";
- [char]'о' = "o";[char]'О' = "O";
- [char]'п' = "p";[char]'П' = "P";
- [char]'р' = "r";[char]'Р' = "R";
- [char]'с' = "s";[char]'С' = "S";
- [char]'т' = "t";[char]'Т' = "T";
- [char]'у' = "u";[char]'У' = "U";
- [char]'ф' = "f";[char]'Ф' = "F";
- [char]'х' = "kh";[char]'Х' = "Kh";
- [char]'ц' = "ts";[char]'Ц' = "Ts";
- [char]'ч' = "ch";[char]'Ч' = "Ch";
- [char]'ш' = "sh";[char]'Ш' = "Sh";
- [char]'щ' = "sch";[char]'Щ' = "Sch";
- [char]'ъ' = "";[char]'Ъ' = "";
- [char]'ы' = "y";[char]'Ы' = "Y";
- [char]'ь' = "";[char]'Ь' = "";
- [char]'э' = "e";[char]'Э' = "E";
- [char]'ю' = "yu";[char]'Ю' = "Yu";
- [char]'я' = "ya";[char]'Я' = "Ya"
- }
- $outChars = ""
- $Result.Text = ""
- $inString = $InputName.Text +"."+ $InputSName.Text
- foreach ($c in $inChars = $inString.ToCharArray())
- {
- if ($Translit[$c] -cne $Null )
- {$outChars += $Translit[$c]}
- else
- {$outChars += $c}
- }
- $Result.Text = $outChars
- }
- #
- #
- function SplitFName{
- $inStr = $InputFName.Text -split " "
- $InputSName.Text = $inStr[0]
- $InputName.Text = $inStr[1]
- $InputInitName.Text = $inStr[2]
- TranslitRU2LAT
- }
- #
- function SetToClipboard{
- param($cltext)
- if($cltext){
- [Windows.Forms.Clipboard]::SetText($cltext);
- $Form.close()
- }
- }
- #
- # Форма GUI
- #
- $labFName = New-Object windows.Forms.Label
- $labFName.text = "Фамилия Имя Отчество полностью:"
- $labFName.left = "8"
- $labFName.top = "10"
- $labFName.Width = "300"
- $labSName = New-Object windows.Forms.Label
- $labSName.text = "Фамилия:"
- $labSName.left = "8"
- $labSName.top = "65"
- $labSName.Width = "80"
- $labName = New-Object windows.Forms.Label
- $labName.text = "Имя:"
- $labName.left = "113"
- $labName.top = "65"
- $labName.Width = "80"
- $labInitName = New-Object windows.Forms.Label
- $labInitName.text = "Отчество:"
- $labInitName.left = "218"
- $labInitName.top = "65"
- $labInitName.Width = "80"
- $InputFName = New-Object windows.Forms.TextBox
- $InputFName.Left ="10"
- $InputFName.Top = "34"
- $InputFName.Width = "310"
- $InputFName.add_TextChanged($Function:SplitFName)
- $InputSName = New-Object windows.Forms.TextBox
- $InputSName.Left ="10"
- $InputSName.Top = "88"
- $InputName = New-Object windows.Forms.TextBox
- $InputName.Left ="115"
- $InputName.Top = "88"
- $InputInitName = New-Object windows.Forms.TextBox
- $InputInitName.Left ="220"
- $InputInitName.Top = "88"
- $button1 = New-Object Windows.Forms.Button
- $button1.Text="Транслитерация : Загранпаспорт (1997—2010)"
- $button1.Left ="10"
- $button1.Top = "120"
- $button1.Width = "310"
- $button1.add_click($Function:TranslitRU2LAT)
- $Result = New-Object windows.Forms.TextBox
- $Result.Left= "10"
- $Result.Top="154"
- $Result.Width = "200"
- $Result.Height = "200"
- $Result.ReadOnly = "true"
- $Result.Text = ""
- $button2 = New-Object Windows.Forms.Button
- $button2.Text = "В буфер обмена"
- $button2.Left ="212"
- $button2.Top = "153"
- $button2.Width = "108"
- $button2.Height = "22"
- $button2.add_click({SetToClipboard $Result.Text})
- $Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($PSHOME + "\powershell.exe")
- $Form = New-Object Windows.Forms.Form
- $Form.Height = 220
- $Form.Width = 350
- $Form.Text = "Транслит ФИО для Email"
- $Form.Icon = $Icon
- $Form.AutoSize = $True
- $Form.AutoSizeMode = "GrowOnly"
- #$Form.StartPosition = "CenterScreen"
- $Form.controls.add($labFName)
- $Form.controls.add($labName)
- $Form.controls.add($labInitName)
- $Form.controls.add($labSName)
- $Form.controls.add($inputFName)
- $Form.controls.add($inputSName)
- $Form.controls.add($inputName)
- $Form.controls.add($inputInitName)
- $Form.controls.add($button1)
- $Form.controls.add($button2)
- $Form.controls.add($Result)
- $Form.Add_Shown({$Form.Activate()})
- $Form.ShowDialog()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement