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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.02.2008, 13:42   #11
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Да зачем такие сложности. У Edit-контролов есть сообщение EM_POSFROMCHAR, видимо и в VCL оно где-то "запрятано", если нет, так через SendMessage, остается аккуратно переделать OnDraw (или OnPaint?) определять, с какого места какую часть текста выводить и соответственно менять цвета. И выводить с TabbedTextOut, а не TextOut. Ну и, само собой, где-то хранить разметку этих скобок.
B_N вне форума
Старый 19.02.2008, 14:34   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну насчет перересовки это конечно проще получится.
I'm learning to live...
Stilet вне форума
Старый 19.02.2008, 20:30   #13
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

А, да я подумал, что человеку именно распечатать надо было разными цветами. А при отображении текста на компоненте действительно лучше переопределить соответствующий метод.
Sibedir вне форума
Старый 20.02.2008, 16:56   #14
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Вот код для отправки на печать, вроде работает.
Код:
Uses Printers;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  r: TRect;
  i: Integer;
  Printer:TPrinter;
begin
Printer:=TPrinter.Create;
  with Printer do
    begin
      r := Rect(200,200,(Pagewidth - 200),(PageHeight - 200));
      BeginDoc;
      Canvas.Brush.Style := bsClear;
      for i := 0 to Memo1.Lines.Count do
       Canvas.TextOut(200,200 + (i *
                   Canvas.TextHeight(Memo1.Lines.Strings[i])),
                   Memo1.Lines.Strings[i]);

      Canvas.Brush.Color := clBlack;
      Canvas.FrameRect(r);
      EndDoc;
    end;
end;
Всё гениальное - просто!
Air вне форума
Старый 20.02.2008, 17:57   #15
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

у меня проблема, если я регистрирую расширение файла тхт под свою программу щёлкаю на блокнот открывается моя программа, но текста там нет!!!
aesoem вне форума
Старый 21.02.2008, 13:13   #16
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Сделай так при старте.

Код:
If (ParamCount > 0) and (FileExists(ParamStr(1))) then
memo2.Lines.LoadFromFile(ParamStr(1));
Всё гениальное - просто!
Air вне форума
Старый 21.02.2008, 13:21   #17
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Ещё совет, для своего редактора, сделай отдельное расширение и иконку другую.
Всё гениальное - просто!
Air вне форума
Старый 21.02.2008, 21:52   #18
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Air Посмотреть сообщение
Сделай так при старте.

Код:
If (ParamCount > 0) and (FileExists(ParamStr(1))) then
memo2.Lines.LoadFromFile(ParamStr(1));
Спасибо большое, работает. неподскажите ещё как сделать в реестре чтоб при открытии txt файлов открывалась моя прога?
aesoem вне форума
Старый 22.02.2008, 16:18   #19
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Подскажу.

В реестре, открой раздел
HKEY_CLASSES_ROOT\txtfile
там будет раздел command
[HKEY_CLASSES_ROOT\txtfile\shell\ope n\command]
Open - Открыть.
print - Печать и т.д.

В command, в значении "по умолчанию" прописана строчка к notepad.exe
"%SystemRoot%\system32\NOTEPAD. EXE %1"
перепиши его на свою прогу.
типа:
C:\проага\New_Note_Pad.exe %1
Но не забудь сделать резервную копию раздела "txtfile"

А лучше создай своё расширение.
Всё гениальное - просто!
Air вне форума
Старый 27.02.2008, 21:45   #20
prostoCHEL
 
Регистрация: 27.02.2008
Сообщений: 5
По умолчанию Помогите с текстовым редактором

Народ помогите пожалуйста с исходником текстового редактора, нужен для курсовой работы, сдавать через 4 ДНЯ! Тема называется "Текстовый редактор dos", что означет dos(чтобы внешне был похож)
prostoCHEL вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текстовый редактор Славный Общие вопросы Delphi 3 02.07.2008 23:17
Текстовый редактор Михаил Юрьевич Общие вопросы Delphi 8 10.04.2008 20:17
Текстовый редактор Михаил Юрьевич Общие вопросы Delphi 7 04.04.2008 22:54
Текстовый редактор. GPhantom Общие вопросы C/C++ 4 02.11.2007 21:24