Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.10.2011, 19:55
scroyler scroyler вне форума
Активный
 
Регистрация: 01.08.2011
Адрес: ЧЕбоксары
Сообщения: 248
Версия Delphi: XE
Репутация: -615
По умолчанию Возникла проблема

При написании кодавозникла проблема.

Код:
procedure TForm3.ListBox2Click(Sender: TObject);
var FileName:string;
begin
  FileName:=Edit1.Text+'.txt' ;
Memo1.Lines.LoadFromFile(FileName) ;

end;


procedure TForm3.SpeedButton1Click(Sender: TObject);
var FileName:string;
begin
           FileName:=Edit1.Text+'.txt';
  ListBox2.Items.Add(Edit1.Text) ;
    ListBox2.items.SaveToFile(FileName) ;
    Memo1.lines.SaveToFile(FileName)

end;

Вообщем суть кода такова.
Есть Едит1 (Название) Мемо1 (Содержимое,текст) и кнопка сохранить.
Работает код так.(должен так работать )
Я заполняю Едит(название), В мемо пишу текст. нажимаю сохранить. В листбокс пояляется пункт с Текстом едита(название) при нажатии на появивщийся пункт в листбоксе ,мемо заполняется текстом ( при нажатии сохранить текст мемо сохраняется в тхт файл) с тхт файла.
в коде подчти все работает только он заполняет мемо если в едит пишу название текстовика. подробнее посмотрите в коде думаю поймете
Ответить с цитированием
  #2  
Старый 16.10.2011, 21:11
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

я так понял название в листбоксе содержит имя файла? тогда:
Код:
procedure TForm3.ListBox2Click(Sender: TObject);
var FileName:string;
begin
  FileName:=ListBox1.Items[ListBox1.ItemIndex]+'.txt' ;
Memo1.Lines.LoadFromFile(FileName) ;

end;
и еще у тебя тут ошибка
ListBox2.items.SaveToFile(FileName) ;
Memo1.lines.SaveToFile(FileName)
получается что Список листбокса,и текст из мемо сохраняются в один файл,и соответственно при сохранении текста Мемо,список с названиями затрётся

Последний раз редактировалось Snake22, 16.10.2011 в 21:15.
Ответить с цитированием
  #3  
Старый 16.10.2011, 21:24
scroyler scroyler вне форума
Активный
 
Регистрация: 01.08.2011
Адрес: ЧЕбоксары
Сообщения: 248
Версия Delphi: XE
Репутация: -615
По умолчанию

Вооот, спасибо большое!
А еще вопросик)
как сделать так что бы все текстовики сохранялись в одну папку которая создавалась в папке с программой.
и как сделать так что бы при выходе пункты в листбоксе сохранялись?)
Ответить с цитированием
  #4  
Старый 16.10.2011, 21:34
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

1. При запуске программы получи её путь, добавь каталог куда нужно сохранять. Потом сохраняй всё что нужно в этот путь.
2. Пройдись циклом по пунктам ListBox-а и сохраняй в INI файл.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 16.10.2011, 21:58
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Вот тебе сразу подсказки по посту выше:
1. Используй функцию GetCurrentDir - http://www.delphibasics.ru/GetCurrentDir.php
2. Работать с ини файлами так же просто как и с текстовыми - http://www.delphisources.ru/pages/fa...ini_files.html
__________________
Google в помощь
Ответить с цитированием
  #6  
Старый 16.10.2011, 22:00
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

Цитата:
и как сделать так что бы при выходе пункты в листбоксе сохранялись?)
а ты вроде сам писал выше ListBox1.items.savetofile разве это не оно? сразу всё сохраниться.проверять лень)
пропиши это на событие формы OnClose и будет сохраняться при выходе.но всётаки лучше сохранять каждый раз при добавлении нового пункта,потому что вдруг программа завершиться неожиданно,и тогда не сохранится

Последний раз редактировалось Snake22, 16.10.2011 в 22:02.
Ответить с цитированием
  #7  
Старый 16.10.2011, 22:05
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

Сохранить
Код:
listbox1.Items.SaveToFile('List.txt');
Загрузить
Код:
ListBox1.Items.LoadFromFile('List.txt');
и ни какой возни с ини файлами
Ответить с цитированием
  #8  
Старый 16.10.2011, 22:10
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Snake22
и ни какой возни с ини файлами

Angvelem все правильно написал. Принято такого рода параметры хранить в .ini, а не в .txt
__________________
Google в помощь
Ответить с цитированием
  #9  
Старый 16.10.2011, 22:27
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

ну это когда много разнотипных настроек.а тут один листбокс
Ответить с цитированием
  #10  
Старый 16.10.2011, 22:53
scroyler scroyler вне форума
Активный
 
Регистрация: 01.08.2011
Адрес: ЧЕбоксары
Сообщения: 248
Версия Delphi: XE
Репутация: -615
По умолчанию

Всем спасибо,ваши советы и подсказки очень помогли,сделал именно то,что хотел.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025