Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> список доступных звуковых карт в системе 
V
    Опции темы
gl42
Дата 7.11.2011, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



Добрый вечер, 
подскажите, как можно получить список доступных звуковых карт? и информацию о них?
функций winapi, как я поняла, для этого нет.
может через реестр? тогда в каком каталоге находится звуковая карта?
PM MAIL   Вверх
Keeper89
Дата 8.11.2011, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Код

//-----------------------------------------------------------------------------------------------------
//     This code was generated by the Wmi Delphi Code Creator [URL=http://theroadtodelphi.wordpress.com]http://theroadtodelphi.wordpress.com[/URL]
//     Version: 1.1.2.170 
//
//
//
//     LIABILITY DISCLAIMER
//     THIS GENERATED CODE IS DISTRIBUTED "AS IS". NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED.
//     YOU USE IT AT YOUR OWN RISK. THE AUTHOR NOT WILL BE LIABLE FOR DATA LOSS,
//     DAMAGES AND LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS CODE.
//
//
//----------------------------------------------------------------------------------------------------
program GetWMI_Info;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ActiveX,
  ComObj,
  Variants;
  

    
// The Win32_SoundDevice class represents the properties of a sound device on a 
// Win32 computer system.

procedure  GetWin32_SoundDeviceInfo;
const
  WbemUser            ='';
  WbemPassword        ='';
  WbemComputer        ='localhost';
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;
begin;
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService   := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_SoundDevice','WQL',wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, iValue) = 0 do
  begin
    Writeln(Format('Availability                   %d',[Integer(FWbemObject.Availability)]));// Uint16
    Writeln(Format('Caption                        %s',[String(FWbemObject.Caption)]));// String
    Writeln(Format('ConfigManagerErrorCode         %d',[Integer(FWbemObject.ConfigManagerErrorCode)]));// Uint32
    Writeln(Format('ConfigManagerUserConfig        %s',[String(FWbemObject.ConfigManagerUserConfig)]));// Boolean
    Writeln(Format('CreationClassName              %s',[String(FWbemObject.CreationClassName)]));// String
    Writeln(Format('Description                    %s',[String(FWbemObject.Description)]));// String
    Writeln(Format('DeviceID                       %s',[String(FWbemObject.DeviceID)]));// String
    Writeln(Format('DMABufferSize                  %d',[Integer(FWbemObject.DMABufferSize)]));// Uint16
    Writeln(Format('ErrorCleared                   %s',[String(FWbemObject.ErrorCleared)]));// Boolean
    Writeln(Format('ErrorDescription               %s',[String(FWbemObject.ErrorDescription)]));// String
    Writeln(Format('InstallDate                    %s',[String(FWbemObject.InstallDate)]));// Datetime
    Writeln(Format('LastErrorCode                  %d',[Integer(FWbemObject.LastErrorCode)]));// Uint32
    Writeln(Format('Manufacturer                   %s',[String(FWbemObject.Manufacturer)]));// String
    Writeln(Format('MPU401Address                  %d',[Integer(FWbemObject.MPU401Address)]));// Uint32
    Writeln(Format('Name                           %s',[String(FWbemObject.Name)]));// String
    Writeln(Format('PNPDeviceID                    %s',[String(FWbemObject.PNPDeviceID)]));// String
    Writeln(Format('PowerManagementCapabilities    %d',[Integer(FWbemObject.PowerManagementCapabilities)]));// Uint16
    Writeln(Format('PowerManagementSupported       %s',[String(FWbemObject.PowerManagementSupported)]));// Boolean
    Writeln(Format('ProductName                    %s',[String(FWbemObject.ProductName)]));// String
    Writeln(Format('Status                         %s',[String(FWbemObject.Status)]));// String
    Writeln(Format('StatusInfo                     %d',[Integer(FWbemObject.StatusInfo)]));// Uint16
    Writeln(Format('SystemCreationClassName        %s',[String(FWbemObject.SystemCreationClassName)]));// String
    Writeln(Format('SystemName                     %s',[String(FWbemObject.SystemName)]));// String
        
    Writeln('');
    FWbemObject:=Unassigned;
  end;
end;


begin
 try
    CoInitialize(nil);
    try
      GetWin32_SoundDeviceInfo;
    finally
      CoUninitialize;
    end;
 except
    on E:EOleException do
        Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode])); 
    on E:Exception do
        Writeln(E.Classname, ':', E.Message);
 end;
 Writeln('Press Enter to exit');
 Readln;      
end.


Это сообщение отредактировал(а) Keeper89 - 8.11.2011, 01:12


--------------------
PM MAIL WWW   Вверх
Yanis
Дата 8.11.2011, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Какая конкретно нужна информация от звуковой карты?

Получить количество карт и наименование очень просто:
Код

uses MMSystem;

var
  NumDevs: Integer;
  wc: TWaveOutCaps;
  i: Integer;
begin
  // количество звуковых карт
  NumDevs := waveOutGetNumDevs;

  // узнаём про каждую звуковух
  for i := 0 to NumDevs - 1 do
  begin
    waveOutGetDevCaps(i, @wc, SizeOf(wc));

    MessageDlg(Format('Product name: "%s"', [wc.szPname]), mtInformation,
      [mbOK], 0);
  end;



--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
gl42
Дата 8.11.2011, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



Цитата(Yanis @ 8.11.2011,  16:22)
Какая конкретно нужна информация от звуковой карты?

Получить количество карт и наименование очень просто:
Код

uses MMSystem;

var
  NumDevs: Integer;
  wc: TWaveOutCaps;
  i: Integer;
begin
  // количество звуковых карт
  NumDevs := waveOutGetNumDevs;

  // узнаём про каждую звуковух
  for i := 0 to NumDevs - 1 do
  begin
    waveOutGetDevCaps(i, @wc, SizeOf(wc));

    MessageDlg(Format('Product name: "%s"', [wc.szPname]), mtInformation,
      [mbOK], 0);
  end;

Ну в основном как раз количество и имя.
Эта функция определяет (у меня дословно) "Динамики (Realtek High Definiti". (почему не полностью, не знаю)
Мне нужен вывод названия самой карты, например: Realtek ALC269.
PM MAIL   Вверх
gl42
Дата 8.11.2011, 19:20 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



Цитата(Keeper89 @ 8.11.2011,  01:08)
Код

//-----------------------------------------------------------------------------------------------------
//     This code was generated by the Wmi Delphi Code Creator [URL=http://theroadtodelphi.wordpress.com]http://theroadtodelphi.wordpress.com[/URL]
//     Version: 1.1.2.170 
//
//
//
//     LIABILITY DISCLAIMER
//     THIS GENERATED CODE IS DISTRIBUTED "AS IS". NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED.
//     YOU USE IT AT YOUR OWN RISK. THE AUTHOR NOT WILL BE LIABLE FOR DATA LOSS,
//     DAMAGES AND LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS CODE.
//
//
//----------------------------------------------------------------------------------------------------
program GetWMI_Info;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  ActiveX,
  ComObj,
  Variants;
  

    
// The Win32_SoundDevice class represents the properties of a sound device on a 
// Win32 computer system.

procedure  GetWin32_SoundDeviceInfo;
const
  WbemUser            ='';
  WbemPassword        ='';
  WbemComputer        ='localhost';
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;
begin;
  FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  FWMIService   := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
  FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_SoundDevice','WQL',wbemFlagForwardOnly);
  oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  while oEnum.Next(1, FWbemObject, iValue) = 0 do
  begin
    Writeln(Format('Availability                   %d',[Integer(FWbemObject.Availability)]));// Uint16
    Writeln(Format('Caption                        %s',[String(FWbemObject.Caption)]));// String
    Writeln(Format('ConfigManagerErrorCode         %d',[Integer(FWbemObject.ConfigManagerErrorCode)]));// Uint32
    Writeln(Format('ConfigManagerUserConfig        %s',[String(FWbemObject.ConfigManagerUserConfig)]));// Boolean
    Writeln(Format('CreationClassName              %s',[String(FWbemObject.CreationClassName)]));// String
    Writeln(Format('Description                    %s',[String(FWbemObject.Description)]));// String
    Writeln(Format('DeviceID                       %s',[String(FWbemObject.DeviceID)]));// String
    Writeln(Format('DMABufferSize                  %d',[Integer(FWbemObject.DMABufferSize)]));// Uint16
    Writeln(Format('ErrorCleared                   %s',[String(FWbemObject.ErrorCleared)]));// Boolean
    Writeln(Format('ErrorDescription               %s',[String(FWbemObject.ErrorDescription)]));// String
    Writeln(Format('InstallDate                    %s',[String(FWbemObject.InstallDate)]));// Datetime
    Writeln(Format('LastErrorCode                  %d',[Integer(FWbemObject.LastErrorCode)]));// Uint32
    Writeln(Format('Manufacturer                   %s',[String(FWbemObject.Manufacturer)]));// String
    Writeln(Format('MPU401Address                  %d',[Integer(FWbemObject.MPU401Address)]));// Uint32
    Writeln(Format('Name                           %s',[String(FWbemObject.Name)]));// String
    Writeln(Format('PNPDeviceID                    %s',[String(FWbemObject.PNPDeviceID)]));// String
    Writeln(Format('PowerManagementCapabilities    %d',[Integer(FWbemObject.PowerManagementCapabilities)]));// Uint16
    Writeln(Format('PowerManagementSupported       %s',[String(FWbemObject.PowerManagementSupported)]));// Boolean
    Writeln(Format('ProductName                    %s',[String(FWbemObject.ProductName)]));// String
    Writeln(Format('Status                         %s',[String(FWbemObject.Status)]));// String
    Writeln(Format('StatusInfo                     %d',[Integer(FWbemObject.StatusInfo)]));// Uint16
    Writeln(Format('SystemCreationClassName        %s',[String(FWbemObject.SystemCreationClassName)]));// String
    Writeln(Format('SystemName                     %s',[String(FWbemObject.SystemName)]));// String
        
    Writeln('');
    FWbemObject:=Unassigned;
  end;
