Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "KOL";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
4-33851
Vorobyev Sergey
2003-07-10 10:24
2003.09.11
Можно ли получить Handle процесса, не зная его PID?


14-33724
Calm
2003-08-23 20:47
2003.09.11
Форумы являются СМИ, электронными. Как же тогда быть?


4-33852
Th
2003-07-08 11:00
2003.09.11
Искусственный вызов Window Menu приложения


1-33535
DDS
2003-09-01 17:39
2003.09.11
Как сохранить WORDовский файл с картинкой внутри?


6-33712
Skywalker
2003-07-08 16:11
2003.09.11
Как работает веб-сервер?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский