Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: 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 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1084467098
Kreon
2004-05-13 20:51
2004.05.30
OnMouseWheelDown,Up


3-1084124067
normandia
2004-05-09 21:34
2004.05.30
Перекомпоновать таблицу в SQL запросе


3-1084034065
AVKAR
2004-05-08 20:34
2004.05.30
Lookup-поле


7-1082527357
defen
2004-04-21 10:02
2004.05.30
Wunexec


14-1083836804
oflaund
2004-05-06 13:46
2004.05.30
Помогите решить задачу на pascal e