HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #41  
Старый 18.05.2007, 19:20
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

и первый вопрос. создание блокнота. какой должен быть тип возвращаемого функцией значения, если функция сохраняет файл?
второй вопрос: если создан новый текстовой файл (а не открыт существующий), то при попытке 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..
 
Ответить с цитированием

  #42  
Старый 18.05.2007, 20:02
anarсhist
Новичок
Регистрация: 28.04.2007
Сообщений: 25
Провел на форуме:
155683

Репутация: 12
По умолчанию

Цитата:
Сообщение от begin end  
... напиши блокнот, калькулятор, проводник, Интернет-браузер, редактор типа WordPad и медиаплеер в этой последовательности...
Когда-то еще в школе писал нечто на подобее вордпада, потом резко забил... вобщем была небольшая проблемка :
передача редактору имени файла при открытии через проводник (пр. кн. мыши - откр. с помощью - мой редактор)

стыдно, но до сих пор не наю как ето сделать =(
 
Ответить с цитированием

  #43  
Старый 18.05.2007, 20:18
hidden
Постоянный
Регистрация: 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;
 
Ответить с цитированием

  #44  
Старый 18.05.2007, 20:49
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

Цитата:
Сообщение от hidden  
У неё нет возвращяемого значения, это процедура.
напиши пример плз
 
Ответить с цитированием

  #45  
Старый 18.05.2007, 21:00
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от Piflit  
напиши пример плз
Код:
  try
    Memo1.Lines.SaveToFile(FName);
  except
    // Сюда перейдёт только если произойдёт ошибка
  end;
 
Ответить с цитированием

  #46  
Старый 18.05.2007, 21:07
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

я имел в виду немного не то. сам код ошибки должен откуда-то браться. и этот же самый код должен быть в процедуре save as. то есть я не хочу два раза писать один и тот же код, а загнать его в функцию. и меня интересует оформление функции. ты написал ее содержание.

и еще вопрос. можно осуществлять печать с Memo? или только с RichEdit?

Последний раз редактировалось Piflit; 18.05.2007 в 21:09..
 
Ответить с цитированием

  #47  
Старый 18.05.2007, 21:44
anarсhist
Новичок
Регистрация: 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]
 
Ответить с цитированием

  #48  
Старый 18.05.2007, 22:32
hidden
Постоянный
Регистрация: 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
 
Ответить с цитированием

  #49  
Старый 18.05.2007, 22:42
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

Цитата:
Я непонимаю что собственно тебе надо в этом вопросе, вот посмотри пример простейшего редактора тут: \Borland\Delphi7\Demos\Clx\BasicEd\*
походу я сам немного запутался. мне нужно, чтобы были кнопки save и save as. в борландовском примере только вторая. а может save и не надо?
 
Ответить с цитированием

  #50  
Старый 18.05.2007, 22:49
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от Piflit  
походу я сам немного запутался. мне нужно, чтобы были кнопки save и save as. в борландовском примере только вторая. а может save и не надо?
Обязательно нужна, я когда пользуюсь редактором нажимаю её по 2 раза в минуту
При нажатии Save, проверь, если файл не существует, тогда передай управление обработчику SaveAs, иначе просто сохрани.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