end;


begin
 try
    CoInitialize(nil);
    try
      GetWin32_SoundDeviceInfo;
    finally
      CoUninitialize;
    end;
 except
    on E:EOleException do
        Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode])); 
    on E:Exception do
        Writeln(E.Classname, ':', E.Message);
 end;
 Writeln('Press Enter to exit');
 Readln;      
end.

спасибо, но думаю с WMI мне не разобраться.
да и коды слишком громоздкие(
PM MAIL   Вверх
Yanis
Дата 8.11.2011, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Если вы поставите задачу более полно, то, возможно, найдётся более конкретное решение.
А в общем случае вам надо будет узнавать идентификатор производителя и устройства, а затем искать наименование производителя и устройства по базе, наподобие pcidatabase.com. Либо ждать пока вам ответит кто-то, кто понял в отличие от меня, что вам требуется smile


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Keeper89
Дата 8.11.2011, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(gl42 @  8.11.2011,  19:20 Найти цитируемый пост)
спасибо, но думаю с WMI мне не разобраться.
да и коды слишком громоздкие( 

Почему не разобраться?

Вырежьте просто что нужно и все. Например:
Код

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  SysUtils,
  ActiveX,
  ComObj,
  Variants;

const
  WbemUser            ='';
  WbemPassword        ='';
  WbemComputer        ='localhost';
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;

begin
  try
    CoInitialize(nil);
    try
      FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
      FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
      FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_SoundDevice','WQL',wbemFlagForwardOnly);
      oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
      while oEnum.Next(1, FWbemObject, iValue) = 0 do
      begin
        Writeln(Format('ProductName: %s',[string(FWbemObject.ProductName)]));
        VarClear(FWbemObject);
      end;
    finally
      CoUninitialize;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.


Добавлено через 41 секунду
Цитата(Yanis @  8.11.2011,  20:48 Найти цитируемый пост)
А в общем случае вам надо будет узнавать идентификатор производителя и устройства, а затем искать наименование производителя и устройства по базе, наподобие pcidatabase.com.

+1


--------------------
PM MAIL WWW   Вверх
gl42
Дата 8.11.2011, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



Цитата(Yanis @ 8.11.2011,  20:48)
Если вы поставите задачу более полно, то, возможно, найдётся более конкретное решение.
А в общем случае вам надо будет узнавать идентификатор производителя и устройства, а затем искать наименование производителя и устройства по базе, наподобие pcidatabase.com. Либо ждать пока вам ответит кто-то, кто понял в отличие от меня, что вам требуется smile

количество звуковых карт (если их несколько, например встроенная в материнку, и отдельная)
их названия (как я поняла, включающих производителя, типо Intel, Genius, Realtek и серию)
вобщем то все.) либо по отдельности производителя и серию.
ну функция waveOutGetDevCaps определяет устройства вывода так? поэтому это будут динамики, наушники.. а не сама звуковая карта.

Добавлено @ 23:59
Цитата(Keeper89 @  8.11.2011,  21:08 Найти цитируемый пост)
Почему не разобраться?

Вырежьте просто что нужно и все. Например:
код Pascal/Delphi
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  SysUtils,
  ActiveX,
  ComObj,
  Variants;
const
  WbemUser            ='';
  WbemPassword        ='';
  WbemComputer        ='localhost';
  wbemFlagForwardOnly = $00000020;
var
  FSWbemLocator : OLEVariant;
  FWMIService   : OLEVariant;
  FWbemObjectSet: OLEVariant;
  FWbemObject   : OLEVariant;
  oEnum         : IEnumvariant;
  iValue        : LongWord;
begin
  try
    CoInitialize(nil);
    try
      FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
      FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
      FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_SoundDevice','WQL',wbemFlagForwardOnly);
      oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
      while oEnum.Next(1, FWbemObject, iValue) = 0 do
      begin
        Writeln(Format('ProductName: %s',[string(FWbemObject.ProductName)]));
        VarClear(FWbemObject);
      end;
    finally
      CoUninitialize;
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.


я попробую) спасибо)

скажите, для WMI нужно что-нибудь устанавливать дополнительно?

Это сообщение отредактировал(а) gl42 - 9.11.2011, 13:02
PM MAIL   Вверх
gl42
Дата 9.11.2011, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



FWbemObject.ProductName тоже выдает динамики(

"Realtek High Definition Audio 
Аудио Intel® для дисплеев"

в диспетчере устройств звуковые устройства пишет тоже самое :
Realtek High Definition Audio 
Аудио Intel® для дисплеев

а сама винда не определяет название звуковой карты?

Это сообщение отредактировал(а) gl42 - 9.11.2011, 15:39
PM MAIL   Вверх
Keeper89
Дата 10.11.2011, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(gl42 @  8.11.2011,  23:58 Найти цитируемый пост)
скажите, для WMI нужно что-нибудь устанавливать дополнительно?

Нет, надо только смотреть, поддерживается ли конкретная функция конкретной ОС.
Цитата(gl42 @  9.11.2011,  15:26 Найти цитируемый пост)
а сама винда не определяет название звуковой карты?

Что есть название? Какая-либо программа (типа Everest'а) определяет нужное?


--------------------
PM MAIL WWW   Вверх
gl42
Дата 10.11.2011, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



Цитата(Keeper89 @  10.11.2011,  12:54 Найти цитируемый пост)
Что есть название? Какая-либо программа (типа Everest'а) определяет нужное? 


да, aida64 Extreme Edition выдает звуковую карту Realtek ALC269  (ну как я поняла, ALC - кодек, а не серия.)
PM MAIL   Вверх
Keeper89
Дата 10.11.2011, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Попробуйте вбить
Код

Writeln(Format('DeviceID %s',[String(FWbemObject.DeviceID)]));// String

в поисковик. Должен получиться тот же ответ, что и у аиды.


--------------------
PM MAIL WWW   Вверх
gl42
Дата 10.11.2011, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



Цитата(Keeper89 @  10.11.2011,  21:06 Найти цитируемый пост)
код Pascal/Delphi
1:
Writeln(Format('DeviceID %s',[String(FWbemObject.DeviceID)]));// String

в поисковик. Должен получиться тот же ответ, что и у аиды. 


HDAUDIO\FUNC_01&VEN_10EC&DEV_0269&SUBSYS_10431AC3&REV_1001\4&2C5AF439&0&0001
HDAUDIO\FUNC_01&VEN_8086&DEV_2805&SUBSYS_80860101&REV_1000\4&2C5AF439&0&0301
это трудно назвать тем же ответом)
PM MAIL   Вверх
Keeper89
Дата 10.11.2011, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(gl42 @  10.11.2011,  21:53 Найти цитируемый пост)

HDAUDIO\FUNC_01&VEN_10EC&DEV_0269&SUBSYS_10431AC3&REV_1001\4&2C5AF439&0&0001

HDAUDIO\FUNC_01&VEN_10EC&DEV_0269&SUBSYS_10431AC3&REV_1001
Цитата

это трудно назвать тем же ответом)

Вполне =)

Это сообщение отредактировал(а) Keeper89 - 10.11.2011, 22:24


--------------------
PM MAIL WWW   Вверх
gl42
Дата 10.11.2011, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 2.11.2011

Репутация: нет
Всего: нет



Цитата(Keeper89 @  10.11.2011,  22:23 Найти цитируемый пост)
HDAUDIO\FUNC_01&VEN_10EC&DEV_0269&SUBSYS_10431AC3&REV_1001
Цитата

это трудно назвать тем же ответом)

Вполне =)


ладно, согласна)
спасибо. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.