Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
ВнизАвтопереименование Найти похожие ветки
← →
Volume © (2005-05-20 17:32) [0]Как сделать, чтобы при обнаружении файла с именем 1.bmp программа сохраняла картинку под именем 2.bmp и так далее?
Использую код:procedure TForm1.Timer1Timer(Sender: TObject);
var
DC: HDC;
Canva: TCanvas;
B: TBitmap;
begin
Canva := TCanvas.Create;
B := TBitmap.Create;
DC := GetDC(0);
try
Canva.Handle := DC;
with Screen do
begin
B.Width := Width;
B.Height := Height;
B.Canvas.CopyRect(Rect(0, 0, Width, Height),
Canva, Rect(0, 0, Width, Height));
B.SaveToFile("c:\1.bmp");
end
finally
ReleaseDC(0, DC);
B.Free;
Canva.Free
end
end;
← →
Marser © (2005-05-20 17:40) [1]1. findfirst, findnext, findclose. Находишь все bmp, выбираешь среди них файлы с цифровыми именами(проверяешь val, например), находишь наибольшее.
2. Внаглую пытаешься сохранить. Если выдаёт ошибку ERROR_ALREADY_EXISTS, присваиваешь имя+1.
3. Ведешь собственный счетчик имён.
← →
Virgo_Style © (2005-05-20 17:49) [2]4. Проверка FileExist"ом.
← →
Marser © (2005-05-20 17:50) [3]
> Virgo_Style © (20.05.05 17:49) [2] [Новое
>сообщение][Ответить]
> 4. Проверка FileExist"ом.
Забыл :о)
← →
Просто Джо © (2005-05-20 17:55) [4]Если пишешь в свою папку, то разумнее всего использовать счетчик.
TForm = class...
...
private
...
FFileCounter: Integer;
end;
///
procedure TForm1.Timer1Timer(Sender: TObject);
var
FileName: string;
begin
FileName := Format ("%d.bmp",[FFileCounter]);
B.SaveToFile(Path+FileName);
Inc(FFileCounter);
end;
если нет, тогда алгоритм грозит стать весьма запутанным. Проверка на существование см. [2] Virgo_Style © (20.05.05 17:49).
Мой совет: создавай свою временную папку.
← →
Volume © (2005-05-20 18:24) [5]Просто Джо © (20.05.05 17:55) [4]
Не получается выдаёт ошибку!
Marser © (20.05.05 17:40) [1]
Можно третий вариант представить ввиде кода, а то я с Delphi недавно стал работать?
← →
Просто Джо © (2005-05-20 18:45) [6]
> Просто Джо © (20.05.05 17:55) [4]
> Не получается выдаёт ошибку!
Я и не приводил полный рабочий код. Это всего лишь куски, которые тебе нужно добавить к своему коду. Просто иллюстация примитивного счетчика.
← →
Marser © (2005-05-20 18:46) [7]
> Можно третий вариант представить ввиде кода, а то я с
> Delphi недавно стал работать?
В [4] отличный код.
← →
Virgo_Style © (2005-05-20 19:24) [8]Убери многоточия (с) не помню.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.015 c