Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2010, 13:53   #11
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Ввёл 000 жму Enter и никакой реакции, каретка стоит позади 000
Shouldercannon вне форума Ответить с цитированием
Старый 23.05.2010, 15:16   #12
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Проект сможешь показать ?
Выложить ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 23.05.2010, 15:33   #13
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Пожалуйста
Цитата:
Ставим курсор в конец текущей строки :
Код:
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  RichViewEdit1.SelectCurrentLine;
  RichViewEdit1.Deselect;
end;
А если в RichViewEdit много строк, как в этом случае каретку поставить в самом конце всех строк?
Вложения
Тип файла: rar Test.rar (8.5 Кб, 5 просмотров)

Последний раз редактировалось Shouldercannon; 23.05.2010 в 21:32.
Shouldercannon вне форума Ответить с цитированием
Старый 23.05.2010, 17:40   #14
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
А если в RichViewEdit много строк, как в этом случае каретку поставить в самом конце всех строк?
Код:
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  RichViewEdit1.SelectAll;
  RichViewEdit1.Deselect;
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 23.05.2010 в 17:48.
Kotofff вне форума Ответить с цитированием
Старый 23.05.2010, 18:09   #15
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Проект выкладывать пока не буду - нет смысла.
У тебя какая версия Delphi ?

Поправь вот :
Код:
//Добавить в RVE из Memo
procedure TForm1.Button4Click(Sender: TObject);
begin
  RichViewEdit1.InsertText(Memo1.Text);
  RichViewEdit1.Reformat; ///  ПОСЛЕ ЛЮБОЙ ОПЕРАЦИИ ВСТАВКИ ИЛИ УДАЛЕНИЯ НУЖНО ПЕРЕФОРМАТИРОВАТЬ
  RichViewEdit1.SetFocus;
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 23.05.2010, 18:41   #16
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Оказывется всё правильно. Я просто перепутал что куда помещать
Код:
procedure TForm1.RichViewEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (not(ssCtrl in Shift)) and (Key = VK_RETURN) and (not IsEmpty(RichViewEdit1)) then
  begin
    Key := 0;
      RichViewEdit1.SelectAll;
        Memo1.Text := RichViewEdit1.GetSelText;
          RichViewEdit1.Deselect;
            RichViewEdit1.Clear;
              RichViewEdit1.Reformat;
  end
    else
      if (not(ssCtrl in Shift)) and (Key = VK_RETURN) and (IsEmpty(RichViewEdit1))
        then
          Key := 0;
end;

Последний раз редактировалось Shouldercannon; 24.05.2010 в 12:18.
Shouldercannon вне форума Ответить с цитированием
Старый 24.05.2010, 14:22   #17
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Не подскажете как можно ещё подсчитать количество символов в RichViewEdit
Код:
RichViewEdit1.SelectAll;
  PSymbol.Caption := IntToStr(Length(RichViewEdit1.GetSelText));
    RichViewEdit1.Deselect;
из-за данного способа возникают проблемы при вводе текста (каретка постоянно позиционируется в конец строки).
Shouldercannon вне форума Ответить с цитированием
Старый 24.05.2010, 15:24   #18
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Эта функция не трогает каретку вообще и считает везде включая внутри таблиц (если они есть) ...

Код:
uses CRVData;
....
....
....

function GetCharCount(RVData: TCustomRVData): Integer;
var i,r,c: Integer;
     table: TRVTableItemInfo;
begin
Result := 0;
for i := 0 to RVData.Items.Count-1 do
  if RVData.GetItemStyle(i)>=0 then begin inc(Result, RVData.ItemLength(i))
  else if RVData.GetItemStyle(i)=rvsTab then inc(Result)
  else if RVData.GetItemStyle(i)=rvsTable then begin table := TRVTableItemInfo(RVData.GetItem(i));
    for r := 0 to table.Rows.Count-1 do
      for c := 0 to table.Rows[r].Count-1 do
        if table.Cells[r,c]<>nil then inc(Result, GetCharCount(table.Cells[r,c].GetRVData));
  end;
end;
Используем :
Код:
r := GetCharCount(RichView.RVData);
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 24.05.2010 в 15:26.
Kotofff вне форума Ответить с цитированием
Старый 24.05.2010, 17:12   #19
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Спасибо работает, но есть один минус - не считает количество символом после нажатой клавиши Enter, если я не ошибаюсь их 2 (символа).
Вложения
Тип файла: rar Test.rar (5.9 Кб, 5 просмотров)

Последний раз редактировалось Shouldercannon; 24.05.2010 в 19:27.
Shouldercannon вне форума Ответить с цитированием
Старый 25.05.2010, 20:11   #20
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Код:
var
  r: integer;
begin
  r := RichViewEdit1.GetTextLen;
  Panel1.Caption := IntToStr(r);

Последний раз редактировалось Shouldercannon; 26.05.2010 в 03:22.
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает Игнор в ICQ HellMercenariess Свободное общение 2 25.11.2009 12:45
Позиция Bat{CMD}_Men БД в Delphi 5 16.10.2009 18:32
Координаты каретки miatu Microsoft Office Word 11 28.08.2009 19:38
Создание второй каретки мыши andreyasu Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 02.07.2009 16:01
Позиционирование каретки Spice Win Api 1 25.03.2009 04:51