Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2010, 14:08   #1
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию TStringList и TFileStream сохранение в файл

Здравствуйте, уважаемые форумчане

Возникла проблема следующего характера.....На форме имеются компоненты Edit, Button, TreeView, WebAddresses. По нажатию на кнопку из Edit'a берется текст, который будет моей какой-нибудь вэб-страницы сохраненные на моем компьютере. Каждому item'у присваивается имя и указатель на вэб-страницу(или адрес). Хочется сделать так, чтобы вэб-адреса и item'ы дерева сохранялись в файл и затем загружались. Вот, что получилось:

Код:
var
  Form1: TForm1;
  FS: TFileStream;
  WebAddresses: TStringList; // хранит пути к html-файлам
implementation

{$R *.dfm}
//------------------------------------------------------------------------------
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  try
    FS:=TFileStream.Create(ExtractFilePath(Application.ExeName)+'BD.file', fmCreate);
    FS.WriteComponent(TreeView1);
    WebAddresses:=TStringList.Create;
    WebAddresses.SaveToStream(FS);
    WebAddresses.Free;
  except
  end;
end;
//------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
  WebAddresses.Add(Edit1.Text);
  TreeView1.Items.AddChild(TreeView1.Items.GetFirstNode, 'Item caption').Data :=
            @WebAddresses.Strings[WebAddresses.Count - 1][1];

end;
//------------------------------------------------------------------------------
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
   WebBrowser1.Navigate(StrPas(PChar(Node.Data)));
end;
//------------------------------------------------------------------------------
procedure TForm1.FormShow(Sender: TObject);
begin
  try
    FS:=TFileStream.Create(ExtractFilePath(Application.ExeName)+'BD.file', fmOpenRead);
    FS.ReadComponent(TreeView1);
    WebAddresses:=TStringList.Create;
    WebAddresses.LoadFromStream(FS);
    WebAddresses.Free;
  except
  end;
end;
//------------------------------------------------------------------------------
Как теперь все данные записать в файл?
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 27.12.2010, 14:15   #2
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Так?
Код:
    WebAddresses.SaveToFile('c:\AddrList.txt');
    WebAddresses.Free;
принимаю благодарности в письменном виде( весы слева)...

Последний раз редактировалось MaxNik2009; 27.12.2010 в 14:17.
MaxNik2009 вне форума Ответить с цитированием
Старый 27.12.2010, 14:24   #3
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Нет, не так
Мне нужно записать все данные в один файл. К тому же таким способом не связать итемы с ссылками
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TFileStream, N структур в один файл? Человек_Борща Общие вопросы Delphi 1 06.06.2010 14:34
Сохранение файла из TStringList мимо Общие вопросы Delphi 3 02.10.2009 15:27
Сохранение в файл Ant1Player PHP 4 31.03.2009 16:33
Функции сохранения TStringList в Ini-файл Air Свободное общение 0 29.06.2008 22:37
сохранение изображения с TFileStream andrey4623 Общие вопросы Delphi 10 20.10.2007 20:28