ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°Ρ…

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Бтандартизация ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»Π° язык программирования C++, ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π° ΡΡ‚ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅, достандартныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ языка. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ врСмя язык развивался Π²Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΠΌΠΎΠΊ, спонтанно, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π²ΡΡ‚Π°Π²Π°Π²ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π·Π°Π΄Π°Ρ‡. Π Π°Π·Π²ΠΈΡ‚ΠΈΡŽ языка сопутствовало Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ кросс-компилятора cfront. ΠΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Π² ΡΠ·Ρ‹ΠΊΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии кросс-компилятора. Π­Ρ‚ΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Дисциплина: «ΠžΡΠ½ΠΎΠ²Ρ‹ программирования«

Π’Π•ΠœΠ: «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°Ρ…»

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚

Π Π°Π±ΠΎΡ‚Π° содСрТит 19 листов ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, 5 ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΉ, 4 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ разрабатываСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования «Π‘++» ΠΈ ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Qt Creator. РазрабатываСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°Ρ…. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±Ρ‹Π»Π° взята Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… SQLite ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ΄, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΠΈΠΉ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

ЦСлью Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°Ρ…: Ρ‚ΠΈΠΏ, диагональ, срСдняя Ρ†Π΅Π½Π°, количСство Π½Π° ΡΠΊΠ»Π°Π΄Π΅; Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Π΅Ρ‘ Π½Π° ΡΠΊΡ€Π°Π½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π½ΠΎΠ²ΠΈΠ·Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ обусловлСна Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ настоящСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ студСнт ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания ΠΎ ΡΠ·Ρ‹ΠΊΠ΅ Π‘++ ΠΈ ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Qt Creator.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ настоящСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния схоТСго Ρ‚ΠΈΠΏΠ°.

Π“Π»Π°Π²Π° 1. Π―Π·Ρ‹ΠΊ программирования «Π‘++» ΠΈ ΡΡ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Qt Creator

«C++» — ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования, сочСтаСт свойства ΠΊΠ°ΠΊ высокоуровнСвых, Ρ‚Π°ΠΊ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков. Π’ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ с Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠΌ — языком C, — наибольшСС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ программирования. НазваниС «C++» происходит ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° C, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ++ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Являясь ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… популярных языков программирования, C++ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ примСнСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ созданиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для встраиваСмых систСм, Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСрвСров, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Ρ‹). БущСствуСт нСсколько Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ языка C++ — ΠΊΠ°ΠΊ бСсплатных, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΈΡ…. Π˜Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ GNU, Microsoft, Intel ΠΈ Embarcadero (Borland). C++ ΠΎΠΊΠ°Π·Π°Π» ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ влияниС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° Java ΠΈ C#.

ΠŸΡ€ΠΈ создании C++ Π‘ΡŒΡ‘Ρ€Π½ Бтрауструп стрСмился ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡΠ·Ρ‹ΠΊΠΎΠΌ C. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ компиляторами C, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π°ΠΌΠΈ C++, довольно Π²Π΅Π»ΠΈΠΊΠΎ — отчасти благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ синтаксис C++ Π±Ρ‹Π» основан Π½Π° ΡΠΈΠ½Ρ‚аксисС C.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ C++ Π½Π° 2003 Π³ΠΎΠ΄ состоит ΠΈΠ· Π΄Π²ΡƒΡ… основных частСй: описаниС ядра языка ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ C++, Π½Π΅ Π²Ρ…одящих Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° C++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C.

