Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу сохранить .txt, Куда исчезает расширение? 
:(
    Опции темы
Pavelbej
Дата 8.7.2005, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



Получил задание сделать текстовый редактор, но вот с чем столкнулся. Если открываю существующий файл, делаю изменения и жму на "Save" все идет нормально, если создаю новый файл и сохраняю то он сохраняется без расширения ".txt". Я толко начал учить Delphi, помогите. Вот код, может исправите

Код
procedure TForm1.Open1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    begin
      Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
      Form1.Caption := OpenDialog1.FileName;
      form1.Memo1.Tag:=0;
    end;
end;



Procedure Tform1.Save1Click(sender: Tobject);
begin
if Caption='Untitled' then
   saveas1click(Sender)
   else
        begin
        savedialog1.FileName:=form1.Caption;
        Memo1.Lines.SaveToFile(form1.Caption);
        memo1.Tag:=0;
        end;
end;



procedure TForm1.SaveAs1Click(Sender: TObject);
begin
     SaveDialog1.Title:='Save as...';
     if savedialog1.Execute then
        begin
          Memo1.Lines.SaveToFile(savedialog1.filename);
          form1.Caption:=savedialog1.FileName;
          memo1.Tag:=0;
        end;
end;


Это сообщение отредактировал(а) p0s0l - 8.7.2005, 21:49
PM MAIL   Вверх
mvdr
Дата 8.7.2005, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Код

procedure TForm1.Open1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Form1.Caption := OpenDialog1.FileName;
form1.Memo1.Tag:=0;
end;
end;



Procedure Tform1.Save1Click(sender: Tobject);
begin
if Caption='Untitled' then
saveas1click(Sender)
else
begin
savedialog1.FileName:=form1.Caption+'.txt';
Memo1.Lines.SaveToFile(form1.Caption+'.txt');
memo1.Tag:=0;
end;
end;



procedure TForm1.SaveAs1Click(Sender: TObject);
begin
SaveDialog1.Title:='Save as...';
if savedialog1.Execute then
begin
Memo1.Lines.SaveToFile(savedialog1.filename);
form1.Caption:=savedialog1.FileName+'.txt';
memo1.Tag:=0;
end;
end; 


Просто ручками добавляй расширение *.txt


Это сообщение отредактировал(а) Femida - 8.7.2005, 22:44


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Quadr0
Дата 8.7.2005, 22:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 14.7.2011, 22:42
  Вверх
mvdr
Дата 8.7.2005, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Цитата(Quadr0 @ 8.7.2005, 23:23)
А откуда мы знаем, что пользователю нужно txt?


Цитата(Pavelbej @ 8.7.2005, 22:14)
создаю новый файл и сохраняю то он сохраняется без расширения ".txt"



Добавлено @ 23:04
в противном случае, можно дописать, что "пользователь, пиши имя файла без разршения"


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Alex
Дата 9.7.2005, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Посмотреть свойства компонента и почитать в хелпе, что каждое значит нам конечно слабо smile
Цитата
Specifies a default file extension.

Delphi syntax:

property DefaultExt: String;

C++ syntax:

__property AnsiString DefaultExt = {read=FDefaultExt, write=FDefaultExt};

Description

DefaultExt specifies a file extension that is appended automatically to the selected file name, unless the selected file name already includes a registered extension. If the user selects a file name with an extension that is unregistered, DefaultExt is appended to the unregistered extension.

Extensions longer than three characters are not supported. Do not include the period (.) that divides the file name and its extension.



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Quadr0
Дата 9.7.2005, 01:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 14.7.2011, 22:42
  Вверх
Alex
Дата 9.7.2005, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Quadr0 @ 9.7.2005, 02:20)
Alex, а Я что не так сказал?

Все так, просто печально, что народ не смотрит даже на свойства компонентов


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Pavelbej
Дата 9.7.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 419
Регистрация: 5.7.2005

Репутация: нет
Всего: 6



Всем огромное спасибо, все работает. Считал себя наблюдательным челом, а незаметив DefaultExt понял что это не так.
PM MAIL   Вверх
z-END
Дата 9.7.2005, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



а еще лучше использовать дедовский метод:
Код

Memo1.Lines.SaveToFile (ChangeFileExt (form1.Caption,'.txt'));




--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Dimannn
Дата 11.7.2005, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 14.4.2005
Где: Владимир

Репутация: нет
Всего: 1



Я обычно делаю так:
Код

If ExtractFileExt(Filename)<>'.txt' then  FileName:=FileName+'.txt'



--------------------
Хотите быстро и без проблем опубликовать вашу программу в сети за 5 минут?
Тогда потратьте пару минут чтобы посмотреть, что предлагает OpenProject.org.ru
PM MAIL ICQ   Вверх
z-END
Дата 11.7.2005, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



Dimannn
допустим я назвал файл Filename:='C:\test.TxT'
тогда после твоего кода Filename='C:\test.TxT.txt' ?!
поэтому проще использовать ф-цию ChangFileExt


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.