Функция

Титов
Дата: 11.05.2011 14:18:09
function SetLongDescValue(AText: String; AFont: String;
                          AFontSize: Integer;
                          AStartRow: Word; ACol: Byte;
                          AColSizePx: Integer): Integer;
var
  tw: Integer;        //ширина текста в пх
  rowsymbcnt: Integer;   //колво символов на строку
  i: Integer;
  oldpos, p: Integer;
  val: String;
begin
  tw := TextWidth(AFont,AFontSize,AText);
  if tw <= AColSizePx then begin
    GetCell(AStartRow,ACol).Value := AText;
    Result := 1;
  end
  else begin
    rowsymbcnt := tw div AColSizePx;
    if tw mod AColSizePx > 0 then
      Inc(rowsymbcnt);
    oldpos := 0;
    i := 0;
    while i < rowsymbcnt do begin
      p := PosEx(' ',AText, (Length(AText) div rowsymbcnt) + oldpos);
      if p = 0 then
        p := Length(AText);
      val := Copy(AText,oldpos,p-oldpos);
      oldpos := p;

      GetCell(AStartRow+i,ACol).Value := val;
      Inc(i);
    end;
    Result := rowsymbcnt;
  end;
end;

люди помогите функцию доделать плиз предназначена для для обрезания предложения и распихивания его по ячейкам заранее спасибо!!!
Judo
Дата: 11.05.2011 14:29:22
в чем проблема то? скопипастил и просишь за тебя доделать? :-))))
Титов
Дата: 11.05.2011 14:43:02
Judo,

ну начнем с того что написано криво следовательно, написано мной... и не от куда не с копираванно... ну а проблема в том что, или половину текста проподает в нибытие, или не все строки режет как надо т.е.
должен вывести красиво и аккуратно так
Титов
Дата: 11.05.2011 14:43:38
а у меня с помощью этой функции получается так
Judo
Дата: 11.05.2011 14:45:19
Титов
Judo,
ну начнем с того что написано криво следовательно, написано мной...


нельзя вот прям так сразу :-))))))))))
Judo
Дата: 11.05.2011 14:50:53
Титов
....
p := PosEx(' ',AText, (Length(AText) div rowsymbcnt) + oldpos);
...


чета я правильность вот этого "div rowsymbcnt" не совсем понял.....
Титов
Дата: 11.05.2011 15:10:07
Judo
Титов
....
p := PosEx(' ',AText, (Length(AText) div rowsymbcnt) + oldpos);
...


чета я правильность вот этого "div rowsymbcnt" не совсем понял.....


остовляем целое слово поле пробела.