ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Що таке API ?
         

     

    Інформатика, програмування

    Що таке API?

    API - це скорочення від Application Programming Interface. Загалом кожна програма, операційна система і т.д. має свій API. Windows - API складається з цілого ряду функцій, які дозволяють Вам використовувати системні Windows-конструкції. Всі Windows-API-функції були написані в C + +, але ваші програми зможуть спокійно їх використовувати з Visual Basic'a. API-функції повинні бути обов'язково продекларовано! Декларація API-функцій має наступний синтаксис:

    [Public | Private] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])] [As type]

    Ключове слово Lib вказує, в якій бібліотеці Visual Basic може знайти потрібну функцію. Маються на увазі бібліотеки динамічних зв'язків (*. dll). Але в aliasname вказувати розширення не треба. Alias вказує під яким ім'ям програма повинна шукати завдання функцій в бібліотеці. Arglist - це передача даних параметри.Windows-API дозволяє дві речі: проведення певних завдань і доступ до системних ресурсів. Список різних API-функцій та їх декларацій Ви можете проглянути за допомогою стандартної програми API-Viewer.

    Примітка: Якщо АPI-функція чекає від вас змінної, Ви повинні обов'язково оголосити її і заповнити пробілами. Тобто мінлива повинна бути певної користувачем. Це риси мови С + +, на якому і був написаний Windows-API.

    Розглянемо кілька прикладів:

    Припустимо, ваше застосування повинне визначати каталог, в якому встановлена операційна система Windows 95/98/NT. Зробити це простіше за все, використавши API-функцію GetWindowsDirectory.

    1. У модулі декларуємо API-функцію GetWindowsDirectory:

    Declare Function GetWindowsDirectory Lib "kernel32" Alias _

    "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal _

    nSize As Long) As Long

    2. У модулі оголошуємо змінну, припустимо, WinDir, якою має бути присвоєно ім'я директорії.

    Public WinDir As String

    3. У підпрограму вписуємо:

    змінну, яку треба передати API, ми вже оголосили і тепер заповнюємо пробілами.

    Прогалин має бути приблизно стільки, скільки приблизно символів повинна мати змінна.

    В цьому випадку вистачить і 20, тому що Windows зазвичай встановлюють в С: Windows або C: Win95, і т.д. Тобто сума символів, швидше за все не перевищить 20

    WinDir = Space (20)

    Debug.Print Left (WinDir, GetWindowsDirectory (WinDir, 20))

    Оскільки API є функцією, то вона повинна повертати якесь значення. У цьому випадку функція GetWindowsDirectory возврашает довжину шуканого значення. Тобто якщо, наприклад, шукане значення це C: WINDOWS, функція поверне значення 10.

    'Змінна ж маєте довжину 20. Ці 10 символів записуються першими, а далі йдуть 10 пробілів. Навіщо нам, питається, зайві 10 символів? Адже це використовується непотрібна пам'ять ...

    Тому інструкцією Left ми із змінної WinDir витягуємо рівно стільки перших символів, скільки взагалі потрібних ...

    Другий приклад:

    Наприклад, ваша програма повинна визначити, який із ваших носіїв є CD-ROM або віддалений і т.д. "Рідний" інструментарій Visual Basica зробити цього не дозволяє - доводиться вдаватися до допомоги API-функції.

    1. У модулі декларуємо API-функцію GetDriveType:

    Declare Function GetDriveType Lib "kernel32" Alias _

    "GetDriveTypeA" (ByVal nDrive As String) As Long

    Під параметром nDrive подрзумевается, буква латинського алфавіту плюс двоетечіе, тобто потенційне ім'я дисковода, наприклад C:

    2. У підпрограму вписуємо:

    тут цикл For ... Next "підсовує" функції GetDriveType всі букви латинського алфавіту по черзі. Функція Chr перетворює значення таблиці ASCII (від 0 до 255) в літери. Так ось 65 це буква A, a 90 це Z

    Dim myDrive As Integer

    For myDrive = 65 To 90

    Debug.Print Chr (myDrive) & ":" & "-" & GetDriveType (Chr (myDrive) & ":")

    Next

    Ось що поверне функція GetDriveType нам, наприклад в мене:

    A: - 2

    C: - 3

    D: - 3

    E: - 5

    Всі інші літери позначені цифрою 1. Так, що б зрозуміти ці позначення потрібно знати наступну таблицю:

    Назва константи: Значення:        

    DRIVE_UNKNOWN         

    0             

    DRIVE_NO_ROOT_DIR         

    1             

    DRIVE_REMOVEABLE         

    2             

    DRIVE_FIXED         

    3             

    DRIVE_REMOTE         

    4             

    DRIVE_CDROM         

    5             

    DRIVE_RAMDISK         

    6     

    Підпрограма Main в модулі є як Form_Load на формі, тобто вважається головною і завантажується за замовчуванням.

    Про призначення багатьох API функцій можна легко здогадатися за їх назвою. Наприклад, GetWindowsDirectory (отримати директорію Windows) або GetDriveType (отримати тип носія).

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://visualprogs.narod.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status