Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Вниз

"Сохранить" и "Сохранить как..".   Найти похожие ветки 

 
Vitek2 ©   (2007-10-05 18:04) [0]

Подскажите как сделать так чтобы кнопки "Сохранить" и "Сохранить как.." работали правельно, как например в блакноте. Вот я открыл прогу, написал что-нибудь в RichEdit. Если я нажимаю "сохранить" и файл уже сохранён на диске то изменения сохраняются в него же, а если файла нет на диске то Появляется диалоговое окно SaveDialog.

И ещё вопрос:У меня на форме есть компонент PageControl, на каждой вкладке имеется компонент RichEdit. мне надо сделать так, чтобы в заголовке вкладки отображалось имя файла(не полный путь, а только имя). А при перемещениие между вкладками в StatusBar отображался полный путь файла.


 
KSergey ©   (2007-10-05 18:15) [1]

Хотелось бы узнать что  именно из перечисленного вами уже сделано и в каких именно местах возникли затруднения.
К стати, еще у преподавателя вполне можно спросить.


 
stone ©   (2007-10-05 18:16) [2]


> Вот я открыл прогу, написал что-нибудь в RichEdit. Если
> я нажимаю "сохранить" и файл уже сохранён на диске

Какой файл? Никакой связи с каким-либо файлом ты не указал.


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

В чем именно сложность?


 
Virgo_Style ©   (2007-10-05 18:22) [3]

напр., поле FileName: string;

при создании нового FileName:="";
при загрузке FileName:=имя файла.
при сохранении, если FileName = "" - запросить имя.


 
Vitek2 ©   (2007-10-05 19:03) [4]

 if FileName="" then
   begin
     SaveDialog1.Execute;
     TRichEdit(PageControl1.ActivePage.Tag).Lines.SaveToFile(SaveDialog1.FileName);
   end
 else TRichEdit(PageControl1.ActivePage.Tag).Lines.SaveToFile(FileName);
end;


Вот. Я открыл файл. Нажимаю сохранить, всё равно выскакивает окно SaveDialog. На даже если нажимаю "Отмена". Сохраняет правельно. Где ошибка?


 
Kolan ©   (2007-10-05 19:05) [5]

> всё равно выскакивает окно SaveDialog

Прийди отладчиком


 
Вася Правильный   (2007-10-05 19:07) [6]

не вижу открытия


 
Vitek2 ©   (2007-10-05 19:16) [7]

Я открыл через Файл -> Открыть. В RichEdit Заносится информация.


 
OSman ©   (2007-10-05 19:28) [8]

SaveDialog1.Execute возвращает True при "Сохранить" и False при "Отмена"


 
Priority   (2007-10-05 19:33) [9]

Новый

Memo.Lines.Clear;
FileName := "";


Открытие


if OpenDialog.Execute then
begin
 Memo.Lines.LoadFromFile(OpenDialog.FileName);
 FileName := OpenDialog.FileName;
end;


Сохранение

if FileName="" then
 if SaveDialog.Execute then
 begin
   Memo.Lines.SaveToFile(SaveDialog.FileName);
   FileName := SaveDialog.FileName;
 end
 else
else
 Memo.Lines.SaveToFile(FileName);


 
Anatoly Podgoretsky ©   (2007-10-05 19:35) [10]


> Vitek2 ©   (05.10.07 19:03) [4]


FileName и SaveDialog1.FileName разные вещи, не говоря уже о других ошибках.


 
Vitek2 ©   (2007-10-05 20:09) [11]

if  FileName="" then;
   if SaveDialog1.Execute then
     begin
     TRichEdit(PageControl1.ActivePage.Tag).Lines.SaveToFile(SaveDialog1.FileName);
     FileName:=SaveDialog1.FileName;
     end
   else
   TRichEdit(PageControl1.ActivePage.Tag).Lines.SaveToFile(FileName);
   end;


Все равно SaveDialog появяется.


 
b z   (2007-10-05 20:16) [12]

if  FileName="" then->;<-


 
Vitek2 ©   (2007-10-05 20:20) [13]

Вот блин. Опять невнимателен.


 
Вася Правильный   (2007-10-05 20:30) [14]

