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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2010, 13:47   #1
legendary
Форумчанин
 
Аватар для legendary
 
Регистрация: 21.04.2010
Сообщений: 125
По умолчанию Ошибка

Почему при выводе на екран (будь то на memo,label,messagebox,...) постоянно выносит ошыбки типу(смотри ссилку):


Например какая разница между:
Код:
var
DriveType : byte;
begin
DriveType := GetDriveType(PChar(Drive));
case DriveType of
0: Result := '?';
1: Result := 'Path does not exists';
Drive_Removable: Result := 'Removable';
Drive_Fixed: Result := 'Fixed';
Drive_Remote: Result := 'Remote';
Drive_CDROM: Result := 'CD-ROM';
Drive_RamDisk: Result := 'RAMDisk'
else Result := 'Unknown';
end;
end;
и
Код:
i:char;
begin
for i:='A' to 'Z' do
begin
case GetDriveType(pchar(i)) of    // здесь ошибка
0: form1.Memo1.Lines.add ('?');
1: form1.Memo1.Lines.add('Path does not exists');
Drive_Removable: form1.Memo1.Lines.add('Removable');
Drive_Fixed: form1.Memo1.Lines.add('Fixed');
Drive_Remote: form1.Memo1.Lines.add('Remote');
Drive_CDROM: form1.Memo1.Lines.add('CD-ROM');
Drive_RamDisk: form1.Memo1.Lines.add ('RAMDisk')
else form1.Memo1.Lines.add('Unknown');
end;
Изображения
Тип файла: jpg 1.jpg (15.4 Кб, 141 просмотров)
legendary вне форума Ответить с цитированием
Старый 30.08.2010, 13:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
case GetDriveType(pchar(string(i+':'))) of
Надеюсь понятно почему?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.08.2010, 14:10   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var DisksMask: DWORD;
    DriveType: UInt;
    i: byte;
    s:string;
begin
 DisksMask := GetLogicalDrives;
 for i := 0 to 25 do
  if (GetLogicalDrives and (1 shl i)) <> 0 then
   begin
    s:=Chr(i+$41)+':\';
    DriveType:=GetDriveType(PChar(s));
    case DriveType of
     0:               s:=s+' - ?';
     1:               s:=s+' - Path does not exists';
     DRIVE_REMOVABLE: s:=s+' - Removable';
     DRIVE_FIXED:     s:=s+' - Fixed';
     DRIVE_REMOTE:    s:=s+' - Remote';
     DRIVE_CDROM:     s:=s+' - CD_ROM';
     DRIVE_RAMDISK:   s:=s+' - RAMDISK';
     else             s:=s+' - Unknown';
    end;
    memo1.Lines.Add(s)
   end;
end;
SERG1980 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
Это ошибка Delphi или моя ошибка??? bloodeagle Общие вопросы Delphi 3 12.11.2009 15:26
Ошибка в статье = ошибка в рограмме. Alex Cones Общие вопросы Delphi 14 29.07.2009 18:17
Ошибка в Аfor i:=1 to SI do. Пишит что ошибка в SI Алексей_xXx Помощь студентам 2 29.05.2009 00:09
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44