Привет all!
Как пролистывать (не через жо) в коде memo?
Интересует кроссплатформенный случай.
З.Ы. Гугл и поиск по форуму использовал. Честно.
			
				Модератор: Модераторы
prom-net-pixel писал(а):Как пролистывать (не через жо) в коде memo?

For i:=0 To Memo.Lines.Count-1 Do
Memo.Lines[i]:='тыры-пыры';procedure TForm1.UpClick(Sender: TObject);
var
  cp:integer;
begin
  cp:=Memo1.SelStart-Memo1.CaretPos.X-2;
  if cp<0 then cp:=0;
  Memo1.SelStart:=cp
end;
procedure TForm1.DownClick(Sender: TObject);
var
  cp:integer;
begin
  if Memo1.CaretPos.y<Memo1.Lines.Count then begin
    cp:=Memo1.SelStart+2+Length(Memo1.Lines[Memo1.CaretPos.y])-Memo1.CaretPos.x;
    Memo1.SelStart:=cp
  end;
end;
, мы переведём курсор в конец текущей строки, а прибавив 2 (1) - на следующую строку.Length(Memo1.Lines[Memo1.CaretPos.y])-Memo1.CaretPos.x
const
{$ifDef UNIX}
  EoLLen=1;
{$EndIf}
{$IfDef WINDOWS}
  EoLLen=2;
{$EndIf}
Memo1.SelStart:=Memo1.SelStart+2{т.к. сам прибавляю#13#10}+length(Memo1.Lines[Memo1.CaretPos.Y]) {-Memo1.CaretPos.X в принципе можно не указывать, т.к. изначально курсор находится в начале строки};
length(Memo1.Lines[Memo1.CaretPos.Y-1])length(Memo1.Lines[Memo1.Lines.Count])
  
Memo1.Text :=Memo1.Text+ fStatusText;
Memo1.SelStart:= Memo1.SelStart+length(Memo1.Lines[Memo1.CaretPos.Y])-Memo1.CaretPos.X;
Memo1.Text :=Memo1.Text+ #13#10;
Memo1.SelStart:=Memo1.SelStart+2; 
  Memo1.Lines.Append(fStatusText);
  //Memo1.Refresh;
Memo1.Lines.Add(fStatusText)
Memo1.Lines.Append(fStatusText)

 и это основная причина, почему я написал в обучение
 и это основная причина, почему я написал в обучение   
  

Вернуться в Обучение Free Pascal
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1