такое ощущение, что ты нас за компилятор принимаешь
а сам в блокноте пишешь, не имея дельфи


 
Плохиш ©   (2007-10-05 21:16) [15]


> Вася Правильный   (05.10.07 20:30) [14]
> такое ощущение, что ты нас за компилятор принимаешь

А что, есть сомнения?


 
Vitek2 ©   (2007-10-05 21:36) [16]

Компилятор мочлал.

PageControl1.ActivePage.Caption:=SaveDialog1.FileName;
В заголовок вкладки выводится полное имя файла(с путём). Как сделать так чтобы выводилось только имя файла.(xxx.txt).


 
Virgo_Style ©   (2007-10-05 21:52) [17]

Vitek2 ©   (05.10.07 21:36) [16]
ExtractFileName


 
Denis_ ©   (2007-10-06 11:08) [18]


> Компилятор мочлал.

А что он должен был делать?! Орать тебе : "ТЫ ДОПУСТИЛ ЛОГИЧЕСКУЮ ОШИБКУ!!!"?!


 
TIF ©   (2007-10-06 11:30) [19]


> как например в блакноте


Афтар! Научись гофорить, а потом остальное приложится.

Кстати, есть много статей в инете, про создание небольших текстовых редакторов-примитивов (типа "блокнот"), с исходниками и подробным объяснением.

Так что www.ya.ru -> go!


 
Gydvin ©   (2007-10-06 13:58) [20]

Да блин чего тут сложного, просто подумать чуть.

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Save: TButton;
   SaveAs: TButton;
   RichEdit1: TRichEdit;
   SaveDialog1: TSaveDialog;
   procedure SaveClick(Sender: TObject);
   procedure SaveAsClick(Sender: TObject);
 private
   { Private declarations }
   FileName:string;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SaveClick(Sender: TObject);
begin
if filename="" then
begin
 saveas.Click;
end else
begin
 richedit1.Lines.SaveToFile(filename);
end;
end;

procedure TForm1.SaveAsClick(Sender: TObject);
begin
SaveDialog1.FileName:="";
if  (SaveDialog1.Execute)and(SaveDialog1.FileName<>"") then
begin
  filename:=SaveDialog1.FileName;
  richedit1.Lines.SaveToFile(filename);
end;

end;

end.


 
Vitek2 ©   (2007-10-08 00:09) [21]

Значит на форме имеется компонент PageControl. Мне нужно что бы при перемещениее между вкладками компонента в строку состояния выводился путь файла выбраной вкладки.
При открытии файла путь выводится, а вот чтобы он изменялся при перемещении.. что-то не выходит.


 
Anatoly Podgoretsky ©   (2007-10-08 00:23) [22]

> Vitek2  (08.10.2007 00:09:21)  [21]

OnChange


 
Vitek2 ©   (2007-10-08 00:28) [23]

Я знаю что событие OnChange. А вот как получить имя файла с выбраной вкладки.

TRichEdit(PageControl1.ActivePage.Tag).Lines.....;

Что мне тут нужно дописать или исправить?


 
Vitek2 ©   (2007-10-08 00:28) [24]

Удалено модератором


 
Gydvin ©   (2007-10-08 07:37) [25]

Все еще не думаем?

...
private
   { Private declarations }
     Names:array of string;
    filename:string;
 public
...

procedure TForm1.PageControl1Change(Sender: TObject);
begin
caption := Names[pagecontrol1.ActivePageIndex];
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
PageControl1.Pages[0].Caption:=extractfilename(filename);
setlength(names,length(names)+1);
names[length(names)-1):=filename;
end;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.054 c
15-1191352478
koha
2007-10-02 23:14
2007.10.28
почему форум тормозит?


11-1175009897
ElectriC
2007-03-27 19:38
2007.10.28
a-la Application.MessageBox()


1-1186651582
Alex_C
2007-08-09 13:26
2007.10.28
Отловить ошибку в TThread


2-1191309272
kukuikar
2007-10-02 11:14
2007.10.28
Монитор каталогов+поток+имяфайла


2-1191402557
Washington
2007-10-03 13:09
2007.10.28
Выбор принтера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский