Главная страница
    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.45 MB
Время: 0.036 c
4-1081952769
Midaw
2004-04-14 18:26
2004.05.30
Скрытие приложения от диспетчера задач


6-1081351811
nomshar
2004-04-07 19:30
2004.05.30
И опять о сокетах


3-1083734716
Komar
2004-05-05 09:25
2004.05.30
Как работать с базами MySQL расположенные на другом компьютере?


1-1084857655
lehich
2004-05-18 09:20
2004.05.30
close


3-1084134130
Piter
2004-05-10 00:22
2004.05.30
DISTINCT?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский