Вниз
Скачать: 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.036 c
7-1082701455
Igor_
2004-04-23 10:24
2004.05.30
Чтение LPT


9-1075380883
Black Fury
2004-01-29 15:54
2004.05.30
Проблема с вызовом процедуры из *.dll


3-1083759637
int21h
2004-05-05 16:20
2004.05.30
Aliace in Paradox


1-1084962166
Diogen
2004-05-19 14:22
2004.05.30
Работа с датами ...


7-1081903856
HammeRBgu
2004-04-14 04:50
2004.05.30
Выход из спящего режима




   Наверх