Бтандартизация ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»Π° язык программирования C++, ΠΎΠ΄Π½Π°ΠΊΠΎ Π·Π° ΡΡ‚ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅, достандартныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ языка. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ врСмя язык развивался Π²Π½Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°ΠΌΠΎΠΊ, спонтанно, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π²ΡΡ‚Π°Π²Π°Π²ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π·Π°Π΄Π°Ρ‡. Π Π°Π·Π²ΠΈΡ‚ΠΈΡŽ языка сопутствовало Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ кросс-компилятора cfront. ΠΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Π² ΡΠ·Ρ‹ΠΊΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π»ΠΈΡΡŒ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии кросс-компилятора. Π­Ρ‚ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий кросс-компилятора Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ ΠΈ Π½Π° ΡΠ°ΠΌ язык, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Π½Π°ΡΡ‚оящСму Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅Ρ‡ΡŒ ΠΎ Π²Π΅Ρ€ΡΠΈΡΡ… языка C++ Π½Π΅ Π²Π΅Π΄ΡƒΡ‚.

Qt Creator — кроссплатформСнная свободная IDE для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ Qt, разработанная Trolltech (Nokia). Анонс ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° состоялся Π½Π° Qt Developer Days Π² ΠΎΠΊΡ‚ябрС 2008 Π³ΠΎΠ΄Π°. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Π°Ρ Π±Π΅Ρ‚Π°-вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° 30 ΠΎΠΊΡ‚ября 2008 Π³ΠΎΠ΄Π°. Π€ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· состоялся 3 ΠΌΠ°Ρ€Ρ‚Π° 2009 Π³ΠΎΠ΄Π° (вмСстС с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Qt 4.5), Π° ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ доступСн ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPL.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

1. Π‘Π΄Π΅Π»Π°Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Qt;

2. ВстроСнныС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌ (Qt Designer) ΠΈ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½Π°Ρ систСма (Qt Assistant);

3. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎ-зависимая систСма ΠΏΠΎΠΌΠΎΡ‰ΠΈ;

4. Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠ° ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ;

5. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ графичСский Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ для GDB;

6. ΠžΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Π°Ρ подсвСтка синтаксиса, поддСрТиваСтся большоС количСство языков программирования ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания своих стилСй подсвСтки;

7. QML-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€;

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎΠ΅ достоинство Qt Creator это Π΅Π³ΠΎ распространСниС ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPL, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС коммСрчСскиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ вознаграТдСния производитСлям срСды.

Π“Π»Π°Π²Π° 2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

РазрабатываСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Π²ΠΎΠ΄Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Π² ΠΎΠΊΠ½ΠΎ поиска. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ использовалась Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… SQLite, содСрТащая 3 Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΈ Ρ…арактСристиками пСрсонаТСй ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈΠ³Ρ€Ρ‹ «Lineage 2: interlude».

Рис 2.1. ΠžΠ±Ρ‰Π°Ρ структура Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.1. ΠΏΠΎΠΊΠ°Π·Π°Π½Π° общая структура Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, состоящая ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… Ρ‚Π°Π±Π»ΠΈΡ†.

Π’Π°Π±Π»ΠΈΡ†Ρ‹ связаны Ρ‡Π΅Ρ€Π΅Π· элСмСнт Π΄Π°Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… «ID». Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ элСмСнту «manufacturer» присвоСн «ID», соотвСтствСнно Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ характСристики пСрсонаТСй «ΠΏΡ€ΠΈΠ²ΡΠ·Π°Π½Ρ‹» ΠΊ «ID» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ элСмСнту «manufacturer».

Рис 2.2. НаполнСниС ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Рис 2.3. НаполнСниС Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Рис 2.4. НаполнСниС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ На Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… 2.2, 2.3, 2.4 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ наполнСния Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ГрафичСски, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой Ρ‚Ρ€ΠΈ ΠΎΠΊΠ½Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выводится информация ΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°Ρ…. Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.5 Π»Π΅Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠ². Π‘Ρ€Π΅Π΄Π½Π΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ ΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠ² находящихся Π² Π½Π°Π»ΠΈΡ‡ΠΈΠ΅. ΠŸΡ€Π°Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ количСство Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠ² Π½Π° ΡΠΊΠ»Π°Π΄Π΅ ΠΈ ΡΡ€Π΅Π΄Π½ΡŽΡŽ Ρ†Π΅Π½Ρƒ Π½Π° Π½ΠΈΡ…. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.5 Π±Ρ‹Π» ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ запрос ΠΏΠΎ ID=1.

