[Вопрос] Разделить строку
|
|
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] }
|
|
|
|