Главная страница
    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
14-33800
uw
2003-08-25 12:58
2003.09.11
Английский язык - самый трудный


1-33582
Luc
2003-08-28 15:45
2003.09.11
Как получить Sender а по левому клику мышкой?


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


3-33519
BillyJeans
2003-08-19 15:36
2003.09.11
Файлы _QSQL153.DBF, как с ними бороться?


14-33766
Study
2003-08-22 11:55
2003.09.11
Про технологию skin





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский