Текущий архив: 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