![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.
>
А в чём проблема сохранения?