Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.10.2010, 17:03
kiman.ru kiman.ru вне форума
Новичок
 
Регистрация: 11.02.2010
Сообщения: 63
Репутация: 10
По умолчанию Сохранение на флэшку

В программе сохраняю на флэшку изображение так
Код:
Image1.Picture.SaveToFile('F:\Image.bmp');

Картинка доволньно большая 2048x1448 пикселей и сохранение длится 2-3 секунды. Если в момент сохранения выдернуть флэшку, то программа подвисает. Как сделать так, чтобы при выдергивании флэшки программа не подвисала, а выдавала бы сообщение о том, что файл не удалось сохранить. Как программно решить эту задачу?

Надеюсь на вашу помощь.
Ответить с цитированием
  #2  
Старый 08.10.2010, 17:12
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Как вариант копировать "блоками"
там используется поток окпирования. Если поток обрывается - выводить сообщение.
Ответить с цитированием
  #3  
Старый 08.10.2010, 17:19
kiman.ru kiman.ru вне форума
Новичок
 
Регистрация: 11.02.2010
Сообщения: 63
Репутация: 10
По умолчанию

А можно подробнее про копирование блоками - как можно сохранить картинку Image1 блоками на флешку?
Ответить с цитированием
  #4  
Старый 08.10.2010, 17:23
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Ну на счет блоков - надо делить изображение на более мелкие, и передавать по маленьким чатям, а уже потом их "соединять", но я думаю в вашем случае помогут Try Except, тобишь, пример:

Код:
  Try
    Image1.Picture.SaveToFile('F:\Image.bmp');
  Except
    Raise Exceptions.Create('Ошибка! скопировать картинку не удалось!');
  end;
__________________
Помогаю за Спасибо
Ответить с цитированием
  #5  
Старый 08.10.2010, 17:31
kiman.ru kiman.ru вне форума
Новичок
 
Регистрация: 11.02.2010
Сообщения: 63
Репутация: 10
По умолчанию

Сейчас попробую.

UPD.

Try-Except не помогло - все равно программа подвешивается...

Я уверен, что есть решение, но ума не приложу - как это сделать.

UPD.

Только что пришла такая идея в голову - если сохранить Image1 на жесткий диск компьютера, а уже при помощи средств Windows копировать изображение на флешку. Только как это сделать? Я не силен в этом.

Последний раз редактировалось kiman.ru, 08.10.2010 в 17:41.
Ответить с цитированием
  #6  
Старый 08.10.2010, 17:55
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Не не не не, не извращайся.
Сейчас найду чтатью про блоки... 5 минут погодите

Вот тут информация выкачивания файла из инета, и тут исключительная ситуация обрыва обрабатывается
http://sources.codenet.ru/download/1012/gets.html
если мне память не изменяет...

Сейчас найду что касается локальных "переносов"

http://www.delphibasics.ru/BlockWrite.php
А вот ссылка, на инфомрацию по Read и Write block

Последний раз редактировалось Uniq!, 08.10.2010 в 18:00.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025