![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как исправить...? [D7, XP]
Nanos © (2007-01-28 14:15:00)Когда я сохраняю содержимое RichEdit, я делаю так
if SaveDialog.Execute then
begin
with TStringList.Create do begin
Text := RichEdit1.Text;
SaveToFile(savedialog.FileName);
Free;
end;
end;
Но у меня проблемы с форматом сохранённого файла. Он сохраняется без фрмата, фрмат приходиться прописывать вручную. Тоесть если я изменю код так
if SaveDialog.Execute then
begin
with TStringList.Create do begin
Text := RichEdit1.Text;
SaveToFile(savedialog.FileName+,'.txt');
Free;
end;
end;
то он сохраняется нормально, но этот код не подходит так как мой Savedialog может сохранять и другие форматы.
Подскажите как исправить эту ошибку
GrayFace (2007-01-29 13:23:00) [1]В событии OnTypeChange пиши:
with OpenDialog1 do
case FilterIndex of
1: DefaultExt:='.txt';
2: DefaultExt:='.bmp';
enx;
А после Execute никаких расшерений не добавляй.
RASkov (2007-01-29 02:13:00) [2]> [0] Nanos (28.01.07 14:15)
if SaveDialog.Execute then
begin
with TStringList.Create do begin
Text := RichEdit1.Text;
SaveToFile(savedialog.FileName+,'.txt');
Free;
end;
end;
А зачем такие фокусы, можно и RichEdit1.Lines.SaveToFile();
И
if SD.Execute then begin
case sd.FilterIndex of
1: RichEdit1.Lines.SaveToFile(SD.FileName+'.txt');
2: RichEdit1.Lines.SaveToFile(SD.FileName+'.rtf');
else RichEdit1.Lines.SaveToFile(SD.FileName+SD.DefaultExt);
end;
end;
Только еще нужно учитывать ввел ли пользватель в SD.FileName имя файла с раширением или без него или может получится такое имя filename.ext.txt
Nanos (2007-01-28 14:40:00) [3]Спасибо всё работает. У меня остался один вопрос можно ли как нибудь сохранять текст в различных кадировках, так как это можно делать в стандартном блокноте.
antonn (2007-01-28 14:17:00) [4]
if SD.Execute then begin
if sd.FilterIndex=1 then begin SavePlayList_PLS( sd.FileName+'.pls'); end;
if sd.FilterIndex=2 then begin SavePlayList_M3U( sd.FileName+'.m3u' ); end;
end;