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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2009, 23:55   #11
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Зачем переделывать? Просто назовите TRichEdit так как у вас назван TMemo. И все.

P.S. С TRichEdit больше возможностей.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 05.02.2009, 23:56   #12
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

Цитата:
Сообщение от UnChanter Посмотреть сообщение
А ты и не переписывай! )), удали memo и добавь RichEdit, a назови его Memo.... хотя это не красиво!!!


И ещё!, чтобы сохранить из RichEdit в txt надо PlainText := true, иначе будет сохраняться как *.rtf
мне осталось только чтобы при выходе он сравнивал файлы и если файл был изменен предлагал сохранить его!!!!!!!
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 06.02.2009, 00:01   #13
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

Ладно поменял а как теперь там сравнить????
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 06.02.2009, 00:03   #14
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Вобщем скажу так - Memo - он не для текстовых редакторов.

Для кнопки Save
Код:
procedure TForm1.SaveClick(Sender: TObject);
begin
RichEdit1.PlainText:=True;
if SaveDialog1.FileName<>'' then
    RichEdit1.Lines.SaveToFile(SaveDialog1.Filename)
  else
    with SaveDialog1 do
      if Execute then
      begin
        RichEdit1.Lines.SaveToFile(FileName);
        Caption :=ExtractfileName(FileName)+' - UltraNotepad++';
        RichEdit1.Modified:=false;
      end;

end;
Для кнопки SaveAss
Код:
procedure TForm1.SaveassClick(Sender: TObject);
begin
RichEdit1.PlainText:=True;
With SaveDialog1 do
  if Execute then
    begin
      RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);
      Caption:='UltraNotepad++ '+'- '+ExtractFileName(SaveDialog1.FileName);
    end;
RichEdit1.Modified:=false;
end;
Код для RichEdit. Подогнать под себя не тяжело.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 06.02.2009, 00:04   #15
UnChanter
Пользователь
 
Аватар для UnChanter
 
Регистрация: 14.12.2008
Сообщений: 65
По умолчанию

Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if memo1.Modified =true then
   begin
    showMessage('сначала сохранитесь!!!');
    action:=caNone;
   end;
end;
UnChanter вне форума Ответить с цитированием
Старый 06.02.2009, 00:04   #16
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

как проверить изменился ли файл?????????
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 06.02.2009, 00:06   #17
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Ну так ты при открытии файла поставь RichEdit1.Modified:=false; - в конец процедуры для открытия.

А потом вот этот код на событие OnClose

Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if RichEdit1.Modified=true then
  begin
    if MessageDlg('Текстовый файл был изменен. Сохранить изменения?',mtInformation,[mbYes, mbNo],0)=mrYes then
      Save.Click;
  end;
end;
P.S. То что я написал, достаточно для реализации вашего сохранения.
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 06.02.2009 в 00:13.
spamer вне форума Ответить с цитированием
Старый 06.02.2009, 00:15   #18
Волк
Форумчанин
 
Аватар для Волк
 
Регистрация: 04.02.2009
Сообщений: 156
По умолчанию

че означает эта строчка action:=caNone;
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
Волк вне форума Ответить с цитированием
Старый 06.02.2009, 00:20   #19
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Эта строчка означает ................ что вы поленились почитать Основы программирования в Делфи.

action:=caNone; - Невозможно закрыть форму.

Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if memo1.Modified =true then
   begin
    showMessage('сначала сохранитесь!!!');
    action:=caNone;
   end;
end;
Этот код не будет работать красиво - всмысле как в нормальных текстовиках.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 06.02.2009, 00:20   #20
UnChanter
Пользователь
 
Аватар для UnChanter
 
Регистрация: 14.12.2008
Сообщений: 65
По умолчанию

Цитата:
Сообщение от Волк Посмотреть сообщение
че означает эта строчка action:=caNone;
не дать закрыться программе
UnChanter вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить листы (Лист1-Лист2-Лист3 и т.д.) из одного файла в несколько разных? Kilobox Microsoft Office Excel 4 28.01.2009 18:39
Перенос обновленных данных из одного файла в другой viter.alex Microsoft Office Excel 5 13.01.2009 07:06
из одного текстового файла виделить цифры и поместить в другой(пустой) файл serguna005 Паскаль, Turbo Pascal, PascalABC.NET 2 07.12.2008 20:55
Сравнить два файла Aleksandr Microsoft Office Excel 6 07.10.2008 00:22
Передача файла с одного компа на другой Kocapb Фриланс 4 18.11.2007 18:37