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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2010, 23:43   #1
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию Как избавиться от этой ереси 楋杮瑳湯䐠⁔〱‱䥉唠䉓䐠癥捩?

Всем доброго времени суток.

У меня почему-то текст в программе отображается вот в таком виде

Цитата:
楋杮瑳湯䐠⁔〱‱䥉唠䉓䐠癥捩e
как перекодировать в нормальный текст? Уже все функции перекодировки перекробывал не помогает.

Вот процедура в которой такой текст получается:

Код:
procedure TfrmMain.GetUsbDevises;

function GetDeviceName(PnPHandle: HDEVINFO; const DevData: TSPDevInfoData): string;
var
  BytesReturned: DWORD;
  RegDataType: DWORD;
  Buffer: array [0..256] of CHAR;
begin
  BytesReturned := 0;
  RegDataType := 0;
  Buffer[0] := #0;
  SetupDiGetDeviceRegistryProperty(PnPHandle, DevData, SPDRP_FRIENDLYNAME,
    RegDataType, PByte(@Buffer[0]), SizeOf(Buffer), BytesReturned);
  Result := Buffer;
  if Result <> '' then
    Exit;
  BytesReturned := 0;
  RegDataType := 0;
  Buffer[0] := #0;
  SetupDiGetDeviceRegistryProperty(PnPHandle, DevData, SPDRP_DEVICEDESC,
    RegDataType, PByte(@Buffer[0]), SizeOf(Buffer), BytesReturned);
  Result := Buffer;
end;

var
  DrivePnPHandle: HDEVINFO;
  DeviceNumber:DWORD;
  DevData: TSPDevInfoData;
  DeviceInterfaceData: TSPDeviceInterfaceData;
  RES:BOOL;
  NF:TDEV_BROADCAST_DEVICEINTERFACE;
begin
  NF.dbcc_size := SizeOf(TDEV_BROADCAST_DEVICEINTERFACE);
  NF.dbcc_devicetype := DBT_DEVTYP_DEVICEINTERFACE;
  RegisterDeviceNotification(Handle,@NF,DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);
  DrivesListBox.Clear;
  DrivePnPHandle := SetupDiGetClassDevs(@GUID_DEVCLASS_DISKDRIVE, nil, 0, DIGCF_PRESENT {or DIGCF_PROFILE});
  if DrivePnPHandle = INVALID_HANDLE_VALUE then
    Exit;
  DeviceNumber := 0;
  repeat
  // DevData:=GetMemory(sizeof(TSPDevInfoData));
   DeviceInterfaceData.cbSize := SizeOf(TSPDeviceInterfaceData);
   DevData.cbSize := SizeOf(TSPDevInfoData);
   RES := SetupDiEnumDeviceInfo(DrivePnPHandle, DeviceNumber, DevData);
   if (RES) then
    begin
     DrivesListBox.Items.Add(GetDeviceName(DrivePnPHandle, DevData));
     Inc(DeviceNumber);
    end;
  until not RES;
  //NetDevicesListBox.Enabled:=True;
  SetupDiDestroyDeviceInfoList(DrivePnPHandle);
  DrivesListBox.Enabled := true;
end;
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли

Последний раз редактировалось Marsel737; 01.11.2010 в 23:46.
Marsel737 вне форума Ответить с цитированием
Старый 02.11.2010, 08:40   #2
new player
Форумчанин
 
Регистрация: 30.08.2010
Сообщений: 153
По умолчанию

а charset какой?
new player вне форума Ответить с цитированием
Старый 02.11.2010, 11:48   #3
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Дельфя-то какая?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 02.11.2010, 19:40   #4
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

Delphi XE, Windows 7

Лан ребята не парьтесь с этим вопросом, уже не актуально
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 02.11.2010, 22:14   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Char на AnsiChar надо было поменять.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
>40 ESTABLISHED, как избавиться? pavel25 Работа с сетью в Delphi 0 29.10.2010 21:39
Как избавиться от ошибки faraon1792 Помощь студентам 0 11.05.2010 20:24
Как избавиться от (Error 91) r0tten Microsoft Office Excel 6 26.01.2010 06:47
как избавиться от 2.26188E+19?? banker Microsoft Office Excel 11 12.12.2007 09:35
как избавиться от закладки ЧИЖ Общие вопросы Delphi 3 24.06.2007 00:05