Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с построением цикла [D7]


Страницы:   1 2 3

Avpsol ©   (2011-09-25 19:31:00) 

Здравствуйте, у меня проблема с реализацией выборочного сохранения.У меня есть папка(c:\image) в которой имеются изображения в формате tiff они там создаются под номером 1,2,3,4.tif и т.д в каждом файле по одному изображению.Мне нужно по нажатию кнопки взять первые два изображения(лицевую и обратную сторону),соединить их в один файл(multipage) и сохранить в папке(c:\Форма),потом удалить исходные две картинки,и при повторном нажатии на кнопку взять опять первые два файла и сделать тоже самое.С первыми двумя у меня получается(кроме выборочного удаления) а вот со следующими нет он ведь ищет файлы с номером 1,2.tif а они уже 3,4.tif.Нужно как то организовать цикл в цикле все перепробовал не работает.Может кто-нибудь видит где в коде ошибка.Заранее спасибо за помощь.
begin
   if TWAIN_BeginMultipageFile('c:\Форма1П\file.tif')=0 then
  begin
   begin
    j:=1;
    f:=2;
        end;
         for i := j to f do
     begin
       StrFmt(pagefile, 'c:\image\%d.tif', [i]);
        hdib := TWAIN_LoadNativeFromFilename(pagefile);
        if hdib<>0 then
        begin
           TWAIN_DibWritePage(hdib);
           DIB_Free(hdib);
        end;
        if j=j+1 then
        begin
        j:=j+1;
        f:=f+2;
        end;
           if TWAIN_LastErrorCode()<>0 then
           break;
           end;
  end;
           TWAIN_EndMultipageFile()
  end;
  begin
     RenameFile('c:\Форма1П\Выходные данные\file.tif','c:\Форма1П\Выходные данные\' + edt1.text + edt2.text + '.tif');
  if TWAIN_LastErrorCode()<>0 then
     TWAIN_ReportLastError('Невозможно соединить файлы.')
     end;
     end;

//MyRemoveDir('c:\image');


Омлет   (2011-09-26 10:09:00) [41]

while strlist.Count > 1 do
begin
 //strlist[0] - первая строка
 //strlist[1] - вторая строка
 // do something
 strlist.Delete(0);
 strlist.Delete(1);
end;


avpsol   (2011-09-26 10:04:00) [42]

Как выбрать первые две строки?

begin
strlist:=TstringList.Create;
strlist.Clear;
strlist.Add('c:\image\.tif');
strlist.LoadFromFile('c:\image\.tif');{Загружаю все файлы из директории}
strlist.Sorted:=True;{Включаю сортировку}
end;
begin
   if TWAIN_BeginMultipageFile('c:\Форма1П\file.tif')=0 then
  begin
   begin
    j:=1;
    f:=2;
        end;
         for i := j to f do
     begin
       StrFmt(pagefile, 'c:\image\%d.tif', [i]);
        hdib := TWAIN_LoadNativeFromFilename(pagefile);
        if hdib<>0 then
        begin
           TWAIN_DibWritePage(hdib);
           DIB_Free(hdib);
        end;
       if TWAIN_LastErrorCode()<>0 then
           break;
           end;
  end;
           TWAIN_EndMultipageFile()
  end;
  begin
     RenameFile('c:\Форма1П\file.tif','c:\Форма1П\' + edt1.text + edt2.text + '.tif');
  if TWAIN_LastErrorCode()<>0 then
     TWAIN_ReportLastError('Невозможно соединить файлы.')
     end;
     end;

//MyRemoveDir('c:\image');


Avpsol   (2011-09-26 05:32:00) [43]

Спасибо большое,сегодня попробую.


Германн   (2011-09-25 23:57:00) [44]


> Ага. И будет у него 29.tif, 3.tif, 30.tif, 31.tif

Это только если он глупый. А если нет, то у него будет 01.tif, 02.tif, 03.tif... 29.tif, 30.tif, 31.tif...
Любой маломальский меломан знает как "пронумеровать" mp3 файлы, чтобы они воспроизводились в нужном порядке!
:)


Омлет   (2011-09-25 23:28:00) [45]

Жаль, орешник сломан..

> Ega23 ©   (25.09.11 21:04) [1]
> 2. Отсортируй его по имени


Ага. И будет у него 29.tif, 3.tif, 30.tif, 31.tif...


Servy   (2011-09-25 21:42:00) [46]


> if j=j+1 then


Это гениально :).


Ega23   (2011-09-25 21:04:00) [47]

1. Загрузи все файлы из директории в TStringList
2. Отсортируй его по имени
3. Выбирай по 2 строки, пока в TStringList что-то есть.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо