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

Вниз

Сохранение   Найти похожие ветки 

 
Вячеслав Бессонов   (2006-02-05 19:43) [0]

Существует Memo.
Как Memo.Text сохранить с помощью SaveDialog?


 
Вячеслав Бессонов   (2006-02-05 19:48) [1]

Можно ли это реализовать таким способом:
SaveDialog.Execute;
Assign(F,SaveDialog.NameFile);
Rewrite(f);
запсиь в файл
сохранение с помощью диалога?


 
Glex ©   (2006-02-05 19:54) [2]

if SaveDialog1.Execute then
 Memo1.Lines.SaveToFile(SaveDialog1.FileName);


 
Вячеслав Бессонов   (2006-02-05 20:02) [3]

Спасибо. Нет совсем времени в справке искать.


 
Glex ©   (2006-02-05 20:05) [4]

Всегда пожалуйста)
Но в справке это найти было бы, пожалуй, быстрее: Предыдущий пост - точная цитата из Delphi Help)


 
Вячеслав Бессонов   (2006-02-05 20:54) [5]

if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(SaveDialog1.FileName);

а открыть можно таким же способом?
или нужно использовать AssignFile, Reset?


 
Джо ©   (2006-02-05 21:08) [6]

> [5] Вячеслав Бессонов   (05.02.06 20:54)
> а открыть можно таким же способом?

Лучше, все-таки, открыть Справку.


 
Desdechado ©   (2006-02-05 21:12) [7]

> Как Memo.Text сохранить с помощью SaveDialog?
цитата из орешника


 
Gydvin ©   (2006-02-05 21:16) [8]

А здесь что развод?


 
Вячеслав Бессонов   (2006-02-05 21:17) [9]

s:=ExtractFileName(opd.FileName);
Assign(F, s);
Reset(F); - выдается ошибка


 
Desdechado ©   (2006-02-05 21:19) [10]

> Reset(F); - выдается ошибка
вот упрямый
цитируй текст ошибки


 
Вячеслав Бессонов   (2006-02-05 21:21) [11]

Assign(f,s):
Incompatible types: "TPersistent" and "Text"


 
Anatoly Podgoretsky ©   (2006-02-05 21:26) [12]

Ошибка выдается не здесь, а выше. Ты пытаешься вызвать метод Assign


 
Desdechado ©   (2006-02-05 21:26) [13]

а что есть F ? это должен быть файловый дельфийский тип


 
Вячеслав Бессонов   (2006-02-05 21:33) [14]

var
 F: TextFile;
а как нужно вызывать?
можно это как то сопоставить с OpendDialog


 
Gydvin ©   (2006-02-05 21:45) [15]

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;


 
Gydvin ©   (2006-02-05 21:47) [16]

можно это как то сопоставить с OpendDialog

также как и savedialog да е мае, как так можно ведь все естьв справке, ну или у гугла спросить он многое знает.

Бррбр


 
Zeqfreed ©   (2006-02-05 21:48) [17]

Хорошо, я постараюсь объяснить по-порядку :)
Компоненты TOpen/SaveDialog предназначены исключительно для отображения стандартных диалоговых окон для выбора файла для открытия/сохранения. Они ни каким образом не связаны с самим открытием и сохранием, они лишь предоставляют пользовательский интерфейс для выбора файлов. После того, как пользователь выбирает файл используя предоставленный интерфейс, можно использовать полученное имя файла, сохраняющееся в поле FileName этих компонентов, для любых операций. Можно даже записывать в тот файл, который пользователь выбрал в TOpenDialog и читать из файла, выбранного в TSaveDialog. Таким образом, выражение «сохранить используя TSaveDialog» имеет довольно сомнительный смысл. Для сохранения можно использовать WinAPI-функции или ф-ции из VCL, по желанию.


 
Вячеслав Бессонов   (2006-02-05 21:49) [18]

Понял. У меня была ошибка: AssignFile
Спасибо.


 
Вячеслав Бессонов   (2006-02-05 21:57) [19]

opd.Execute;    
AssignFile(F,opd.FileName);
Reset(F);
while not Eoln(F) do begin read(F,s); end;
mm.Text:=s; - неправильно?


 
Gydvin ©   (2006-02-05 22:07) [20]

неправильно  

AssignFile(F,opd.FileName);
while not Eof(F) do begin
readln(F,s);
mm.add(s);
end;
правильно


 
Gydvin ©   (2006-02-05 22:11) [21]

sorry

mm.add(s);

to

mm.lines.add(s);


 
Вячеслав Бессонов   (2006-02-05 22:20) [22]

но ведь mm.lines.add(s) - добавит одну строку?


 
Вячеслав Бессонов   (2006-02-05 22:30) [23]

извини, не увидел, но, все равно это не работает, ошибка


 
Gydvin ©   (2006-02-05 22:34) [24]

а цикл тебе начто
while not Eof(F) do begin

обьясняю подробно
функция read читает до конца 1(первой)строки тоесть до признака конца строки и все

функция readln может перескакивать на следующию строку и так до конца файла тоесть когда у тебя выполняется цикл из [20] при каждом новом проходе петли в переменную s заносится следующая строка (1,2 и т.д) которая в свою очередь добавляется в mm методом add


 
Gydvin ©   (2006-02-05 22:36) [25]

Вячеслав Бессонов   (05.02.06 22:30) [23]

я пас


 
Вячеслав Бессонов   (2006-02-05 22:47) [26]

OpenDialog.FileName - это же имя с путем
следовательно его надо обрезать


 
sniknik ©   (2006-02-05 23:03) [27]

это не "развод", это  представители FastReport на терпимость участников тестируют, задавая идиотские вопросы и полнустью игнорируя ранние советы (под дурачка косят)... ;)

> ... но, все равно это не работает, ошибка
уважаемый представитель... сколько раз вам нужно повторить, что слово "ошибка" в отличие от текста ошибки ничего не значит?
ну чтобы вам там галочку в анкете поставить. скажите сразу, и покончим с этим, разом хоть 178 раз повторю...

> цитируй текст ошибки
> цитируй текст ошибки
> цитируй текст ошибки
> цитируй текст ошибки
> цитируй текст ошибки
> цитируй текст ошибки
........
(пока меньше)


 
TUser ©   (2006-02-06 05:29) [28]

if OpenDialog1.Execute then
 Memo2.Lines.LoadFromFile(OpenDialog1.FileName);

Наверное, тоже цитата из справки.


 
Gydvin ©   (2006-02-06 05:46) [29]

Нет я хочу  FastReport!!!!!!!! $)))

Вячеслав Бессонов   (05.02.06 22:47) [26]
нет это и есть полное имя файла;
а перед [20] поставь

if not(fileexists(opendialog1.filename)) then exit;


 
Gydvin ©   (2006-02-06 05:50) [30]

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


 
Вячеслав Бессонов   (2006-02-06 10:45) [31]

Хотелось бы узнать, как написать try..except для Memo2.Lines.LoadFromFile(OpenDialog1.FileName);
что должно быть в except?



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

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

Наверх




Память: 0.53 MB
Время: 0.068 c
15-1139132021
PARUS
2006-02-05 12:33
2006.02.26
Автоответчик


1-1138212845
Yegorchic
2006-01-25 21:14
2006.02.26
Помогите


15-1138855004
TUser
2006-02-02 07:36
2006.02.26
В круге первом


2-1139135405
Jazzz
2006-02-05 13:30
2006.02.26
Поиск в БД! Помогите!


15-1138999015
Nic
2006-02-03 23:36
2006.02.26
Сижу, антивирусник обновляю