Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

18.05.2007, 19:20
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
и первый вопрос. создание блокнота. какой должен быть тип возвращаемого функцией значения, если функция сохраняет файл?
второй вопрос: если создан новый текстовой файл (а не открыт существующий), то при попытке save
Код:
MainMemo.Lines.SaveToFile(FName);
вылетает ошибка. FName появляется после использования OpenDialog.
Код:
if OpenDialog1.Execute then
begin
FName:=OpenDialog1.FileName;
MainMemo.Lines.LoadFromFile(FName);
end;
я хочу решить эту проблему с помощью проверки на существование FName и функции, сделанной из обработчика SaveDialog
Код:
begin
SaveDialog1.FileName:=FName;
if SaveDialog1.Execute then
begin
FName:=SaveDialog1.FileName;
MainMemo.Lines.SaveToFile(FName);
end;
end;
может есть какое-то более правильное решение? если да, на вопрос номер 1 просьба все равно ответить.
ЗЫ помогаюсь книжкой Архангельского "100 компонентов общего назначения библиотеки Delphi 5"
ЗЫЫ to begin end 
Последний раз редактировалось Piflit; 18.05.2007 в 19:23..
|
|
|

18.05.2007, 20:02
|
|
Новичок
Регистрация: 28.04.2007
Сообщений: 25
Провел на форуме: 155683
Репутация:
12
|
|
Сообщение от begin end
... напиши блокнот, калькулятор, проводник, Интернет-браузер, редактор типа WordPad и медиаплеер в этой последовательности...
Когда-то еще в школе писал нечто на подобее вордпада, потом резко забил... вобщем была небольшая проблемка :
передача редактору имени файла при открытии через проводник (пр. кн. мыши - откр. с помощью - мой редактор)
стыдно, но до сих пор не наю как ето сделать =(
|
|
|

18.05.2007, 20:18
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от Piflit
и первый вопрос. создание блокнота. какой должен быть тип возвращаемого функцией значения, если функция сохраняет файл?
У неё нет возвращяемого значения, это процедура. Для проверки на ошибку используй try except end;
Сообщение от Piflit
второй вопрос: если создан новый текстовой файл (а не открыт существующий), то при попытке save
Код:
var
Form1: TForm1;
FName : String = 'Untinled.txt';
Сообщение от anarсhist
Когда-то еще в школе писал нечто на подобее вордпада, потом резко забил... вобщем была небольшая проблемка :
передача редактору имени файла при открытии через проводник (пр. кн. мыши - откр. с помощью - мой редактор)
стыдно, но до сих пор не наю как ето сделать =(
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
FName:=ParamStr(1);
if(FileExists(FName)) then MyNotepadOpenFile(FName);
end;
|
|
|

18.05.2007, 20:49
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
Сообщение от hidden
У неё нет возвращяемого значения, это процедура.
напиши пример плз
|
|
|

18.05.2007, 21:00
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от Piflit
напиши пример плз
Код:
try
Memo1.Lines.SaveToFile(FName);
except
// Сюда перейдёт только если произойдёт ошибка
end;
|
|
|

18.05.2007, 21:07
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
я имел в виду немного не то. сам код ошибки должен откуда-то браться. и этот же самый код должен быть в процедуре save as. то есть я не хочу два раза писать один и тот же код, а загнать его в функцию. и меня интересует оформление функции. ты написал ее содержание.
и еще вопрос. можно осуществлять печать с Memo? или только с RichEdit?
Последний раз редактировалось Piflit; 18.05.2007 в 21:09..
|
|
|

18.05.2007, 21:44
|
|
Новичок
Регистрация: 28.04.2007
Сообщений: 25
Провел на форуме: 155683
Репутация:
12
|
|
и еще вопрос. можно осуществлять печать с Memo? или только с RichEdit?
Код:
uses Printers;
procedure PrintTxt(Strings: TStrings);
var
f: TextFile;
i: word;
begin
AssignPrn(f);
try
Rewrite(f);
try
for i := 0 to Strings.Count - 1 do
writeln(f, Strings.Strings[i]);
finally
CloseFile(f);
end;
except
on EInOutError do
MessageDlg('oшибка печати', mtError, [mbOk], 0);
end;
end;
для мемо дальше делаешь: printtxt(memo1.lines)
Последний раз редактировалось De-visible; 28.04.2008 в 21:24..
Причина: теги [code]
|
|
|

18.05.2007, 22:32
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от Piflit
я имел в виду немного не то. сам код ошибки должен откуда-то браться. и этот же самый код должен быть в процедуре save as. то есть я не хочу два раза писать один и тот же код, а загнать его в функцию. и меня интересует оформление функции. ты написал ее содержание.
Я непонимаю что собственно тебе надо в этом вопросе, вот посмотри пример простейшего редактора тут: \Borland\Delphi7\Demos\Clx\BasicEd\*
Сообщение от Piflit
и еще вопрос. можно осуществлять печать с Memo? или только с RichEdit?
Код:
use QPrinters;
var prn : TPrinter;
prn := TPrinter.Create;
prn.BeginDoc;
prn.Canvas.TextOut( ... );
prn.EndDoc;
Да поможет тебе F1 
|
|
|

18.05.2007, 22:42
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
Я непонимаю что собственно тебе надо в этом вопросе, вот посмотри пример простейшего редактора тут: \Borland\Delphi7\Demos\Clx\BasicEd\*
походу я сам немного запутался. мне нужно, чтобы были кнопки save и save as. в борландовском примере только вторая. а может save и не надо?
|
|
|

18.05.2007, 22:49
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме: 5887054
Репутация:
1292
|
|
Сообщение от Piflit
походу я сам немного запутался. мне нужно, чтобы были кнопки save и save as. в борландовском примере только вторая. а может save и не надо?
Обязательно нужна, я когда пользуюсь редактором нажимаю её по 2 раза в минуту 
При нажатии Save, проверь, если файл не существует, тогда передай управление обработчику SaveAs, иначе просто сохрани.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|