Рис 2.5 Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡΡ‚ΠΈ тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ…: «Kr.pro» — ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находятся записи ΠΎΠ± ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…; «Connect.h"-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написан ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…; «mainwindow.h"-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ постоянныС, слоты ΠΈ Ρ‚. ΠΏ.; «main.cpp" — содСрТит ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ «connect.h» ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΊΠΎΠ΄, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹; «mainwindow.cpp"-содСрТит ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСпосрСдствСнно выполняСтся ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

«Kr.pro»:

QT += core gui

TARGET = program

TEMPLATE = app

QT += sql

SOURCES += main. cpp

«Connect.h»

#ifndef CONNECT_H

#define CONNECT_H

#include

#include

inline bool createConnection ()

{

QSqlDatabase db = QSqlDatabase: addDatabase («QSQLITE»);

db.setDatabaseName («C:/1 010 101/Denis Krash/Kr/db1.db»);

if (!db.open ())

{

QMessageBox:critical (0," Connection error!" ," Connection failed!");

return false;

}

return true;

}

#endif // CONNECT_H

«mainvindow.h»:

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include

#include

namespace Ui {

class MainWindow;

}

class MainWindow: public QMainWindow

{

Q_OBJECT

public:

explicit MainWindow (QWidget *parent = 0);

~MainWindow ();

protected:

void changeEvent (QEvent *e);

private:

Ui:MainWindow *ui;

QSqlTableModel *tab;

QSqlQueryModel *qm;

QSqlQueryModel *qp;

private slots:

void on_pushButton_clicked ();

void slot1();

};

#endif // MAINWINDOW_H

«main.cpp»:

#include

#include «mainwindow.h»

#include «connect.h»

#include

int main (int argc, char *argv[])

{

QApplication a (argc, argv);

if (!createConnection ())

{

QMessageBox:critical (0," Connection error!" ," Connection failed!");

return 1;

}

MainWindow w;

w.show ();

return a. exec ();

}

«mainwindow.cpp»:

#include «mainwindow.h»

#include «ui_mainwindow.h»

#include

MainWindow:MainWindow (QWidget *parent) :

QMainWindow (parent),

ui (new Ui: MainWindow)

{

ui->setupUi (this);

tab = new QSqlTableModel;

tab->setTable («table1»);

tab->select ();

tab->setHeaderData (0, Qt: Horizontal, QString: fromLocal8Bit («ID»));

tab->setHeaderData (1, Qt: Horizontal, QString: fromLocal8Bit («ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ»));

tab->setHeaderData (2, Qt: Horizontal, QString: fromLocal8Bit («ΠΠ°Π»ΠΈΡ‡ΠΈΠ΅»));

tab->select ();

ui->tableView->setModel (tab);

ui->tableView->resizeColumnsToContents ();

}

MainWindow:~MainWindow ()

{

delete ui;

}

void MainWindow: changeEvent (QEvent *e)

{

QMainWindow:changeEvent (e);

switch (e->type ()) {

case QEvent: LanguageChange:

ui->retranslateUi (this);

break;

default:

break;

}

}

void MainWindow: on_pushButton_clicked ()

{

}

void MainWindow: slot1()

