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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2010, 12:34   #11
heny
Пользователь
 
Аватар для heny
 
Регистрация: 04.03.2010
Сообщений: 25
По умолчанию

А если писать через событие OnChange, то ошибка следующая:
Код:
not enough actual parameters

Последний раз редактировалось heny; 13.09.2010 в 12:51.
heny вне форума Ответить с цитированием
Старый 13.09.2010, 15:17   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Покажи как пишешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.09.2010, 16:15   #13
fenix-elite
Пользователь
 
Аватар для fenix-elite
 
Регистрация: 02.11.2008
Сообщений: 75
По умолчанию

Код:
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
  if RichEdit1.Modified then
      StatusBar1.Panels[0].Text := 'Изменен';
end;
Этот код рабочий. Скорее всего у вас при запуске уже происходят какие-то действия с RichEdit... Покажите код.
«Когда ты действительно чего-то хочешь, вся Вселенная помогает тебе осуществить твою мечту».(с) Пауло Коэльо
fenix-elite вне форума Ответить с цитированием
Старый 14.09.2010, 07:07   #14
heny
Пользователь
 
Аватар для heny
 
Регистрация: 04.03.2010
Сообщений: 25
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Menus;

type
  TEditor = class(TForm)
    MainMenu1: TMainMenu;
    RichEdit1: TRichEdit;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    FontDialog1: TFontDialog;
    File1: TMenuItem;
    Create1: TMenuItem;
    Open1: TMenuItem;
    Save1: TMenuItem;
    SaveAs1: TMenuItem;
    Edit1: TMenuItem;
    Cut1: TMenuItem;
    Copy1: TMenuItem;
    Paste1: TMenuItem;
    Vid1: TMenuItem;
    Tools1: TMenuItem;
    Status1: TMenuItem;
    Format1: TMenuItem;
    Shrift1: TMenuItem;
    N6: TMenuItem;
    Exit1: TMenuItem;
    N11: TMenuItem;
    SelectAll1: TMenuItem;
    Clear1: TMenuItem;
    StatusBar1: TStatusBar;
    procedure SaveAs1Click(Sender: TObject);
    procedure Save1Click(Sender: TObject);
    procedure RichEdit1Change(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Editor: TEditor; FName: string;

implementation

{$R *.dfm}



procedure TEditor.SaveAs1Click(Sender: TObject);
begin
   if RichEdit1.Lines.Count > 0 then
  begin
     if SaveDialog1.Execute then
     begin
        RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);
        RichEdit1.Modified:=false;
        FName:=SaveDialog1.FileName;
        Editor.Caption:='Текстовый редактор - '+FName;
        StatusBar1.Panels[1].Text:='Текст сохранен';
     end;
  end
else StatusBar1.Panels[1].Text:='Количество строк в тексте 0';
end;

procedure TEditor.Save1Click(Sender: TObject);
begin
  if FName='' then
  begin
    if RichEdit1.Lines.Count > 0 then
     begin
      if SaveDialog1.Execute then
         begin
            RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);
            RichEdit1.Modified:=false;
            FName:=SaveDialog1.FileName;
            Editor.Caption:='Текстовый редактор - '+FName;
            StatusBar1.Panels[1].Text:='Текст сохранен';
         end;
     end;
     end
   else
    RichEdit1.Lines.SaveToFile(FName);
    StatusBar1.Panels[1].Text:='Текст сохранен';
end;

procedure TEditor.RichEdit1Change(Sender: TObject);
begin

  if RichEdit1.Modified then
  StatusBar1.Panels[0].Text:= 'Текст изменен';

end;

end.
Это пока что весь код.
В нем есть еще одна проблема. Процедуры SaveAs1Click и Save1Click, насколько я понимаю и хочу этого добиться, но пока не могу, что если в редакторе не набрано ни одного символа, то не должен открываться диалог сохранения, я пытаюсь этого достичь этом кодом:
Код:
if RichEdit1.Lines.Count > 0 then
то есть проверяю наличие текста и вызываю метод Execute, но при запуске, даже без единого символа это окно открывается

А насчет кода "текст изменен" все остается без изменений, только запускаешь программу, а в строке состояния уже написано "Текст изменен".
Очень надеюсь на вашу помощь, потому что сама потеряла уже всякую надежду
heny вне форума Ответить с цитированием
Старый 14.09.2010, 08:59   #15
Karabash
Форумчанин
 
Регистрация: 26.07.2009
Сообщений: 216
По умолчанию

Нужен еще файл *.dfm. По приведенному коду нельзя узнать какие установки свойств компонентов были сделанны в design-time.
Или весь проект.
Karabash вне форума Ответить с цитированием
Старый 14.09.2010, 08:59   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
if RichEdit1.Lines.Count > 0 then
Код:
if trim(RichEdit1.Lines.text)='' then Пусто
Цитата:
а в строке состояния уже написано "Текст изменен".
Криминала не вижу.
Цитата:
Очень надеюсь на вашу помощь, потому что сама потеряла уже всякую надежду
В таком случае прикрепи архив с проектом сюда. Вполне возможно что не в коде жук сидит а в настройках свойств в дизайне.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.09.2010, 09:39   #17
heny
Пользователь
 
Аватар для heny
 
Регистрация: 04.03.2010
Сообщений: 25
По умолчанию

Вот добавила архивом, правда код уже несколько изменен, пыталась написать код для пункта "Создать"
Вложения
Тип файла: rar Текстовый редактор.rar (175.3 Кб, 7 просмотров)
heny вне форума Ответить с цитированием
Старый 14.09.2010, 09:48   #18
Karabash
Форумчанин
 
Регистрация: 26.07.2009
Сообщений: 216
По умолчанию

Увы, прокол. В архиве нет нужных файлов (.dfm и .pas). Без них запустить проект невозможно.
Karabash вне форума Ответить с цитированием
Старый 14.09.2010, 10:38   #19
heny
Пользователь
 
Аватар для heny
 
Регистрация: 04.03.2010
Сообщений: 25
По умолчанию

ой, как это я так ))))
исправляюсь
Вложения
Тип файла: rar Текстовый редактор.rar (177.3 Кб, 6 просмотров)
heny вне форума Ответить с цитированием
Старый 14.09.2010, 11:08   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
heny
Хы... Впервые такой эффект вижу. Как я и предполагал баг в том что у тебя в дизайне выставлена одна пустая строка в РичЭдите. При запуске он определяет что произошла модификация потому что эта пустая строка помещается при создании РичЭдита вот и выплавает у тя надпись Текст изменен

Зайди в дизайнере в свойство Lines и убери там пустую строку - тогда не будет всплывать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript.Бегущая строка в строке состояния Zempery JavaScript, Ajax 1 01.12.2009 19:15
Строка состояния, подсказки Квио Общие вопросы Delphi 7 29.09.2009 19:34
Строка состояния и панель SoAndSo Microsoft Office Word 6 14.11.2008 15:59