Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2010, 21:05   #1
Dj_SheLL
Форумчанин
 
Аватар для Dj_SheLL
 
Регистрация: 14.10.2009
Сообщений: 128
Печаль Delphi сохранение файла с 'filename'+1

Пытаюсь при сохранении файла сделать,чтобы каждый новый файл имел свой номер в конце,т.е.
cover_1.jpg
cover_2.jpg
cover_3.jpg
cover_4.jpg
и т.д.
Вот что пытался сам,что не правильно,скажите пожалуйста
Код:
procedure TForm4.sButton5Click(Sender: TObject);
var
 i:integer;
 Bitmap:TBitMap;
 n:integer;
 s:string;
begin
Bitmap:=TBitmap.Create;
Bitmap.Assign(Image2.Picture.Graphic);
Bitmap.Width:=Image2.Width;
Bitmap.Height:=Image2.Height;
for n:=0 to 500 do
s:=inttostr(n);
if FileExists('C:\Program Files\FQ Panel\cover\cover_'+s+'.jpg') then
 begin
 s:=s+'1';
 Bitmap.SaveToFile('C:\Program Files\FQ Panel\cover\cover_'+s+'.jpg');
 end;
Bitmap.Free;
Dj_SheLL вне форума Ответить с цитированием
Старый 20.08.2010, 21:18   #2
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

Код:
procedure TForm4.sButton5Click(Sender: TObject);
var
 i:integer;
 Bitmap:TBitMap;
 n:integer;
 s:string;
begin
Bitmap:=TBitmap.Create;
Bitmap.Assign(Image2.Picture.Graphic);
Bitmap.Width:=Image2.Width;
Bitmap.Height:=Image2.Height;
for n:=500 downto 0 do begin
s:=inttostr(n);
if FileExists('C:\Program Files\FQ Panel\cover\cover_'+s+'.jpg') then
 begin
 s:=Inttostr(n+1);
 Bitmap.SaveToFile('C:\Program Files\FQ Panel\cover\cover_'+s+'.jpg');
Bitmap.Free;
exit;
end;
 end;

Последний раз редактировалось ZaRDaK; 20.08.2010 в 22:11.
ZaRDaK вне форума Ответить с цитированием
Старый 20.08.2010, 21:31   #3
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

неправильно то чо цыкл у тебя делает 500 раз только одну операцию:
Код:
for n:=0 to 500 do
s:=inttostr(n);
и в итоге s у тебя всегда равно 500
надо взять весь код после цыкла (до строчки Bitmap.Free; ) в begin end;
то есть:
Код:
procedure TForm4.sButton5Click(Sender: TObject);
var
  i:integer;
  Bitmap:TBitMap;
  n:integer;
  s:string;
begin
  Bitmap:=TBitmap.Create;
  Bitmap.Assign(Image2.Picture.Graphic);
  Bitmap.Width:=Image2.Width;
  Bitmap.Height:=Image2.Height;
  for n:=0 to 500 do begin
    s:=inttostr(n);
    if FileExists('C:\Program Files\FQ Panel\cover\cover_'+s+'.jpg') then
     begin
       s:=s+'1';
       Bitmap.SaveToFile('C:\Program Files\FQ Panel\cover\cover_'+s+'.jpg');
     end;
  end;
  Bitmap.Free;
end;

Последний раз редактировалось lowercase; 20.08.2010 в 21:36.
lowercase вне форума Ответить с цитированием
Старый 20.08.2010, 22:07   #4
ZaRDaK
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 197
По умолчанию

Цитата:
lowercase
Твой код или досоздаст около 500 файлов, в зависимости от количества уже существующих, или не сделает абсолютно ничего.
ZaRDaK вне форума Ответить с цитированием
Старый 20.08.2010, 22:07   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

А почему +'1' к строке? Задача получить новый файл при каждом нажатии кнопки или сразу 500 файлов за одно нажатие? Если первое, то так
Код:
for n:=0 to 500 do
  if FileExists('C:\Program Files\FQ Panel\cover\cover_'+inttostr(n)+'.jpg') then
    continue
  else  begin
    Bitmap.SaveToFile('C:\Program Files\FQ Panel\cover\cover_'+inttostr(n)+'.jpg');
    break
  end;
Bitmap.Free;
Если второе, то без красного
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сохранение файла Dimarik PHP 5 16.07.2010 19:37
Invalid Filename... delphi 7 Nice42ru Общие вопросы Delphi 5 04.06.2010 09:43
Сохранение файла после изменения/удаления записи (Delphi) Kurai Помощь студентам 2 15.05.2010 23:21
Сохранение файла KREGI Помощь студентам 4 30.03.2009 21:09
Сохранение файла Македонский Общие вопросы Delphi 7 17.08.2007 08:35