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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 16:12   #1
Starkiska
Пользователь
 
Регистрация: 12.04.2009
Сообщений: 16
Вопрос создание многооконного редактора

сейчас занимаюсь созданием многооконного текстового редактора.
возникли проблемы..
1. когда я нажимаю сохранить текстовый файл, ввожу имя - и либо им присваивается первой форме(родительской) либо не присваивается вобще.
а должно присвоиться второй форме (дочерней).

Код:
procedure TForm1.MSaveAsClick(Sender: TObject);
var newf:TForm2;
begin
with ActiveMdiChild as TForm2 do
begin
if SaveDialog1.Execute then
begin
fn:=SaveDialog1.FileName;
Memo1.Lines.SaveToFile(fn);
Memo1.Modified:=False;
end;
begin
newf.Caption:=fn;
end;
end;
fn:='';
end;
2. когда я делаю изменения в сохраненном файле и жму СОХРАНИТЬ, должно просто сохраниться под этим же именем.
а у меня вылетает окно СОХРАНИТЬ КАК.

Код:
procedure TForm1.MSaveClick(Sender: TObject);
begin
with ActiveMdiChild as tform2 do
begin
if sav=0 then
begin
mSaveAsClick(Sender);
exit;
end;
Memo1.Lines.SaveToFile(fn);
Memo1.Modified:=False;
sav:=1
end;
end;
3. когда я нажимаю ОТКРЫТЬ, 1 файл открывается правильно. когда я снова нажимаю открыть, чтобы появился другой файл, у меня в строке ввода файла уже стоит имя предыдущего.
Код:
procedure TForm1.MOpenClick(Sender: TObject);
var
fn:string;
newf:TForm2;
begin
with ActiveMdiChild as TForm2 do
BtPaste.Enabled:=true;
MCopy.Enabled:=true;
MCut.Enabled:=true;
MPaste.Enabled:=true;
btCopy.enabled:=true;
btCut.enabled:=true;
fn:='';
nw:=nw+1;
if OpenDialog1.Execute then
begin
if nw>1 then
begin
BtCascade.Enabled:=true;
BtHorizontal.Enabled:=true;
BtVertical.Enabled:=true;
MCascade.Enabled:=true;
MHorizontal.Enabled:=true;
MVertical.Enabled:=true;
end;
NewF:=TForm2.Create(Application);
with ActiveMdiChild as TForm2 do
begin
fn:=OpenDialog1.FileName;
NewF.Caption:=fn;
memo1.Lines.LoadFromFile(fn);
end;
end
end;
(ЗДЕСЬ также прописывается условие, если в форме введено что либо - видны кнопки и пункты меню Правка; и если форм больше чем одна - видны пункты меню и кнопки управления окнами: каскад, по горизонтали, по вертикали..)

Последний раз редактировалось KORN; 21.04.2009 в 04:52. Причина: используй тег [code][/code]
Starkiska вне форума Ответить с цитированием
Старый 20.04.2009, 21:36   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

2,3)
Код:
//Код для кнопки - Сохранить
if SaveDialog1.FileName<>'' then
    RichEdit1.Lines.SaveToFile(SaveDialog1.Filename)
  else
    with SaveDialog1 do
      if Execute then
      begin
        RichEdit1.Lines.SaveToFile(FileName);
        Caption :=ExtractfileName(FileName)+' - TextEdit';
        RichEdit1.Modified:=false;
      end;



//Код для кнопки - Сохранить как...
With SaveDialog1 do
  if Execute then
    begin
      RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);
      Caption:='TextEdit '+'- '+ExtractFileName(SaveDialog1.FileName);
    end;
RichEdit1.Modified:=false;



//Там где вы открываете файл необходимо написать:
RichEdit1.Modified:=false;



//Код для кнопки - Открыть
With OpenDialog1 do
  if Execute then
  try
      begin
        RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
        HistoryList.Add(OpenDialog1.FileName);
        Caption:='TextEdit '+'- '+ExtractFileName(OpenDialog1.FileName);
        SaveDialog1.FileName :=Filename;
        FileName :='';
      end;
  except
    on EFOpenError do
      MessageDlg('Файл с указанным именем не существует',mtWarning,[mbOk],0);
end;
RichEdit1.Modified:=false;
P.S. Примеры написаны для компонента TRichEdit, который я вам советую использовать вместо ТMemo.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 21.04.2009, 01:43   #3
Starkiska
Пользователь
 
Регистрация: 12.04.2009
Сообщений: 16
По умолчанию

спасибо. чуть позже напишу, работает или нет.
Starkiska вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi: Создание муз.редактора marsius Свободное общение 2 18.04.2009 15:49
[Delphi 7] Доработка созданного тестера + создание редактора теста Herald Фриланс 3 08.04.2009 08:12
Создание музыкального редактора marsius Свободное общение 4 05.04.2009 09:48
Исчезание кнопок дочерней формы многооконного интерфейса при максимизации k376 Помощь студентам 2 21.10.2008 19:42
создание графического редактора в Delphi? parano_ya Помощь студентам 1 29.04.2007 08:17