рднрд╛рдЧ # 1рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдирдП
RAD Studio XE5 рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА
ред рдЖрдЬ, рдЪрд▓реЛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд▓реЛ рдХрд╛рд░реНрдп рдкрд░ рдлреИрд╕рд▓рд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди
рдХреБрдЫ рд╢реИрдХреНрд╖рдгрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдордиреЗ рдПрдХ рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ред рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдореМрд▓рд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдРрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ:
рдЖрд╡рд╢реНрдпрдХ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдкреБрдирд░реНрдЧрдгрдирд╛ред
рдЖрдорддреМрд░ рдкрд░, рд╡реНрдпрдВрдЬрдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕рдЯреАрдХ рдорд╛рддреНрд░рд╛ рдХрд╛ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рд╕рд░реНрд╡рд┐рдВрдЧреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ, рддрджрдиреБрд╕рд╛рд░, рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдПрдХ рдбрд┐рд╢ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдЯрд╛рдЗрдорд░ред
рдпрджрд┐ рдЖрдк рдЦрд╛рдирд╛ рдкрдХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрди рд╡реНрдпрдВрдЬрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рдордп рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЯреИрдмрд▓реЗрдЯ, рдлреЛрди рдпрд╛ рдиреЗрдЯрдмреБрдХ рдкрд░ рдЯрд╛рдЗрдорд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд░рд╕реЛрдИ рдЯрд╛рдЗрдорд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдмрди рд╕рдХрддрд╛ рд╣реИред
рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрдИ рдСрдкрд░реЗрд╢рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЕрдкрдирд╛ "рдЯрд╛рдЗрдорд░" рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЙрд╕реА рд╕рдордп, рд╣рдо "рдбреЗрд╕реНрдХрдЯреЙрдк" рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореЛрдмрд╛рдЗрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЛрдиреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреБрд╕реНрдЦрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдФрд░ рддреИрдпрд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдП рд╡реНрдпрдВрдЬрдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреБрдХрдмреБрдХ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреБрд╕реНрддрдХреЛрдВ рдХреА рддрд░рд╣, рдкрд╛рдардХреЛрдВ рдХреА рддреИрдпрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо "рдбрдореАрдЬ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдВрдЬрдиреЛрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕рдЯреАрдХ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╣реА рд╕рдордп рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред
рд╣рдо рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
рд╡рд┐рдВрдбреЛрдЬ рдФрд░
рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдлрд┐рд░, рдПрдХрд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдЖрдзрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
рдореИрдХрдУрдПрд╕ рдФрд░
рдЖрдИрдУрдПрд╕ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░ рдкрд╛рдПрдВрдЧреЗред
рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХреА рдкрд╕рдВрдж
рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдбреЗрдЯрд╛ рд╕рдмрд╕реЗ рддреЗрдЬреА рд╕реЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо
SQLite рдХреЛ DBMS рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдбреАрдмреАрдПрдордПрд╕ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЧрддрд┐, рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА, рд▓рд╛рдЧрдд-рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рд╕рд╣рд┐рдд рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВред рдпрд╣ рд╕рд░рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд
SQLite рд╕рдорд░реНрдерди рд╣реИред
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо
рдЗрдВрдЯрд░рдмреЗрд╕ рдбреАрдмреАрдПрдордПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░
рдЗрдордмрд╛рд░реНрдХреЗрд░реЛ рд╕реЗ "рджреЗрд╢реА" рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рднреА рдлрд╛рдпрджреЗ рджрд┐рдЦрд╛рдПрдВрдЧреЗред
рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде, рд╣рдо рдПрдХ рдЕрд▓рдЧ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдбреАрдмреАрдПрдордПрд╕ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рд░реНрдп рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИред
рдмреЗрд╢рдХ, рд╣рдореЗрдВ
рдбреЗрд▓реНрдлреА рдПрдХреНрд╕рдИ 5 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдо рдЦреБрдж рдХреЛ
рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рддрдерд╛рдХрдерд┐рдд рдХреЗ рд▓рд┐рдП рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕, рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЙрддреНрдкрд╛рдж рдХрд╛
рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рдЪрд╛рд╣рд┐рдПред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ,
рдбреЗрд▓реНрдлреА рдПрдХреНрд╕рдИ 5 рдкреНрд░реЛрдлреЗрд╢рдирд▓ рдХреЗ рд▓рд┐рдП рдореЛрдмрд╛рдЗрд▓ рдПрдб-рдСрди рдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╡рд┐рдВрдбреЛрдЬ рдкрд░
SQLite рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ
sqlite-dll-win32-x86-3080100.zip рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреАред рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд░рдЦрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ / рд╕рд┐рд╕реНрдЯрдо 32)ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐: рд╢реБрд▓реНрдХ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рди рдЙрдкрдХрд░рдг рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдЖрдк рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо
FireDAC рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВрдЧреЗред
FireDAC рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
FireDAC рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░рдХреЗ, рдЖрдк VCL рдФрд░ FireMonkey рджреЛрдиреЛрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд DBMSs рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
InterBase ,
SQLite ,
MySQL ,
SQL Serve r,
Oracle ,
PostgreSQL ,
DB2 ,
SQL Anywhere ,
рдПрдбрд╡рд╛рдВрдЯреЗрдЬ DB ,
Firebird ,
Access ,
Informix ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдлрд╛рдпрд░рдбреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди "рд╕реАрдзреЗ" (рдбреЗрдЯрд╛рд╕реНрдирд╛рдк рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛)
, рдЖрдк рдХреЗрд╡рд▓
SQLite рдФрд░
рдЗрдВрдЯрд░рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрдорд╛рдг
рд╣рдо рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдХрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рддрд╛рд░реНрдХрд┐рдХ рдореЙрдбрд▓ рдЖрд░реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рдЪрд╛рд░реНрдЯ Embarcadero Technologies - ER / Studio рдХреЗ рдПрдХ рдЕрдиреНрдп рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдЙрддреНрдкрд╛рдж рдХрд╛ рдбреЗрд╡рд▓рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рд░рд╛рдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, рд╣рдо рдИрдЖрд░ / рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗред рдпрд╣ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕рд╛рдордЧреНрд░реА рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╣рдХрджрд╛рд░ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рддреЗ рд╕рдордп, рддрд╛рд░реНрдХрд┐рдХ рдореЙрдбрд▓ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдореЗрдВ рдПрдХ рднреМрддрд┐рдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реЛрдЧреАред рдкрд░рд┐рдгрд╛рдореА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
TblFoodstuff рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣рдо рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд░рдЦреЗрдВрдЧреЗред
TblUnit рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА (рдЪрдирд╛, рдЪрдореНрдордЪ, рдХрд╛рдВрдЪ, рдЖрджрд┐)ред
TblRecipe рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рддрд╛рд▓рд┐рдХрд╛рдУрдВ
tblIngredientes рдФрд░
tblAction рдореЗрдВ
рдХреНрд░рдорд╢рдГ рд╕рд╛рдордЧреНрд░реА (
рдХреНрдпреВ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдорд╛рддреНрд░рд╛ рдХрд╛ рд╕рдВрдХреЗрдд) рдФрд░ рдХреНрд░рд┐рдпрд╛рдУрдВ (рд╕рдордп рдФрд░ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╕рдВрдХреЗрдд) рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИред
SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдмрд╕ рдиреАрдЪреЗ рджреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
CREATE TABLE [tblAction] ( [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [IdRc] INTEGER NOT NULL, [Sec] INTEGER NULL, [DescriptionShort] VARCHAR(128) NOT NULL, [DescriptionExtendent] TEXT NOT NULL ); CREATE TABLE [tblFoodstuff] ( [Id] INTEGER PRIMARY KEY AUTOINCREMENT NULL, [Abbr] VARCHAR(10) NULL, [Title] VARCHAR(50) NULL ); CREATE TABLE [tblIngredientes] ( [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [IdCB] INTEGER NOT NULL, [IdFS] INTEGER NOT NULL, [IdUnit] INTEGER NOT NULL, [qty] INTEGER NULL ); CREATE TABLE [tblRecipe] ( [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [Title] VARCHAR(150) NOT NULL ); CREATE TABLE [tblUnit] ( [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, [UnitName] VARCHAR(25) NOT NULL, [Abbr] VARCHAR(7) NOT NULL ); CREATE INDEX [IDX_TBLACTION_Recipe] ON [tblAction]( [IdRc] ASC ); CREATE INDEX [IDX_TBLINGREDIENTES_] ON [tblIngredientes]( [IdCB] ASC ); CREATE INDEX [idxFoodStuff] ON [tblIngredientes]( [IdFS] ASC ); CREATE INDEX [idxRecipe] ON [tblIngredientes]( [IdCB] ASC ); CREATE INDEX [idxUnit] ON [tblIngredientes]( [IdUnit] ASC );
рдПрдХ Windows рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдирд╛
рд╣рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рд╣рдо рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рджреЛрдиреЛрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЖрд╡реЗрджрди рдХреЗ рдореИрдХрдУрдПрд╕ рдФрд░ рдЖрдИрдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдЕрдВрддрд┐рдо рдЪрд░рдг рд╣реЛрдВрдЧреЗред рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рд╣рдо рдЙрдирдХреА рд░рдЪрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рдбреЗрд▓реНрдлреА рдЖрдИрдбреАрдИ рдХрдИ рдирдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо
FireMonkey Desktop Application рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

рдЙрдкрдпреБрдХреНрдд рдореЗрдиреВ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдирдП рдлрд╛рдпрд░рдореЛрдВрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреНрд░рдХрд╛рд░ - рдПрдЪрдбреА (рдЙрдЪреНрдЪ рдкрд░рд┐рднрд╛рд╖рд╛) рдпрд╛ 3 рдбреА рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореБрдЦреНрдп рд░реВрдк рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ (рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рд╣рдо рдирд╛рдо рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ) рдФрд░ рдирдП рдмрдирд╛рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реЗрдЬреЗрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВ (рдлрд╝рд╛рдЗрд▓ | рдбреЗрд▓реНрдлреА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдЦрд╛ рдХрд╛ рдЕрдиреНрдп рдореЗрдиреВ), рдирд╛рдо рдмрджрд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдФрд░ рд╕реАрдзреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ред
FireDAC рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
habrahabr.ru/topic/edit/200490/#рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рд╡рд╣ рд╣реИ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рдиред
FireMonkey рдореЗрдВ, рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ VCL рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред
рдЕрд╡рдпрд╡
TFDConnection ,
TFDGUIxWaitCursor рдФрд░
TFDPhysSQLiteDriverLink рдХреЛ DataModule рдореЗрдВ рд░рдЦреЗрдВ ред рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ, TFDConnection рдШрдЯрдХ рдХреА LoginPrompt рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдорд╛рди рдмрджрд▓реЗрдВ:
LoginPrompt = рдЧрд▓рдд
рдлрд╝реЙрд░реНрдо рдкрд░ рдПрдХ рдШрдЯрдХ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдбрд╛рдпрд▓реЙрдЧ рдЖрдПрдЧреАред

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
SQLite рдХреЛ рдЪрд╛рд▓рдХ рдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдЖрдк рдЯреЗрд╕реНрдЯ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд░рди рдЯрд╛рдЗрдо рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВред
function TDM.ConnectToDB: Boolean; begin try FDConnection1.Connected := True; except end; Result:= FDConnection1.Connected; end;
рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдореБрдЦреНрдп рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдмреБрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕рдХрд╛ рд╢реАрд░реНрд╖рдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗред
рдореБрдЦреНрдп рдЖрд╡реЗрджрди рдкрддреНрд░
рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рд░реВрдк рдкрд░, рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдШрдЯрдХ
TGroupBox ,
TTabControl рдФрд░
TSplitter рд░рдЦреЗрдВ ред рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╕рдВрд░реЗрдЦрд┐рдд рдЧреБрдг рд╕реЗрдЯ рдХрд░реЗрдВ (рдХреНрд░рдорд╢рдГ, alLeft, alLeft рдФрд░ alClient)ред рд╣рдо рдмрд╛рдПрдВ рдкреИрдирд▓ рдкрд░ рджреЛ рдШрдЯрдХ рд░рдЦрддреЗ рд╣реИрдВ - TListBox рдФрд░ TBindNavigatorред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рд░рдЦрддреЗ рд╣реИрдВред TTabControl рдШрдЯрдХ рдХреЗ рдмрд┐рдВрджреБ рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рджреЛ рдмрд┐рдВрджреБ рдмрдирд╛рдПрдВред

рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред рджрд╛рдИрдВ рдУрд░ рдЯреИрдм рдореЗрдВ рдбрд┐рд╢ рдХреЗ рдЕрд╡рдпрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ (рдорд╛рддреНрд░рд╛ рдХрд╛ рд╕рдВрдХреЗрдд) рдФрд░, рд╕реАрдзреЗ, рдиреБрд╕реНрдЦрд╛ рд╣реА, рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реВрдЪреА рд╕реЗ рдорд┐рд▓рдХрд░ред
рдбреЗрдЯрд╛ рдХрдиреЗрдХреНрд╢рди
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛, рдлрд╛рдпрд░рдореЙрдиреНрдХреА рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдШрдЯрдХ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп,
LiveBinding рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ TListBox рдШрдЯрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, рд╣рдо
TFDTable рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:

рд╣рдорд╛рд░реЗ ConnectToDB рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЛрдб рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рдЦреЛрд▓рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдХреЙрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
FDTRecipe.Open;
рд░рди рдЯрд╛рдЗрдо рдореЛрдб рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ConnectToDB рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреЙрд▓ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ OnCreate рдИрд╡реЗрдВрдЯ рдореЗрдВ рдмрд╛рдБрдз рд╕рдХрддреЗ рд╣реИрдВред
procedure TDM.DataModuleCreate(Sender: TObject); begin DM.ConnectToDB; end;
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреМрд░рд╛рди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓реЗрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╣рдо TRecipe рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реВрдЪреА рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдореБрдЦреНрдп рд░реВрдк рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВред
interface uses uDM, System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
рдкреНрд░рдкрддреНрд░ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ, рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдмрд┐рдВрдж рдиреЗрддреНрд░рд╣реАрди рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рд╕реНрдХреНрд░реАрди рдХреЗ рдиреАрдЪреЗ,
рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдЦреБрд▓рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ, рдЖрд░реЗрдЦ рддрддреНрд╡реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдЙрдирдХреЗ рдореВрд▓ рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╕ рдЦреАрдВрдЪрдиреЗ рдФрд░ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ, рд╣рдо рддреАрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рджрд░рдЕрд╕рд▓, рдпрд╣ рд╡рд╣ рд╕рдм рд╣реИ рдЬреЛ рд░реЗрд╕рд┐рдкреА рдЯреЗрдмрд▓ (рдпрд╛рдиреА рд░реЗрд╕рд┐рдкреА рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА) рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рд╣рдо рдЕрднреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЦрд╛рд▓реА рд╣реЛрдЧрд╛, рдФрд░ рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред
рдПрдХ рдирдпрд╛ FireMonkey HD рдлреЙрд░реНрдо рдмрдирд╛рдПрдБред рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
Name = fAddRecipe
BorderStyle = bsToolWindow
Position = poMainFormCenter
рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рдЯреАрдИрдбреАрдЖрдИрдЯреА рдШрдЯрдХ рдФрд░ рдлреЙрд░реНрдо рдкрд░ рджреЛ рдмрдЯрди рд▓рдЧрд╛рдПрдВред LiveBinding Designer рдореЗрдВ, рд╣рдо TEdit рдШрдЯрдХ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдЧреБрдг рдХреЛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╢реАрд░реНрд╖рдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рдирдпрд╛ рдлрд╝реЛрд░рдо рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЧрдП рдлрд╝реЙрд░реНрдо рдХреА рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ | рд╡рд┐рдХрд▓реНрдк рдореЗрдиреВ рдкреНрд░рдкрддреНрд░ рдЯреИрдм)ред
рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рд░реВрдк рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдВ:
procedure TfMain.RecipeAfterInsert(DataSet: TDataSet); var fAddRecipe: TfAddRecipe; begin try fAddRecipe:= TfAddRecipe.Create(Application); fAddRecipe.ShowModal; if fAddRecipe.ModalResult = mrOk then begin if DataSet.State in [dsInsert, dsEdit] then DataSet.Post; end else begin if DataSet.State in [dsInsert, dsEdit] then DataSet.Cancel; end; finally FreeAndNil(fAddRecipe); end; end;
рдЬрдм рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдиреБрд╕реНрдЦрд╛ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП AfterInsert рдШрдЯрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
procedure TfMain.FormShow(Sender: TObject); begin DM.FDTRecipe.AfterInsert:= RecipeAfterInsert; end;
рдЕрдм, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ, рд╣рдореЗрдВ рдЙрди рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирдпрд╛ рдиреБрд╕реНрдЦрд╛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рд╕реНрдХреНрд░реАрди рдкрд░ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рд░реВрдк рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓
рдлрд╛рдпрд░рдореЙрдиреНрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ред рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐
FireDAC рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХреИрд╕реЗ
рдЬреБрдбрд╝реЗрдВ рдФрд░
LiveBinding рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛ред
рдЕрдЧрд▓реЗ, рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк, рдЪрдХреНрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рд╣рдо
рдкрд╣рд▓рд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВрдЧреЗред
рд╣рдорд╛рд░реЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣реЗрдВ ...
рднрд╛рдЧ # рей