![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение
Вячеслав Бессонов © (2006-02-05 19:43:00)Существует Memo.
Как Memo.Text сохранить с помощью SaveDialog?
Вячеслав Бессонов (2006-02-06 10:45:00) [1]Хотелось бы узнать, как написать try..except для Memo2.Lines.LoadFromFile(OpenDialog1.FileName);
что должно быть в except?
Gydvin (2006-02-06 05:50:00) [2]Как мой телепатор подсказывает, открывать несуществующий файл имхо не быть хорошо.
Gydvin (2006-02-06 05:46:00) [3]Нет я хочу FastReport!!!!!!!! $)))
Вячеслав Бессонов (05.02.06 22:47) [26]
нет это и есть полное имя файла;
а перед [20] поставь
if not(fileexists(opendialog1.filename)) then exit;
TUser (2006-02-06 05:29:00) [4]if OpenDialog1.Execute then
Memo2.Lines.LoadFromFile(OpenDialog1.FileName);
Наверное, тоже цитата из справки.
sniknik (2006-02-05 23:03:00) [5]это не "развод", это представители FastReport на терпимость участников тестируют, задавая идиотские вопросы и полнустью игнорируя ранние советы (под дурачка косят)... ;)
> ... но, все равно это не работает, ошибка
уважаемый представитель... сколько раз вам нужно повторить, что слово "ошибка" в отличие от текста ошибкиничего не значит?
ну чтобы вам там галочку в анкете поставить. скажите сразу, и покончим с этим, разом хоть 178 раз повторю...
> цитируй текст ошибки
> цитируй текст ошибки
> цитируй текст ошибки
> цитируй текст ошибки
>цитируй текст ошибки
>цитируй текст ошибки
........
(пока меньше)
Вячеслав Бессонов (2006-02-05 22:47:00) [6]OpenDialog.FileName - это же имя с путем
следовательно его надо обрезать
Gydvin (2006-02-05 22:36:00) [7]Вячеслав Бессонов (05.02.06 22:30) [23]
я пас
Gydvin (2006-02-05 22:34:00) [8]а цикл тебе начто
whilenot Eof(F) do begin
обьясняю подробно
функция readчитает до конца 1(первой)строки тоесть до признака конца строки и все
функция readln может перескакивать на следующию строку и так до конца файла тоесть когда у тебя выполняется цикл из [20] при каждом новом проходе петли в переменную s заносится следующая строка (1,2 и т.д) которая в свою очередь добавляется в mm методом add
Вячеслав Бессонов (2006-02-05 22:30:00) [9]извини, не увидел, но, все равно это не работает, ошибка
Вячеслав Бессонов (2006-02-05 22:20:00) [10]но ведь mm.lines.add(s) - добавит одну строку?
Gydvin (2006-02-05 22:11:00) [11]sorry
mm.add(s);
to
mm.lines.add(s);
Gydvin (2006-02-05 22:07:00) [12]неправильно
AssignFile(F,opd.FileName);
while not Eof(F) do begin
readln(F,s);
mm.add(s);
end;
правильно
Вячеслав Бессонов (2006-02-05 21:57:00) [13]opd.Execute;
AssignFile(F,opd.FileName);
Reset(F);
while not Eoln(F) do begin read(F,s); end;
mm.Text:=s; - неправильно?
Вячеслав Бессонов (2006-02-05 21:49:00) [14]Понял. У меня была ошибка: Assign File
Спасибо.
Zeqfreed (2006-02-05 21:48:00) [15]Хорошо, я постараюсь объяснить по-порядку :)
Компоненты TOpen/SaveDialog предназначены исключительнодля отображения стандартных диалоговых окон для выбора файла для открытия/сохранения. Они ни каким образом не связаны с самим открытием и сохранием, они лишь предоставляют пользовательский интерфейс для выбора файлов. После того, как пользователь выбирает файл используя предоставленный интерфейс, можно использовать полученное имя файла, сохраняющееся в поле FileName этих компонентов, для любых операций. Можно даже записывать в тот файл, который пользователь выбрал в TOpenDialog и читать из файла, выбранного в TSaveDialog. Таким образом, выражение «сохранить используя TSaveDialog» имеет довольно сомнительный смысл. Для сохранения можно использовать WinAPI-функции или ф-ции из VCL, по желанию.
Gydvin (2006-02-05 21:47:00) [16]можно это как то сопоставить с OpendDialog
также как и savedialog да е мае, как так можно ведь все естьв справке, ну или у гугла спросить он многое знает.
Бррбр
Gydvin (2006-02-05 21:45:00) [17]var
f:textfile;
s:string;
begin
if (savedialog1.Execute)and(savedialog1.filename<>'')then begin
assignfile(f,savedialog1.filename);
rewrite(f);
s:=memo1.text;
writeln(f,s);
closefile(f);
end;
end;
Вячеслав Бессонов (2006-02-05 21:33:00) [18]var
F: TextFile;
а как нужно вызывать?
можно это как то сопоставить с OpendDialog
Desdechado (2006-02-05 21:26:00) [19]а что есть F ? это должен быть файловый дельфийский тип
Anatoly Podgoretsky (2006-02-05 21:26:00) [20]Ошибка выдается не здесь, а выше. Ты пытаешься вызвать метод Assign