Вниз
Скачать: CL | DM;

Немного глуповат вопрос, но StrLeft не обрабатывает строку.   Найти похожие ветки 

← →
IrBisoff ©   (2004-05-15 06:06) [0]

При исполнении этого кода StrLeft срабатывает только в первом контейнере, в остальных же - текст остаётся неизменным. Я даже пробовал убирать все условия и принудительно обрезать - не помогает. =( LastSpace устанавливается во всех случаях верно - следующая строка начинается с последнего пробела... Скорее всего это связано с этим фрагментом: tmp := tmp+Freader.STotalText.Strings[StrGlobNum][StrGlobPos];. Раньше у мну всегда проблемы возникали при посимвольном переносе. =)

 while not FullString do begin
   if Freader.LabelCustom.Canvas.TextWidth(tmp) < Freader.LeftPage.Width - 89 then begin // Если текст ещё помещается в контейнер...

     // Если это ещё не конец строки, то прибавляем букву, если же нет - конец строки
     if StrGlobPos < Length(Freader.STotalText.Strings[StrGlobNum]) then inc(StrGlobPos)
     else begin inc(StrGlobPos); EndGlobString := true; Fullstring := true;end;

     tmp := tmp+Freader.STotalText.Strings[StrGlobNum][StrGlobPos]; // Добавляем символ в строку
     if Freader.STotalText.Strings[StrGlobNum][StrGlobPos] = " " then LastSpace := StrGlobPos; // Если текущий символ - пробел, устанавливаем флаг пробела
   end else begin               // Если уже не помещается...
     Fullstring := true;        // Всего лишь ставим флаг
   end;
 end;

 if not EndGlobString then begin // Если это не конец строки...
   StrGlobPos := LastSpace; // Устанавливаем последний символ в пробел
   CreatePlainLeftLabel(LeftBStr(tmp,LastSpace)); // Создаём контейнер с тем текстом, что предшествует пробелу
 end else begin
   CreatePlainLeftLabel(tmp); // А если конец строки - создаём с оригинальным текстом.
 end;


← →
IrBisoff ©   (2004-05-15 06:21) [1]

Всё, сам решил проблему... =) LastSpace выставлялся для глобальной строки, а мне нужно было его искать в строке локальной... Ввёл вторую переменную для локального LastSpace и усё. =)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
3-1084245341
Dmitriy Smirnoff
2004-05-11 07:15
2004.05.30
Rave Report in D7


14-1084426214
Bless
2004-05-13 09:30
2004.05.30
Посоветуйте, плз, видеокарту в пределах 100 у.е.


7-1082383492
Super-Mario
2004-04-19 18:04
2004.05.30
Инжектор, ЭБУ


7-1083049444
luka
2004-04-27 11:04
2004.05.30
запись cd


1-1084591138
IrBisoff
2004-05-15 07:18
2004.05.30
Выравнивание по ширине




   Наверх