Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
5 / 5 / 3
Регистрация: 13.10.2009
Сообщений: 543
1

Сохранение файла с использованием диалога

28.05.2013, 13:35. Показов 2097. Ответов 9
Метки нет (Все метки)

Как сохранить переменную s типа string в файл при помощи диалога?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2013, 13:35
Ответы с готовыми решениями:

Перенос данных из Excel с использованием диалога выбора файла
Всем здравствуйте! Подскажите пожалуйста по коду следующее. Есть таблица Access "Заявки", данные...

Сохранение тестового файла из richtextbox с использованием savefiledialog
Доброго времени суток. Нужна помощь или объяснение как сохранять текстовый файл(txt) из...

Сохранение данных в файл посредством диалога
Как сохранить данные в файл с помощью стандартного диалога windows (навигация по папкам, фильтрация...

Сохранение содержимого webbrowser без диалога
Здрасте уважаемые гуру! Суть проблемы, у меня в webbrowser отображается .html файлик, я его как-то...

9
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31246 / 20425 / 7961
Регистрация: 22.10.2011
Сообщений: 35,457
Записей в блоге: 6
28.05.2013, 15:05 2
При помощи диалога выбери имя файла, в который будет сохранена строка, и потом в этот файл пиши саму строку.

Либо по-дедовски, AssignFile+Rewrite+CloseFile, либо:
Delphi
1
2
3
4
5
6
7
  if SaveDialog1.Execute then
    with TStringStream.Create(s) do
    try
      SaveToFile(SaveDialog1.FileName);
    finally
      Free;
    end;
0
5 / 5 / 3
Регистрация: 13.10.2009
Сообщений: 543
28.05.2013, 15:12  [ТС] 3
Цитата Сообщение от UI Посмотреть сообщение
При помощи диалога выбери имя файла, в который будет сохранена строка, и потом в этот файл пиши саму строку.

Либо по-дедовски, AssignFile+Rewrite+CloseFile, либо:
Delphi
1
2
3
4
5
6
7
  if SaveDialog1.Execute then
    with TStringStream.Create(s) do
    try
      SaveToFile(SaveDialog1.FileName);
    finally
      Free;
    end;
Пишет мол не знает SaveToFile
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
  COC:=CodeOfChar.Text;
  CM:=CompMess.Text;
  Fs:=LabelCOC.Caption+#13#10+COC+#13#10+LabelCM.Caption+#13#10+CM;
  if SaveDialog1.Execute then
    with TStringStream.Create(Fs) do
    try
      SaveToFile(SaveDialog1.FileName);
    finally
      Free;
    end;
end;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31246 / 20425 / 7961
Регистрация: 22.10.2011
Сообщений: 35,457
Записей в блоге: 6
28.05.2013, 15:24 4
Цитата Сообщение от Алерон Посмотреть сообщение
не знает SaveToFile
SaveToFile - это метод класса TStringStream, он был там изначально, не может Дельфи не знать этого метода, если она знает сам тип TStringStream. Показывай сообщение об ошибке. Скриншотом.
0
5 / 5 / 3
Регистрация: 13.10.2009
Сообщений: 543
28.05.2013, 15:31  [ТС] 5
Цитата Сообщение от UI Посмотреть сообщение
SaveToFile - это метод класса TStringStream, он был там изначально, не может Дельфи не знать этого метода, если она знает сам тип TStringStream. Показывай сообщение об ошибке. Скриншотом.
http://s002. radikal . ru/i200/1305/90/0fa832525cfc.png
0
13074 / 5859 / 1706
Регистрация: 19.09.2009
Сообщений: 8,807
28.05.2013, 16:59 6
В классе TStringStream всё-таки нет метода SaveToFile(). Здесь можно файловый поток применить - TFileStream:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm1.Button1Click(Sender: TObject);
const
  Fn = 'file.txt';
var
  Fs : TFileStream;
  S, FileName : String;
begin
  S := '0123456789';
  FileName := ExtractFilePath(ParamStr(0)) + Fn;
  
  Fs := TFileStream.Create(FileName, fmCreate);
  try
    Fs.Write(S[1], Length(S) * SizeOf(Char));
  finally
    FreeAndNil(Fs);
  end;
end;
Или с помощью BlockWrite():
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button1Click(Sender: TObject);
const
  Fn = 'file.txt';
var
  F : File;
  S, FileName : String;
begin
  S := '0123456789';
  FileName := ExtractFilePath(ParamStr(0)) + Fn;
  
  AssignFile(F, FileName);
  Rewrite(F, 1);
  BlockWrite(S[1], Length(S) * SizeOf(Char));
  CloseFile(F);
end;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31246 / 20425 / 7961
Регистрация: 22.10.2011
Сообщений: 35,457
Записей в блоге: 6
28.05.2013, 17:13 7
Цитата Сообщение от Mawrat Посмотреть сообщение
В классе TStringStream всё-таки нет метода SaveToFile().
Очень интересно, как это возможно. TStringStream - не потомок TCustomMemoryStream? (Эмбаркадеро с этим в корне не согласна: TStringStream Inheritance, а уж у TCustomMemoryStream-то как раз есть метод SaveToFile)

Откуда у меня есть этот метод?
Сохранение файла с использованием диалога


Я не пишу, не проверив... Надо это в подпись добавить, надоело каждый раз повторять...
0
2475 / 1851 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
28.05.2013, 17:36 8
Цитата Сообщение от UI Посмотреть сообщение
TStringStream - не потомок TCustomMemoryStream?
Потомок, но в Дельфи 7 не идёт так, а у ТС именно Дельфи 7.
0
13074 / 5859 / 1706
Регистрация: 19.09.2009
Сообщений: 8,807
28.05.2013, 17:53 9
Да, я Delphi 7 имел в виду.
0
10 / 10 / 2
Регистрация: 24.01.2013
Сообщений: 110
28.05.2013, 19:40 10
а не проще сделать так:
Delphi
1
2
3
4
5
6
var s:string;
begin
if savedialog1.execut then
begin
s:=savedialog1.filename+'.txt';
memo1.lines.savetofile(s);
где memo это поле в которое записывается твой текст или предложения(служит для отображения )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2013, 19:40

Сохранение истории диалога в базе данных
Есть локальный чат, соответственно база пользователей лежит в локальной БД. Пока чат работает таким...

Простое сохранение StringGrid1 без диалога
Здраствуйте, Я использую StringGrid1 с вкладки Additional. С помощью диалогов Открытия и...

Сохранение массива при закрытии диалога, MFC
Ситуация такова, есть окно, из него запускается модальный диалог, в этом диалоге несколько табов....

Эксель. Сохранение документа автоматически (без появления диалога)
Как добиться сохранения экселевского файла, без открытия диалога?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.