Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.30;
Скачать: CL | DM;

Вниз

richedit   Найти похожие ветки 

 
aligator2008   (2009-06-28 00:16) [0]

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


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


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

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


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

попробую объеснить на форме к примеру три кнопки при нажатии первой загрузка документа в 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);но ничего не получается


 
{RASkov} ©   (2009-06-28 23:48) [3]

> [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;

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


 
{RASkov} ©   (2009-06-28 23:52) [4]

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


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

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


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


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

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


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


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

да еще

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

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

> Логичнее


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

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


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

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


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


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

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


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

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


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


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

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


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


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

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


 
KilkennyCat ©   (2009-06-29 02:11) [14]

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



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

Текущий архив: 2009.08.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
15-1246520770
oxffff
2009-07-02 11:46
2009.08.30
Анонимные методы баг компилятора


6-1205991809
mrfreeman2007
2008-03-20 08:43
2009.08.30
Счетчик посещений


2-1246131301
Alexei
2009-06-27 23:35
2009.08.30
Переход по ссылке в WebBrowser e


2-1246181883
Новичок
2009-06-28 13:38
2009.08.30
Закладки TabSheet


2-1246026729
Vayrus
2009-06-26 18:32
2009.08.30
Проблема с GetKeyDateTime в Win XP





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский