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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2009, 11:31   #21
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Как можно увеличить объем текста в RichEdit, если вставляю несколько кб, он зависает.
И полоса прокрутки не появляется, делал этот код:
Код:
RichEdit1.Perform(WM_VSCROLL, SB_LINEDOWN, 1);
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 31.08.2009, 11:52   #22
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
если вставляю несколько кб, он зависает.
Код в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.08.2009, 12:18   #23
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.SelText:=' <table>'#13#10'     <tr>'#13#10'        <td>&nbsp</td>'#13#10'     </tr>'#13#10' </table>';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
RichEdit1.Lines.SaveToFile('C:\MyPreview.html');
form2.Show;
form2.WebBrowser1.Navigate('C:\MyPreview.html');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 RichEdit1.SelText:=#13#10'    <tr></tr>'
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
 RichEdit1.SelText:=#13#10'        <td></td>'#13
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
RichEdit1.SelText:='<a href=" " title=" "> </a>'
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
RichEdit1.SelText:='<font color="#000000"></font>'
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
RichEdit1.SelText:='<b>'+RichEdit1.SelText+'</b>';
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
RichEdit1.SelText:='<i>'+RichEdit1.SelText+'</i>';
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
RichEdit1.SelText:='<u>'+RichEdit1.SelText+'</u>';
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
  RichEdit1.SelText:='<center>'+RichEdit1.SelText+'</center>';
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
 RichEdit1.SelText:='<left>'+RichEdit1.SelText+'</left>';
end;

procedure TForm1.Image3Click(Sender: TObject);
begin
RichEdit1.SelText:='<right>'+RichEdit1.SelText+'</right>';
end;

procedure TForm1.Image4Click(Sender: TObject);
begin
RichEdit1.SelText:='<div style="text-align: justify">'+RichEdit1.SelText+'</div>';
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
  RichEdit1.SelText:='<p>'+RichEdit1.SelText+'</p>';
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
    RichEdit1.SelText:='<br>'#13#10
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
RichEdit1.SelText:='<hr width="100%" size="2" color="000000" />'
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
RichEdit1.SelText:='  <img src="" width="100" height="100" alt="" border="0" />  '
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
RichEdit1.SelText:='<s>'+RichEdit1.SelText+'</s>';
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
 with SaveDialog1 do
      if Execute then
        begin
          RichEdit1.Lines.SaveToFile('FileName');
           OpenDialog1.FileName:=FileName; // Чтобы исправленный текст не затёр источник
        end;
end;



procedure TForm1.Button16Click(Sender: TObject);
begin
   if OpenDialog1.Execute then
      RichEdit1.Lines.LoadFromFile('OpenDialog1.FileName');
end;

procedure HTMLSyntax(RichEdit: TRichEdit; TextCol,
  TagCol, DopCol: TColor);
var
  i, iDop: Integer;
  s: string;
  Col: TColor;
  isTag, isDop: Boolean; 
begin
  iDop := 0; 
  isDop := False;
  isTag := False; 
  Col := TextCol;
  RichEdit.SetFocus;
  for i := 0 to Length(RichEdit.Text) do
  begin 
    RichEdit.SelStart := i;
    RichEdit.SelLength := 1; 
    s := RichEdit.SelText;
    if (s = '<') or (s = '{') then isTag := True; 
    if isTag then
      if (s = '"') then 
        if not isDop then
        begin
          iDop  := 1;
          isDop := True;
        end
        else
          isDop := False;
    if isTag then
      if isDop then
      begin
        if iDop <> 1 then Col := DopCol;
      end
      else
        Col := TagCol
    else
      Col := TextCol;
    RichEdit.SelAttributes.Color := Col;
    iDop := 0;
    if (s = '>') or (s = '}') then isTag := False;
  end;

  RichEdit.SelLength := 0;
end;
    procedure TForm1.FormActivate(Sender: TObject);
begin
 RichEdit1.Lines.BeginUpdate;
  HTMLSyntax(RichEdit1, clBlue, clRed, clGreen);
  RichEdit1.Lines.EndUpdate;
end;

procedure TForm1.Timer1Timer(Sender: TObject);

   var i:integer;
begin 
  i:=RichEdit1.SelStart;
  RichEdit1.Lines.BeginUpdate;
  HTMLSyntax(RichEdit1, clBlue, clRed, clGreen);
  RichEdit1.Lines.EndUpdate;
  RichEdit1.SelStart:=i;
end;

procedure TForm1.RichEdit1Change(Sender: TObject);
begin
   RichEdit1.Perform(WM_VSCROLL, SB_LINEDOWN, 1);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
   tabsheet1.Caption:='Общие';
tabsheet2.Caption:='Таблица' ;
tabsheet2.Caption:='Изображение' ;
end;

end.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 31.08.2009, 12:50   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
HTMLSyntax(RichEdit1, clBlue, clRed, clGreen);
Вот тут я думаю ты погорячился, ИМХО из-за того что это в таймере и виснет прога.

Я бы на твоем месте пересмотрел стратегию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.08.2009, 13:12   #25
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

не подскажешь как сделать? если не в таймере, то оно не работает, на кнопку ставлю, только при нажатии работает.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 31.08.2009, 13:45   #26
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
grom333
Тогда давай дабы все сомнения развеять - опиши как можно подробнее задачу. Пока что я вижу что ты просто хочешь менять стиль и цвет в зависимости от тегов, но не очень понимаю по каким критериям.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.08.2009, 14:04   #27
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

в RichEdit записан некоторый текст типа <html><body> и т.д.
Есть кнопки которым присвоены некоторые действия, а именно вставка текста с тегами
Код:
RichEdit1.SelText:='<a href=" " title=" "> </a>'
когда построим html гипертекст сохраняем его. Или же можем открыть страницы с расширением *.htm *html
Присутствует возможность просмотра написанного текста через TWebBrouser. Ставил цвета в ричэдит для тегов и обычного текста.
Но когда много текста прога зависает....
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 31.08.2009, 14:54   #28
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а именно вставка текста с тегами
Вот там и вызывай подсвечивание, а не в таймере.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HTML редактор на Delhpi7. Alex2009 Общие вопросы Delphi 26 23.04.2009 12:45
HTML веб редактор dr.Chas Софт 7 17.03.2009 14:57
HTML редактор Alex2009 Помощь студентам 3 07.03.2009 15:27
HTML-редактор для Delphi Roman_YRV Работа с сетью в Delphi 1 10.10.2008 17:59
Редактор html страниц Sanek_ntsk Софт 14 13.02.2008 08:15