Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Microsoft Visual C++ ΠΈ MFC. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Windows 95 ΠΈ Windows NT. Π§Π°ΡΡ‚ΡŒ 2Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 48

Автор АлСксандр Π€Ρ€ΠΎΠ»ΠΎΠ²

Рис. 4.12. Бтандартная диалоговая панСль Replace


ΠœΡ‹ расскаТСм ΠΎ стандартных Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… панСлях Find ΠΈ Replace Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ½ΠΈΠ³ сСрии β€œΠ‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° систСмного программиста”, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡ‹Π΅ ΠΌΡ‹ посвятим Microsoft Visual C++ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ MFC.

5. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MFC

БСгодня Π±Π΅Π· прСувСличСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ основной ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ примСнСния ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² стало Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Для этого ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π” ).

Π’Π°ΠΊΠΈΠ΅ систСмы ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (дСсятки ΠΈ сотни тысяч записСй) ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ быстрый поиск Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ примСнСния Π‘Π£Π‘Π” ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½. Π‘Π£Π‘Π” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Π΅Π·Π΄Π΅, начиная ΠΎΡ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащих ΠΊΠ°Ρ€Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ домашнСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠ½ΠΈΠ³, ΠΈ кончая распрСдСлСнными Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… дСсятки Π±Π°Π½ΠΊΠΎΠ², офисов, ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² ΠΈ хранящих свСдСния ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, Ρ‚ΠΎΠ²Π°Ρ€Π°Ρ…, производитСлях.

Π”ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΏΡ€Π΅Π²Π°Π»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы MS-DOS. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСны Clipper, Clarion, Dbase, FoxPro 2.0 ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π‘ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows практичСски всС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния выпустили собствСнныС систСмы управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’Π°ΠΊ, Microsoft ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΈ распространяСт Π΄Π²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π‘Π£Π‘Π” ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса – FoxPro for Windows ΠΈ Access, Borland выпускаСт Object Vision ΠΈ Paradox for Windows. Π”Π°ΠΆΠ΅ Ρ„ΠΈΡ€ΠΌΡ‹, производящиС Π‘Π£Π‘Π” для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ ΠΌΠ°Π»Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², выпустили вСрсии своих систСм для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows.

Π’ этой ΠΊΠ½ΠΈΠ³Π΅ рассматриваСтся интСрфСйс ODBC (Open Database Connectivity), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Microsoft. Π­Ρ‚ΠΎΡ‚ интСрфСйс позволяСт прилоТСниям Windows ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ запросы Π½Π° языкС SQL. ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ любой Π‘Π£Π‘Π”, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сущСствуСт ODBC Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² состав дистрибутива Visual C++ входят ODBC Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Access, Btrieve, dBase, FoxPro, Excel, Paradox, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ODBC Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΈ для ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Π‘Π£Π‘Π” – SQL Server ΠΈ Oracle.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов MFC, поставляСмая Π² составС Visual C++ содСрТит классы, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для упрощСния взаимодСйствия с ODBC Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ. ΠœΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ расскаТСм ΠΏΡ€ΠΎ эти классы ΠΈ расскаТСм ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ AppWizard для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π°. ЗапуститС любой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Notepad. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ срСды Microsoft Visual C++. НабСритС Π² Π½Π΅ΠΌ Ρ„Π°ΠΉΠ» TextBase.txt, прСдставлСнный Π² листингС 5.1.

Листинг 5.1. Π€Π°ΠΉΠ» TextBase.txt

NAME;ADDRESS;PRIORITY;PHONE

Π€Ρ€ΠΎΠ»ΠΎΠ² Π“Ρ€ΠΈΠ³ΠΎΡ€ΠΈΠΉ ВячСславович; [email protected];1;(Π½Π΅ извСстСн)

Π€Ρ€ΠΎΠ»ΠΎΠ² АлСксандр ВячСславович; [email protected];1;(Π½Π΅ извСстСн)

ЕвсССв Бвятослав ΠžΠ»Π΅Π³ΠΎΠ²ΠΈΡ‡; [email protected];4;8783-77-35

НиколаСв ΠŸΠ΅Ρ‚Ρ€ Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡; [email protected];4;1242-09-09

ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² Π•Π²Π³Π΅Π½ΠΈΠΉ НиколаСвич; [email protected];7;5453-59-05

Π€Π°ΠΉΠ» TextBase.txt содСрТит ΡˆΠ΅ΡΡ‚ΡŒ записСй (строк). КаТдая запись состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΠΎΠ»Π΅ΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… символами ;. Бамая пСрвая строка отличаСтся ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Она содСрТит названия ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π»Π΅Π΅.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» создан, Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ TEXTBASE. ΠœΡ‹ размСстили ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ TEXTBASE Π½Π° дискС E:, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ дискС.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом являСтся созданиС Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ источника Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ тСкстового Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ODBC ΠΊ Ρ„Π°ΠΉΠ»Ρƒ TextBase.txt. ΠžΠ±Ρ€Π°Π°Ρ‰Π°ΡΡΡŒ ΠΊ этому источнику Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ODBC.

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ODBC ΠΈ создания источника Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 32bit ODBC. ΠŸΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прилоТСния 32bit ODBC находится Π² ΠΎΠΊΠ½Π΅ Control Panel

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Control Panel ΠΈ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 32bit ODBC. На экранС появится диалоговая панСль Data Source (рис. 5.1).

Рис. 5.1. Диалоговая панСль Data Source


НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Add Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Data Source. На экранС появится диалоговая панСль Add Data Source (рис. 5.2). Π’ Π½Π΅ΠΉ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ODBC, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для доступа ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Если Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ODBC для тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² отсутствуСт Π² спискС Installed ODBC Drivers, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ½ Π½Π΅ установлСн Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ этот Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ (Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ODBC) ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ установку Microsoft Visual C++ ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ODBC с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ODBC, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ собой ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· списка Installed ODBC Drivers строку Microsoft Text Driver, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ тСкстовый Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ODBC. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ OK.

Рис. 5.2. Диалоговая панСль Add Data Source


ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ диалоговая панСль ODBC Text Setup (рис. 5.3). Π­Ρ‚Π° панСль позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, для дооступа ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ тСкстовый Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ODBC.

Π’ ΠΏΠΎΠ»Π΅ Data Source Name Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π’ ΠΏΠΎΠ»Π΅ Description ΠΌΠΎΠΆΠ½ΠΎ занСсти тСкстовоС описаниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ мСсто располоТСния Ρ„Π°ΠΉΠ»Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Use Current Directory Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Select Directory. На экранС появится стандартная диалоговая панСль для Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΠΎ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π½Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· Π½Π΅Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ записан Ρ„Π°ΠΉΠ» Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… TextBase.txt. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ этот Ρ„Π°ΠΉΠ» располоТСн Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ TEXTBASE Π½Π° дискС E:.

Рис. 5.3. Диалоговая панСль ODBC Text Setup


НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ OK. Бтандартная диалоговая панСль Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² закроСтся. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΏΠΎΠ»Π΅ Directory Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ODBC Text Setup Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° нашСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкстовая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ этой Π±Π°Π·Ρ‹) Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π°, Π²Ρ‹ смоТСтС Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Options, располоТСнной Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Π΄ΠΈΠ°Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ODBC Text Setup. Когда Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Π½Π° эту ΠΊΠ½ΠΎΠΏΠΊΡƒ, внСшний Π²ΠΈΠ΄ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ODBC Text Setup измСнится (рис. 5.4). Π’ Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΏΠ°Π½Π΅Π»ΠΈ появится новая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΎΡ€Π³Π°Π½ΠΎΠ² управлСния, которая ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Files.

Рис. 5.4. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ°Π½Π΅Π»ΠΈ ODBC Text Setup


Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ Extension List Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ входят Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ *.txt ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ маску *.*. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ TEXTBASE содСрТит СдинствСнный Ρ„Π°ΠΉΠ» TextBase.txt, Ρ‚ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ маска *.* ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Default (*.*) установлСн.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‚Π°Π±Π»ΠΈΠΈΡ†, входящих Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Define Format. На экранС откроСтся диалоговая панСль Define Text Format (рис. 5.5).

Рис. 5.5. Диалоговая панСль Define Text Format


Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… состоит ΠΈΠ· СдинствСнной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, записанной Π² Ρ„Π°ΠΉΠ»Π΅ TextBase.txt, поэтому список Tables Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π»Π΅Π²ΠΎΠΉ части ΠΎΠΊΠ½Π° содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя этого Ρ„Π°ΠΉΠ»Π°.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· списка Tables имя Ρ„Π°ΠΉΠ»Π° TextBase.txt. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ этого Ρ„Π°ΠΉΠ»Π°.

Из списка Format Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ строку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚ΠΈΠΏΡƒ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ отдСляСтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠœΡ‹ использовали Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ;. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· списка Format строку Custom Delimited ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² ΠΏΠΎΠ»Π΅ Delimiter символ ;.

Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ€ символов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² вашСй Ρ‚Π°Π±Π»ΠΈΡ†Π΅, установитС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Characters Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ANSI ΠΈΠ»ΠΈ OEM. ΠœΡ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» TextBase.txt Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ANSI, поэтому ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π’ ΠΏΠΎΠ»Π΅ Rows to Scan ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ количСство строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· измСнСния.

Если пСрвая строка Ρ„Π°ΠΉΠ»Π° содСрТит названия ΠΏΠΎΠ»Π΅ΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, установитС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Column Name Header. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° листинг 5.1 Ρ„Π°ΠΉΠ»Π° TextBase.txt. ΠŸΠ΅Ρ€Π²Π°Ρ строка этого Ρ„Π°ΠΉΠ»Π° ΠΊΠ°ΠΊ Ρ€Π°Π· содСрТит названия ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Column Name Header Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Guess Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Columns ΠΈ, … ΠΎ Ρ‡ΡƒΠ΄ΠΎ: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° установки сама ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Названия этих ΠΏΠΎΠ»Π΅ΠΉ, взятыС ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Ρ„Π°ΠΉΠ»Π° TextBase.txt появятся Π² спискС Π³Ρ€ΡƒΠΏΠΏΡ‹ Columns. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ‚ΠΈΡ‚Π΅ ΠΈΠ· этого списка названия всСх ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’ полях Data Type, Name ΠΈ Width Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΈΠΏ, имя ΠΈ максимальная ΡˆΠΈΡ€ΠΈΠ½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ поля. Π’ случаС нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ эти значСния.

Поля NAME, ADDRESS ΠΈ PHONE Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ строки, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Π½Ρƒ 255 символов. ПолС PRIORITY Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ число Integer.

Если пСрвая строка Ρ„Π°ΠΉΠ»Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ содСрТит ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Column Name Header Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Guess Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Columns. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° установки ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ присвоит ΠΈΠΌ ΠΈΠΌΠ΅Π½Π° F1, F2, F3 ΠΈ Ρ‚. Π΄. Π’ послСдствии Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ названия ΠΏΠΎΠ»Π΅ΠΉ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΈΡ… Π² ΠΏΠΎΠ»Π΅ Name ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Modify.