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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 21:04   #1
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
Печаль Проблема загрузки/сохранения StingList в файл

Проблема такова:
В edit-ах находятся полные пути до файлов (типа "e:\Мои документы\Проект\13.mp3").Делаю типа редактора для плейлиста-XML.
playlist.xml находится в каталоге программы и некуда деваться не должен.
Я чтобы изменить данные открываю XML,как простой текстовый файл,гружу в StringList,изменяю то,что нужно и сохраняю.Вот код:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 F:TStringList;
 dir,img,tit:string;
begin
dir:=Edit2.Text;
img:=Edit3.Text;
tit:=Edit4.Text;
F:=TStringList.Create;
F.LoadFromFile(ExtractFilePath(ParamStr(0))+'playlist.xml');
F.Insert(F.IndexOf('<mp3 autoplay="no">')+1,'<song location="'+dir+'" cover="'+img+'" title="'+tit+'"/>');
F.SaveToFile('playlist.xml');
F.Free;
end;
Проблема в том,что когда в Edit-ах не "пути",то всё нормально.Как пишу путь до файла,StringList ругается на то,что не может найти playlist.xml,в том каталоге,куда ведёт "путь" из Edit-а.
Мои действия:
1.Пытался через переменные-тот же результат
2.Переписал загрузку.Было
Код:
F.LoadFromFile('playlist.xml');
-не то.Он сохраняет в файл в тот каталог,из "пути".
В чём может быть проблема?!
Dj_SheLL вне форума Ответить с цитированием
Старый 25.04.2010, 23:45   #2
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Не-е... Так проблему не понять. Выкладывайте весь проект.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Старый 26.04.2010, 00:23   #3
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

ia znayu zacem, prosta kogda ti atkrivaeshi fail, to tvaia programa vstavit defaultovii Folder na drugoi puti, na tot atcuda ti oktril fail, caroci zdelai tak

Код:
var
 F:TStringList;
 dir,img,tit:string;
 FPath : String;
begin
FPath := ExtractFilePath(ParamStr(0));
if FPath[Length(FPath)] <> '\' Then FPath := FPath + '\';
dir:=Edit2.Text;
img:=Edit3.Text;
tit:=Edit4.Text;
F:=TStringList.Create;
F.LoadFromFile(FPath + 'playlist.xml');
F.Insert(F.IndexOf('<mp3 autoplay="no">')+1,'<song location="'+dir+'" cover="'+img+'" title="'+tit+'"/>');
F.SaveToFile(FPath + 'playlist.xml');
F.Free;
end;
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 26.04.2010, 00:37   #4
пауэрлифтинг
Заблокирован
 
Регистрация: 11.12.2009
Сообщений: 133
По умолчанию

не проще через XmlDocument
пауэрлифтинг вне форума Ответить с цитированием
Старый 26.04.2010, 10:18   #5
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Олвин Посмотреть сообщение
Не-е... Так проблему не понять. Выкладывайте весь проект.
Прикрепляю файл.Там заполняешь поля и жмёшь кнопку добавить.И должна добавляться строка в XML куда надо.Сам XML там же.Я только для него делаю.Под другие не катит XML-плейлисты.
Цитата:
Сообщение от bitSoft Посмотреть сообщение
ia znayu zacem, prosta kogda ti atkrivaeshi fail, to tvaia programa vstavit defaultovii Folder na drugoi puti, na tot atcuda ti oktril fail, caroci zdelai tak
Спасибо!!Добавление помогает!+в репу
Цитата:
Сообщение от пауэрлифтинг Посмотреть сообщение
не проще через XmlDocument
Ну подскажите пожалуйста,я просто с этим компонентом только вчера познакомился.Мноооооогого не знаю.Просто я работаю,как с текстовым потому,что мне нужно добавлять строку после первых двух всегда,а в XML через ChildNodes я без понятия как.

Возникла ещё проблема!
После добавления,пытаюсь загрузить XML в ListBox (в архиве прога вся),выскакивает ошибка типа не могу текст обнаружить в той добавленной строке.Но это делаю через XmlDocument (короче он на путь ругается).Но это уже не по теме правда...Но всё же.
Вложения
Тип файла: rar Edit XML-playlist.rar (394.3 Кб, 7 просмотров)
Dj_SheLL вне форума Ответить с цитированием
Старый 26.04.2010, 13:38   #6
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
По умолчанию

Я понял в чём ошибка!Просто при чтении из XML в ListBox через XmlDocument -этот компонент не воспринимает русские символы в самом файле.Чё делать?Подскажите.
Dj_SheLL вне форума Ответить с цитированием
Старый 26.04.2010, 14:24   #7
пауэрлифтинг
Заблокирован
 
Регистрация: 11.12.2009
Сообщений: 133
По умолчанию

вот тут про XmlDocument написано

Цитата:
не воспринимает русские символы в самом файле.Чё делать?
попробуй менять кодировку
пауэрлифтинг вне форума Ответить с цитированием
Старый 26.04.2010, 14:46   #8
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
По умолчанию

Замена кодировки помогла!
Dj_SheLL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры сохранения и загрузки. Deep-Minimal Паскаль, Turbo Pascal, PascalABC.NET 0 12.04.2010 20:40
Ошибка сохранения в файл [Delphi] StudeHt Помощь студентам 5 10.01.2010 19:43
Добавит картинку в файл без сохранения в файл Pacan4ik Microsoft Office Excel 3 30.07.2009 13:19
Ч чём ошибка моего кода сохранения и загрузки? AngelOfDeath Общие вопросы Delphi 3 08.04.2008 13:55
Проблемма сохранения потоков в файл EvgenMailRu Помощь студентам 1 03.09.2007 13:56