1

Тема: AHK: Перевернуть слово

Как перевернуть слово? ( Например: Привет, Тевирп ).  Под Edit1, Edit2, Edit3 и т.д хранится каждая буква начиная с конца. Но вот с выводом проблема. Выводится по 1 букве в сообщении. Как сделать чтобы в MsgBox выводилось сразу все буквы?

Тут мой код вывода букв начиная с конца слова, но выводит по 1 букве, а нужно чтобы вывело сразу:


i:= 0
Loop % Количество букв
{
a:= MaxLen - i++
MsgBox % Edit%a%
}

2

Re: AHK: Перевернуть слово

Loop % Количество букв
  Result = % Edit%A_Index% Result
MsgBox % Result

3

Re: AHK: Перевернуть слово

Не. Не то выводит. Irbis, у меня скорее код замудренный, подскажите пожалуйста как слово перевернуть? Например вводим слово "россия", вывести должно "яиссор"

4

Re: AHK: Перевернуть слово


word = россия
Loop % Len := StrLen(word)
    conversely .= SubStr(word, Len--, 1)
MsgBox, % conversely
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Перевернуть слово

Спасибо Серж!

6

Re: AHK: Перевернуть слово

Со словом проще, чем с полями Edit

word = Россия
Loop, Parse, word
  Result = % A_LoopField Result
MsgBox % Result

7

Re: AHK: Перевернуть слово

Да, вот это класс!
Чертовски просто и очевидно, стало даже стыдно за свой монстро-код
---
Кстати почему вы начали писать = %

Result = % A_LoopField Result

А не:

Result := A_LoopField Result
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: Перевернуть слово

Да код с SubStr вполне себе в порядке, просто возился сегодня с Loop, Parse и он первым делом "всплыл" в памяти

По поводу := и % даже не знаю, бессистемно видимо применяю, где что удобней. Тяготею к := в случае, когда присваивание идет числовой переменной, а = % в основном с текстом, хотя АНК типы не разделяет.