| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > сохранить файл |
| Автор: Балбес 7.12.2004, 17:08 |
| Привет всем! Подскажите какой код использовать чтобы при сохранении файла учитывалось, что если там уже есть файл с таким именем, то сохранять новый файл с именем (1) или с именем (2) и т.д. |
| Автор: Dimich 7.12.2004, 17:11 |
| 1. Функцией FileExist (FileName : string) проверяешь, есть ли уже такой файл. 2. Изменяешь имя файла и снова на пункт 1 пока не получишь уникальное имя файла |
| Автор: Полудненко Олег 7.12.2004, 17:13 |
| Проверяеш существование файла функцией FileExists(Name:String):boolean, где Name - имя файла. Если файл существует то в цикле начинаеш подбирать нужную цифру. |
| Автор: Балбес 7.12.2004, 18:42 |
| Покажите пример пожалуйста, а то у меня не получается... вот с этим: memo1.Lines. SaveToFile |
| Автор: PZ 7.12.2004, 18:59 |
| Надо указать имя файла: memo1.Lines. SaveToFile('MyFile.txt') ; |
| Автор: Zero 7.12.2004, 19:32 | ||||||
Не совсем корректно написано, более правильно будет так:
|
| Автор: RA 7.12.2004, 19:50 | ||
|
| Автор: SlaUr 8.12.2004, 05:32 |
| Function WhatFileName(path:string):string; http://slaur.narod.ru/delphi/mysys.rar |
| Автор: EKoshelev 8.12.2004, 09:21 | ||
| RAdmin Только номера будут после расширения добавляться... [/code]
|
| Автор: RA 8.12.2004, 18:55 |
| EKoshelev да чёто както я забыл забы. |
| Автор: z-END 10.12.2004, 17:14 | ||||
Пример использования:
|
| Автор: Medved 11.12.2004, 15:28 | ||||||||
Так тоже работать будет. |
| Автор: Vladimir13 14.12.2004, 09:04 |
| а если так: var i:integer; p,path,filename,format:string; begin if i=o then p:=''; if i>0 then p:=IntToStr(i); while FileExists(NewFileName) do begin NewFileName := path +Filename+p+format; inc(i); end; Memo1.Lines.saveToFile(Newfilename); end; //format='.txt' |
| Автор: Zero 15.12.2004, 01:56 | ||
А ну да, чё-то я тормознул. |
| Автор: Vladimir13 16.12.2004, 23:15 |
| мой способ рботает. можно пользоваться |
| Автор: z-END 19.12.2004, 12:47 | ||
| Vladimir13 позвольте спросить в каком месте он работает? если уж говорить о том что он 100% работает, то и писать его тоже надо полностью... 1. где у вас инициализируются переменные path, filename? 2. этот кусок кода вообще не рабочий т.к. при первом проходе переменная NewFileName вообще не задана, соотвтственно такого файла нет!
3. опять же по этому куску кода... Допустим (абстрактно) переменная NewFileName силами господа Бога, все же была инициализирована, и такой файл существует, то каким способом эта же переменная примет нужное значение??? i увеличится, но она же никак не влияет на название нового файла... Так что скорее стирайте свою надпись о том что код рабочий... для самообразования советую посмотреть мой код, который должен работать! |
| Автор: Vladimir13 19.12.2004, 21:20 |
| а догадаться, что переменные задать надо никак? Ведь если кому непонятно, напишут об этом. А для самообразования я использую Архангельского. |
| Автор: z-END 20.12.2004, 10:05 |
| Vladimir13 да бог с ними с переменными, хотя тоже это не есть хорошо, т.к. для того чтобы сохранить файл надо задавать их каждый раз что неочень удобно, а что вы можете сказать по 2 и 3 пункту?! |