Привет!
Есть функция, которая форматирует длинную строку пирамидкой:
На строке $line1 это работает нормально. Но если строка достаточно длинная как $line2, то результат выглядит некрасиво. Как сделать так, чтобы короткие строки форматировались пирамидкой, а длинные - ромбиком?
т.е. вот так должно быть:
пирамидка
ромбик
Добавлено:
Для упрощения задачи положим, что максимальная длина строки всегда равна 70 и меняться не может. А максимальная длина входной строки не превышает 1000 знаков.
Есть функция, которая форматирует длинную строку пирамидкой:
Код:
$line1 = 'Информация региональной энергетической комиссии - департамента цен и тарифов Краснодаского края “Прогноз цен РЭК-департамента цен и тарифов Краснодарского края на автомобильное топливо на период 3 квартала 2010 года'
$line2 = 'Постановление администрации муниципального образования город Краснодар от 19 января 2011 г. N 194 “О внесении изменений в постановление главы муниципального образования город Краснодар от 26.11.2008 N 4062 “Об утверждении Положения о порядке работы комиссий по выявлению и уборке автотранспортных средств, брошенных собственниками, на территории муниципального образования город Краснодар и об организации мероприятий, направленных на принятие мер по уборке автотранспортных средств, брошенных собственниками"'
MsgBox(0, '', Pyra($line1, 70))
MsgBox(0, '', Pyra($line2, 70))
Func Pyra($sLine, $iMaxLen)
Local $aSplittedLine = StringSplit($sLine, ' ')
Local $sRet, $sNewLine
For $i = 1 To $aSplittedLine[0] Step +1
If StringLen($sNewLine & ' ' & $aSplittedLine[$i]) <= $iMaxLen Then
$sNewLine &= ' ' & $aSplittedLine[$i]
Else
$sRet &= $sNewLine & @CRLF
$iMaxLen = StringLen($sNewLine) -1
$sNewLine = $aSplittedLine[$i]
EndIf
Next
$sRet &= $sNewLine
Return StringStripWS($sRet, 1)
EndFunc
На строке $line1 это работает нормально. Но если строка достаточно длинная как $line2, то результат выглядит некрасиво. Как сделать так, чтобы короткие строки форматировались пирамидкой, а длинные - ромбиком?
т.е. вот так должно быть:
пирамидка
Информация региональной энергетической комиссии - департамента цен и тарифов
Краснодаского края “Прогноз цен РЭК-департамента цен и тарифов
Краснодарского края на автомобильное топливо на период
3 квартала 2010 года
Краснодаского края “Прогноз цен РЭК-департамента цен и тарифов
Краснодарского края на автомобильное топливо на период
3 квартала 2010 года
ромбик
Постановление администрации муниципального образования город Краснодар
от 19 января 2011 г. N 194 “О внесении изменений в постановление главы муниципального
образования город Краснодар от 26.11.2008 N 4062 “Об утверждении Положения о порядке работы комиссий
по выявлению и уборке автотранспортных средств, брошенных собственниками, на территории
муниципального образования город Краснодар и об организации мероприятий,
направленных на принятие мер по уборке автотранспортных средств,
брошенных собственниками"
от 19 января 2011 г. N 194 “О внесении изменений в постановление главы муниципального
образования город Краснодар от 26.11.2008 N 4062 “Об утверждении Положения о порядке работы комиссий
по выявлению и уборке автотранспортных средств, брошенных собственниками, на территории
муниципального образования город Краснодар и об организации мероприятий,
направленных на принятие мер по уборке автотранспортных средств,
брошенных собственниками"
Добавлено:
Сообщение автоматически объединено:
Для упрощения задачи положим, что максимальная длина строки всегда равна 70 и меняться не может. А максимальная длина входной строки не превышает 1000 знаков.