Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

richedit


aligator2008 ©   (2009-06-28 00:16:00) 

Здравствуйте эксперты, у меня на форме несколько кнопок которые загружают тектовый файл в  richedit и одна кнопка которая сохраняет изменения в загруженном текстовом файле,объесните если это возможно
каким должен быть обработчик события для кнопки ' сохранить ', чтобы эти изменения сохранялись в тектовом файле загруженном в данный момент в richedit.


KilkennyCat   (2009-06-29 02:11:00) [1]

Тогда храни данные в гриде. Зачем их еще в таблице дублировать?


Германн   (2009-06-29 01:43:00) [2]


> В визуальных компонентах надо отображать, а не хранить.

А зачем дублировать "строковые значения"?


Германн   (2009-06-29 01:10:00) [3]


> KilkennyCat ©   (29.06.09 00:57) [11]
>
> Блокнот может что угодно делать. Мне блокнот не критерий.
>

Эт да. Блокнот критерием служить не может в большинстве случаев. Но в "Начинающим" - в самый раз.


KilkennyCat   (2009-06-29 00:57:00) [4]

Блокнот может что угодно делать. Мне блокнот не критерий.
В визуальных компонентах надо отображать, а не хранить.
Хочешь, я покажу блокнот, который в случае изменения файла добавляет к его имени звездочку?
А хочешь, я покажу тебе такой путь:
C:\Documents and Settings\KilkennyCat\Local Settings\Application Data\Labcenter Electronics\Proteus\Simulation Results\3A467722.PDF


Германн   (2009-06-29 00:43:00) [5]


> KilkennyCat ©   (29.06.09 00:18) [7]
>
>
> > полное причём
>
> да еще
>
> > в некоем визуальном элементе
>
> совершенно не
>
> > Логичнее
>

Это почему?
Блокнот, например, так и делает.


aligator2008   (2009-06-29 00:29:00) [6]

да в самой программе на кнопках название документов которые загружаются и наверное путь хранения для них надо будет указать, я на пол пути тормознулся именно на этом вопросе.


aligator2008   (2009-06-29 00:25:00) [7]

спасибо первый вариант сработал.


KilkennyCat   (2009-06-29 00:18:00) [8]


> полное причём

да еще

> в некоем визуальном элементе

совершенно не

> Логичнее


Германн   (2009-06-29 00:12:00) [9]


> А если так:
> поле формы FName: String;

Логичнее было бы сохранять название (полное причём) в некоем визуальном элементе. Капшон формы, лэйбл над окном ричэдита и т.д.


aligator2008   (2009-06-29 00:04:00) [10]

спасибо за посказку, сейчас попробую что у меня получится, хотя не все мне совсем ясно, но попробую разобраться, спасибо еще раз и удачи.


{RASkov}   (2009-06-28 23:52:00) [11]

т.е. смысл сказанного и ответ на твой вопрос: Сохраняй в переменную имя загруженного в ричэдит файла.)


{RASkov}   (2009-06-28 23:48:00) [12]

> [2] aligator2008   (28.06.09 23:25)
> пробую RichEdit1.Lines.SaveToFile(FName);но ничего не получается

А если так:
поле формы FName: String;
перед загрузкой при нажатии на первую кнопку делать
FName:='1.rtf';
RichEdit1.Lines.LoadFromFile(FName);
на вторую
FName:='2.rtf';
RichEdit1.Lines.LoadFromFile(FName);
ну и на третью аналогично.
Сохранение так и будет:
RichEdit1.Lines.SaveToFile(FName);
одной кнопкой....

Можно еще сделать так. Кнопкам загрузки присвоить Tag'и 1, 2 и 3 (ну или сколько их там) т.е. каждой свой номер.
Далее один общий обработчик в котором проверять Тэг нажатой кнопки:

case TComponent(Sender).Tag of
1: FName:='1.rtf';
2: FName:='2.rtf';
3: FName:='3.rtf';
....
end;
{или например так FName:=Format('%d.rtf', [TComponent(Sender).Tag])}
ну и
RichEdit1.Lines.LoadFromFile(FName);

Можно сделать процедуру загрузки типа так:
procedure TForm.LoadInRich(const AFName: String);
begin
 FName:=AFName;
 if FileExists(AFName) then RichEdit1.Lines.LoadFromFile(FName) else raise...
end;

Можно еще кучу вариантов придумать.... работай - голова.)


aligator2008   (2009-06-28 23:25:00) [13]

попробую объеснить на форме к примеру три кнопки при нажатии первой загрузка документа в richedit
if FileExists('1.rtf') then
   RichEdit1.Lines.LoadFromFile('1.rtf');
произошла загрузка отредактировав документ нажимаю на кнопку сохранить
RichEdit1.Lines.SaveToFile('1.rtf'); изменения сохранились, при нажатии второй кнопки загружается другой документ
f FileExists('2.rtf') then
   RichEdit1.Lines.LoadFromFile('2.rtf'); если нажать на кнопку сохранить
изменения не сохраняются, если написать в коде
RichEdit1.Lines.SaveToFile('1.rtf');
RichEdit1.Lines.LoadFromFile('2.rtf'); то изменения отражаются на обеих документах, мне нужно пользуясь одной кнопкой для сохранения файла редактировать загруженный документ и сохранять его, есть ли вариант для кнопки сохранить чтобы изменения в текте отражались только в отношении загруженного текста в данный момент т.е сохранять изменения в загруженном текстовом файле не вызывая диалоговое окно SaveDialog, пробую
RichEdit1.Lines.SaveToFile(FName);но ничего не получается


Германн   (2009-06-28 01:06:00) [14]


> aligator2008   (28.06.09 00:16)
>
> Здравствуйте эксперты, у меня на форме несколько кнопок
> которые загружают тектовый файл в  richedit и одна кнопка
> которая сохраняет изменения в загруженном текстовом файле,
> объесните если это возможно
> каким должен быть обработчик события для кнопки ' сохранить
> ', чтобы эти изменения сохранялись в тектовом файле загруженном
> в данный момент в richedit.
>

А в чём проблема сохранения?


Наверх

Титульная страница Поиск, карта сайта Написать письмо