{

QString h=ui->lineEdit->text ();

QString t=ui->lineEdit->text ();

qm=new QSqlQueryModel;

QSqlQuery q1=QString («SELECT Type, diagonal FROM table2 WHERE ID="+h);

qm->setQuery (q1);

ui->tableView2->setModel (qm);

qm->setHeaderData (0, Qt: Horizontal, QString: fromLocal8Bit («Π’ΠΈΠΏ»));

qm->setHeaderData (1, Qt: Horizontal, QString: fromLocal8Bit («Π”ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒ»));

qp=new QSqlQueryModel;

QSqlQuery p=QString («SELECT Quantity_in_a_warehouse, The_average_price FROM table3 WHERE ID="+t);

qp->setQuery (p);

ui->tableView3->setModel (qp);

qp->setHeaderData (0, Qt: Horizontal, QString: fromLocal8Bit («ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π° ΡΠΊΠ»Π°Π΄Π΅»));

qp->setHeaderData (1, Qt: Horizontal, QString: fromLocal8Bit («Π‘рСдняя Ρ†Π΅Π½Π° Ρ‚ΠΎΠ²Π°Ρ€Π°»));

}

НаиболСС Π²Π°ΠΆΠ½Ρ‹Π΅ части ΠΊΠΎΠ΄Π° находятся Π² «connect.h» ΠΈ «mainwinwow.cpp». Код ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…:

inline bool createConnection ()

{

QSqlDatabase db = QSqlDatabase: addDatabase («QSQLITE»);

db.setDatabaseName («F:/1 010 101/KypcoBa9/program/db1.db»);

if (!db.open ())

{

QMessageBox:critical (0," Connection error!" ," Connection failed!");

return false;

}

return true;

}

Π’ Π΄Π°Π½Π½ΠΎΠΉ части ΠΊΠΎΠ΄Π° прописываСтся Ρ‚ΠΈΠΏ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΆΠ΅ прописываСтся ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт Π΅Ρ‘.

Код Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ поиск ΠΈ Π²Ρ‹Π΄Π°Ρ‡Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΡΠΊΡ€Π°Π½:

ui->setupUi (this);

tab = new QSqlTableModel;

tab->setTable («table1»);

tab->select ();

tab->setHeaderData (0, Qt: Horizontal, QString: fromLocal8Bit («ID»));

tab->setHeaderData (1, Qt: Horizontal, QString: fromLocal8Bit («ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ «));

tab->setHeaderData (2, Qt: Horizontal, QString: fromLocal8Bit («ΠΠ°Π»ΠΈΡ‡ΠΈΠ΅»));

tab->select ();

ui->tableView->setModel (tab);

ui->tableView->hideColumn (0);

ui->tableView->resizeColumnsToContents ();

QString h=ui->lineEdit->text ();

QString t=ui->lineEdit->text ();

qm=new QSqlQueryModel;

QSqlQuery q=QString («SELECT Type, diagonal FROM table2 WHERE ID="+h);

qm->setQuery (q);

ui->tableView2->setModel (qm);

qp=new QSqlQueryModel;

QSqlQuery p=QString («SELECT Quantity_in_a_warehouse, The_average_price table3 WHERE ID="+t);

qp->setQuery (p);

ui->tableView3->setModel (qp);

}

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ пСрвая Ρ‚Π°Π±Π»ΠΈΡ†Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° «tableView» ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ с Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ Π½Π° Ρ€ΡƒΡΡΠΊΠΈΠΉ язык. Π”Π°Π»Π΅Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 2 ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ 3 Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ информация Π² «tableView 2» ΠΈ «tableView 3» соотвСтствСнно.

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ язык Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ Π±Π°Π·Π°

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π°Ρ поиск ΠΏΠΎ Π·Π°ΠΏΡ€ΠΎΡΡƒ ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ языка Π‘++.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы продСмонстрировала Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности языка Π‘++, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ срСды qt creator.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, смоТСт ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°ΠΌ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

«Kr.pro»:

QT += core gui

TARGET = program

TEMPLATE = app

QT += sql

SOURCES += main. cpp

«Connect.h»

#ifndef CONNECT_H

#define CONNECT_H

#include

#include

inline bool createConnection ()

{

QSqlDatabase db = QSqlDatabase: addDatabase («QSQLITE»);

db.setDatabaseName («C:/1 010 101/Denis Krash/Kr/db1.db»);

if (!db.open ())

{

QMessageBox:critical (0," Connection error!" ," Connection failed!");

return false;

}

return true;

}

#endif // CONNECT_H

«mainvindow.h»:

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include

#include

namespace Ui {

class MainWindow;

}

class MainWindow: public QMainWindow

{

Q_OBJECT

public:

explicit MainWindow (QWidget *parent = 0);

~MainWindow ();

protected:

void changeEvent (QEvent *e);

private:

Ui:MainWindow *ui;

QSqlTableModel *tab;

QSqlQueryModel *qm;

QSqlQueryModel *qp;

private slots:

void on_pushButton_clicked ();

void slot1();

};

#endif // MAINWINDOW_H

«main.cpp»:

#include

#include «mainwindow.h»

#include «connect.h»

#include

int main (int argc, char *argv[])

{

QApplication a (argc, argv);

if (!createConnection ())

{

QMessageBox:critical (0," Connection error!" ," Connection failed!");

return 1;

}

MainWindow w;

w.show ();

return a. exec ();

}

«mainwindow.cpp»:

#include «mainwindow.h»

#include «ui_mainwindow.h»

#include

MainWindow:MainWindow (QWidget *parent) :

QMainWindow (parent),

ui (new Ui: MainWindow)

{

ui->setupUi (this);

tab = new QSqlTableModel;

tab->setTable («table1»);

tab->select ();

tab->setHeaderData (0, Qt: Horizontal, QString: fromLocal8Bit («ID»));

tab->setHeaderData (1, Qt: Horizontal, QString: fromLocal8Bit («ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ»));

tab->setHeaderData (2, Qt: Horizontal, QString: fromLocal8Bit («ΠΠ°Π»ΠΈΡ‡ΠΈΠ΅»));

tab->select ();

ui->tableView->setModel (tab);

ui->tableView->resizeColumnsToContents ();

}

MainWindow:~MainWindow ()

{

delete ui;

}

void MainWindow: changeEvent (QEvent *e)

{

QMainWindow:changeEvent (e);

switch (e->type ()) {

case QEvent: LanguageChange:

ui->retranslateUi (this);

break;

default:

break;

}

}

void MainWindow: on_pushButton_clicked ()

{

}

void MainWindow: slot1()

{

QString h=ui->lineEdit->text ();

QString t=ui->lineEdit->text ();

qm=new QSqlQueryModel;

QSqlQuery q1=QString («SELECT Type, diagonal FROM table2 WHERE ID="+h);

qm->setQuery (q1);

ui->tableView2->setModel (qm);

qm->setHeaderData (0, Qt: Horizontal, QString: fromLocal8Bit («Π’ΠΈΠΏ»));

qm->setHeaderData (1, Qt: Horizontal, QString: fromLocal8Bit («Π”ΠΈΠ°Π³ΠΎΠ½Π°Π»ΡŒ»));

qp=new QSqlQueryModel;

QSqlQuery p=QString («SELECT Quantity_in_a_warehouse, The_average_price FROM table3 WHERE ID="+t);

qp->setQuery (p);

ui->tableView3->setModel (qp);

qp->setHeaderData (0, Qt: Horizontal, QString: fromLocal8Bit («ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½Π° ΡΠΊΠ»Π°Π΄Π΅»));

qp->setHeaderData (1, Qt: Horizontal, QString: fromLocal8Bit («Π‘рСдняя Ρ†Π΅Π½Π° Ρ‚ΠΎΠ²Π°Ρ€Π°»));}

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. Π›Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘++»

2. Jasmin Blanchette, Mark Summerfield, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ АндрСй ΠšΠΈΡΠ΅Π»Ρ‘Π² «Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° графичСского интСрфСйса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Qt3» ΠΊΠ½ΠΈΠ³Π° распространяСтся Π½Π° ΡƒΡΠ»ΠΎΠ²ΠΈΡΡ… Open Publication License, v1.0.

3. Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚, «ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠΎ C++», 4-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π”ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΈΠΊΠ°, Москва 2003 Π³, 800стр.

4. АлСксандр Π§ΠΈΡ€Ρ‚ΠΈΠΊ, «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++», ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠŸΠΈΡ‚Π΅Ρ€, 2010 Π³ΠΎΠ΄, 352стр.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