Текущий архив: 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.45 MB
Время: 0.009 c