[Вопрос] Разделить строку - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Вопрос] Разделить строку
SokLoel Дата: Пятница, 31.03.2017, 18:46 | Сообщение # 1
Любитель
Сообщений: 46
Статус: Offline
Всем привет.
Каким образом возможно разделить строку и поместив её в две разные переменные

Наглядный пример:
Создаем команду /exme [текст] и помещаем текст в переменную
Создается две переменные, в первую записывается 30 символов и во вторую оставшиеся

Нашел подобный код, но под Pawno, возможно ли как-то перенести это в AHK?
Код
if(strlen(text) >= 80)//если набранный текст больше 80, то
{
           new string[128];//переменная для хранения перенесенного текста
           new mess[128];//переменная для форматирования и отправки п.т
           strmid(string,text,64,128,128);//запишем текст для переноса в переменную
           strdel(text,64,128);//удалим из переменной для записи текста половину текста
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);//форматнем для отправки в первое сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), text);//отправим первую половину текста
           format(mess, 88, "%s(%d): {FFFFFF}%s", pName, playerid, string);//форматнем для отправки во второе сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), mess);//отправим второю половину текста
           return 0;
}
else//а если не больше, то
{
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);
           SendClientMessageToAll(GetPlayerColor(playerid), text);
           return 0;
}


Сообщение отредактировал SokLoel - Пятница, 31.03.2017, 18:57
[CM]MurKotik Дата: Пятница, 31.03.2017, 22:15 | Сообщение # 2
Murkot Develop
Сообщений: 252
Статус: Offline
strlen() + RegExMatch

text := Бла Бла Бла Бла Бла Бла
if strlen() = 3
text1:=text
else
{
RegExMatch
RegExMatch(text, "(...)(.*)*, text)
}

В строке text1 Будет 3 символа всегда остальное в text2 по анологии делай большее


-------------------

Ушёл в себя, вернусь поздно и пьяный!


Сообщение отредактировал [CM]MurKotik - Пятница, 31.03.2017, 22:16
Demy Дата: Пятница, 31.03.2017, 22:54 | Сообщение # 3
Бывалый
Сообщений: 422
Статус: Offline
Не уверен насчет работоспособности, не тестил..Ошибки тоже могут быть

Код
Split(text) {
If ( StrLen(text) > 80 ) {
      Texts := []
      Loop % StrLen(text) // 80
            Texts.Push(SubStr(Text,A_Index*80,80))
      Texts.Push(Text,SubStr(StrLen(text)-mod(text,80),mod(text,80)))
} else Texts := [text]
}


AutoReporter / http://cheat-master.ru/forum/150-486717-1
Finder / http://cheat-master.ru/forum/160-497245-1
DLQ Binder / http://cheat-master.ru/forum/150-594163-1

У ТЕБЯ ЕСТЬ ИДЕЯ ДЛЯ ПРОГРАММЫ, НО САМ ТЫ НЕ МОЖЕШЬ НАПИСАТЬ КОД? ПИШИ МНЕ
[CM]Coockie Дата: Среда, 05.04.2017, 22:32 | Сообщение # 4
developer
Сообщений: 67
Статус: Offline
Код

part := []
string := "Привет Cheat-Master. Это [CM] Coockie. Это рабочий (нет) код, он поможет тому, кому он нужен. Тут пусть будет еще какой-нибудь текст."
if (StrLen(string) > 80) {
    part[1] := SubStr(string, 1, round(StrLen(string)/2))
    part[2] := SubStr(string, round(StrLen(string)/2), StrLen(string))
    MsgBox, % part[1]
    MsgBox, % part[2]
}
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума