Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: CL | DM;

Вниз

Сохранение в файл   Найти похожие ветки 

 
Igit ©   (2003-01-03 23:26) [0]

Здраствуйте уважаемые мастера... Вот у меня прблема, и я уверен что такая проблема возникала не только у меня... Вот пример:
1) Создаем KOL проеккт, кидаем на него TKOLOpenSaveDialog (name=OpenSaveDialog1), кидаем 2 кнопки (Button1 и Button2) и список (listbox1). Теперь поясню, Button1 будет добавлять выбранный в OpenSaveDialog1 файл в listbox1, а Button2 будет сохранять содержимое listbox1 в файл paths.txt
2)
Отредактируйте реакцию listbox1 на событие OnDropFiles так:
procedure TForm1.ListBox1DropFiles(Sender: PControl; const FileList: String; const Pt: TPoint);
var tmp:String;
p:Integer;
begin
tmp:=FileList;
while True do
begin
p:=pos(#13,tmp);
if p<>0 then
begin
ListBox1.Add(Copy(tmp,1,p-1));
delete(tmp,1,p);
end
else
begin
ListBox1.Add(tmp);
Break;
end;
end;
end;

нажатие на Button1:
if OpenSaveDialog1.Execute then
ListBox1.Add(OpenSaveDialog1.Filename);

нажатие на Button2:
var i:Integer;
paths_txt:TextFile;
begin
AssignFile(paths_txt, "paths.txt");
ReWrite(paths_txt); // точка прерывания
for i:=0 to (ListBox1.Count-1) do
WriteLn(paths_txt, ListBox1.Items[i]);
CloseFile(paths_txt);
end;

3) Все. Прграмма готова. Запустите её. Попробуй перетащи несколько файлов на ListBox1 потом нажми на Button2. В папке с программой появился файл paths.txt в котором содержание ListBox1. Теперь нажми на Button1 и добавь файл от туда. Попробуй сохранить, изменения не сохранились, файл остался с предыдущим содержанием. Если закрыть прогу и запустить её снова, потом сразу добавить файл[ы] через Button1, то опять ничего не сохранится, мало того, файл не изменится. Я попробовал поставить точку прерывания, запустил снова прогу, добавил файлы как в прошлый раз, нажал сохранить, и я в делфи, но как? команда ReWrite выполняется, а файл даже не очищается. Также пробовал кинуть на форму EditBox и его содержимое сохранять в другой файл, но оно сохранялось только в том случае если я ничего не выбирал в OpenSaveDialog"e. Такое ощущение что после выбора файлов в OpenSaveDialog"e вообще нельзя писать в файлы
Сразу извиняюсь за длинный вопрос и за то что не поискал ответа (инет почти кончилс:(((


 
Gandalf   (2003-01-04 12:35) [1]

Помоему ошибка в твоей невнимательности.
Во всяком случаи код у меня работает. Только у тебя файлы сохраняются в активной директории (т.е. той откуда ты SaveOpenDialog - файл выбрайл), а не там где находится твой ехе, ты это заметил?
Надо сделать где-то так:

AssignFile(paths_txt, ExtractFilePath(ParamStr(0))+"paths.txt");


 
Igit ©   (2003-01-04 12:41) [2]

Н... да... щас попробую... Спасибо большое...



Страницы: 1 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
7-33818
Студент из Запорожья
2003-06-29 22:02
2003.09.11
Как подключить шрифт, лежащий в папке программы?


3-33527
LIK22
2003-08-19 12:49
2003.09.11
Помогите с SubString.


3-33447
Nikolai_S
2003-08-21 16:35
2003.09.11
Вставка записей в другую базу данных MS Access


6-33700
s.ts
2003-07-11 16:49
2003.09.11
получение курсов валют центробанка


1-33575
gedd@mail.ru
2003-08-28 17:52
2003.09.11
Кнопка в стиле IE