ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠ°Ρ
Π‘ΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π° ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ 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ΡΡΡ.