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

     

     

     

     

     

         
     
    Робота з текстовими файлами в Visual Basic
         

     

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

    Робота з текстовими файлами в Visual Basic.

    Зовсім недавно в непомню який коференції я бачив запис якогось чоловіка, який просив, щоб хоч хто-небудь пояснив йому елементарну роботу з файлами ... Здавалося б таке просте ... Але це просте для тих, хто вже хоч трохи просунувся в програмуванні, а хто це тільки почав? Це ж, дійсно, непрохідний ліс! І я сильно сумніваюся, щоб хто-небудь з інших наших Web-майстрів коли-небудь приділить цього хоч якусь увагу. Тому цим займусь і я спробую в цій статті показати тільки основи.

    1. Відкриття файлу для читання інформації з нього.

    Отже, щоб безпроблемно працювати з текстовими файлами спочатку їх потрібно відкрити. Робиться це за допомогою оператора Open, наприклад:

    Open "c: text.txt" For Input As # 1

    Зверніть увагу на режим відкриття файлу - Input (для читання). Тут файл text.txt відкривається для зчитування під номером 1. Увага! Номер файлу -- обов'язковий параметр, і вводити його потрібно завжди! Якщо ваша програма буде мати справу не з одним десятком відкритих файлів, то встежити за їх нумерацією буде важкувато. Використовуйте для цього функцію FreeFile. Вона повертає ще не зайнятий номер (від 1 до 511) для файла:

    Dim FileNum As Integer

    FileNum = FreeFile

    Open "c: text.txt" For Input As FileNum

    Так, файл відкрили! Тепер з нього потрібно що-небудь вважати. Оператор Line Input зчитує з відкритого файлу по одному рядку при кожному виклику. Тому для зчитування з файлу потрібно побудувати цикл, який би викликав цей оператор до тих пір, поки не дійшов би до кінця файлу:

    цикл виконується, поки кінець файлу не досягнуть

    Do Until EOF (FileNum)

    при кожному виклику оператора Line Input він записує в

    змінну новою рядок

    Line Input # FileNum, мінлива

    Loop

    Закрити відкритий файл можна оператором Close # FileNum. А тепер ось як це має виглядати в практиці:

    Dim FileNum As Integer

    Dim txt As String

    Dim alltxt As String

    FileNum = FreeFile

    відкриваємо файл у режимі читання

    Open "c: text.txt" For Input As FileNum

    запускаємо вищезгаданий цикл

    Do Until EOF (FileNum)

    зчитуємо рядок з файлу з номером FileNum і кладемо її в

    змінну txt

    Line Input # FileNum, txt

    тепер до змінної alltxt додаємо вміст змінної txt -

    рядка і vb-константу vbCrLf (Chr (13) + Chr (10)), тому що кожен рядок

    повинна бути з нового рядка :-)

    alltxt = Alltxt + txt + vbCrLf

    Loop

    закриваємо файл з номером FileNum

    Close # FileNum

    виводимо вміст змінної alltext

    MsgBox alltxt

    2. Відкриття файлу для запису інформації в нього.

    Записати інформацію в файл ще простіше! Ця операція відрізняється від попередньої тільки тим, що відкрити файл треба в режимі запису:

    Open "c: text.txt" For Output As FileNum

    і замість циклу потрібно вставити оператор Print #, що записує в файл вміст змінної:

    Print # FileNum, "Азбука Visual Basic"

    або

    Print # FileNum, alltext

    Приклад:

    Dim FileNum As Integer

    Dim txt As String

    FileNum = FreeFile

    txt = "http://members.tripod.de/cmvb"

    відкриваємо файл у режимі запису

    Open "c: text.txt" For Output As FileNum

    Print # FileNum, txt

    закриваємо файл з номером FileNum

    Close # FileNum

    перевірки вміст файлу.

    І ще хочу запропонувати другий спосіб запису інформації у файл - за допомогою API-функції WritePrivateProfileStringByKeyName. Зчитувати ж інформацію потрібно з допомогою API-функції GetPrivateProfileString. Тепер розповім - як все це працює?

    1.Создайте стандартний проект.

    2.Введіте модуль.

    3.Удаліте форму і клацніть два рази по модулю.

    4.У розділ General Declarations наступне оголошення двох, вищеназваних функцій:

    Declare Function GetPrivateProfileString & Lib _

    "kernel32" Alias "GetPrivateProfileStringA" (ByVal _

    lpszSection $, ByVal lpszKey $, ByVal lpszDefault $, _

    ByVal lpszReturnBuffer $, ByVal cchReturnBuffer &, _

    ByVal lpszFile $)

    lpszSection-ім'я секції

    lpszKey - ім'я ключа

    lpszDefault - Значення, що повертається за замовчуванням, при рядку ""

    lpszReturnBuffer - Місце для рядка

    cchReturnBuffer - Розмір (довжина) місця для рядка

    lpszFile - назва файлу

    Declare Function WritePrivateProfileStringByKeyName% Lib _

    "kernel32" Alias "WritePrivateProfileStringA" (ByVal _

    lpApplicationName As String, ByVal lpKeyName As String, _

    ByVal lpString As String, ByVal lplFileName As String)

    lpApplicationName - ім'я секції

    lpKeyName - ім'я ключа

    lpString - рядок

    lplFileName - назва файлу

    5.Создайте підпрограму Main - просто введіть Sub Main.

    6.У підпрограму Main введіть:

    Sub Main ()

    створюємо файл test.ini, в ньому заголовок "Main", ключ "URL" _

    і рядок "http://members.tripod.de/cmvb"

    Call WritePrivateProfileStringByKeyName ( "Main", "URL", _

    "http://members.tripod.de/cmvb", "c: test.ini")

    створюємо файл test.ini, в ньому заголовок "Main", ключ "eMail" _

    і рядок "[email protected]"

    Call WritePrivateProfileStringByKeyName ( "Main", "eMail", _

    "[email protected]", "c: test.ini")

    End Sub

    При запуск проекту на диску С: відразу буде створений файл Test.ini з наступним вмістом:

    [Main]

    URL = http://members.tripod.de/cmvb

    eMail = [email protected]

    8:-O!!! Чи не так, просто? А вважати це трохи складніше. Отже, файл створений, тепер поробуем вважати інформацію звідти. Видаліть все, що знаходиться між рядками "Sub Main () "і" End Sub ". Впишіть наступне:

    Sub Main ()

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

    Dim MyString As String

    "набиваємо" її пробілами

    MyString = Space (100)

    відкривається файл файл test.ini, і в змінну MyString _

    записується рядок із заголовка "Main", ключа "URL"

    Call GetPrivateProfileString ( "Main", "URL", "", MyString, _

    Len (MyString), "C: test.ini")

    виводиться на екран вміст змінної MyString

    MsgBox MyString

    відкривається файл файл test.ini, і в змінну MyString _

    записується рядок із заголовка "Main", ключа "eMail"

    Call GetPrivateProfileString ( "Main", "eMail", "", MyString, _

    Len (MyString), "C: test.ini")

    виводиться на екран вміст змінної MyString

    MsgBox MyString

    End Sub

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

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

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

     

     

     

     

     

     

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