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

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

проверка готовности диска А и копирование на дискету [D7, XP]


Страницы:   1 2

Sw ©   (2009-09-01 09:18:00) 

function IsDriveReady(const Drive: char): Boolean;
var
 DrvNum: byte;
 EMode: Word;
begin
 result := true;
 DrvNum := ord(Drive);
 if DrvNum >= ord('a') then
   dec(DrvNum, $20);
 EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
 try
   while DiskSize(DrvNum - $40) = -1 do
   begin
     case (Application.MessageBox('Диск не готов...' + chr(13) + chr(10) +
          'Повторить?', PChar('Диск ' + UpperCase(Drive)), mb_OKCANCEL +
           mb_iconexclamation {IconQuestion})) of
           IDOK:IsDriveReady(Drive);
           IDCANCEL: begin Result := false; Break; end;
     end;
   end;
 finally
   SetErrorMode(EMode);
 end;
end;

//процедура копирования файлов//
function WindowsCopyFile(FromFile, ToDir : string) : boolean;
var
 F: TShFileOpStruct;
begin
 F.Wnd := 0; F.wFunc := FO_COPY;
 FromFile:=FromFile+#0; F.pFrom:=pchar(FromFile);
 ToDir:=ToDir+#0; F.pTo:=pchar(ToDir);
 F.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
 result:=ShFileOperation(F) = 0;
end;
.....................................................
 if IsDriveReady(device) then
   if WindowsCopyFile(sFileName,export_folder) then
      Application.MessageBox('Данные выгружены успешно', 'Окно сообщений', MB_ICONINFORMATION);
.....................................................


Помогите, пожалуйста, разобаться. Если дискета установлена, то все правильно отрабатывает. А если диск не обнаружен  ('Диск не готов...' + 'Повторить?',) -> вставляем дискету и нажимаем Повторить....выдает сообщение: "Данные выгружены успешно' , но ничего на дискету не выгружает.


Anatoly Podgoretsky   (2009-09-01 11:57:00) [21]

> clickmaker  (01.09.2009 11:45:02)  [2]

У меня однажды Виндоус деинсталировался :-)


clickmaker   (2009-09-01 11:45:00) [22]

> ой что былоооо

а что было? диск почистился? )


Virgo_Style   (2009-09-01 10:56:00) [23]


>  FromFile:=FromFile+#0


Тебе хорошо, у тебя копирование, а когда я при удалении второй нолик добавить забыл - ой что былоооо...


Страницы:   1 2

Наверх

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