рднрд╛рдЧ # 1рднрд╛рдЧ # 2рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдПрдХ рдирдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ред
рдЪрдХреНрд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдХрд╛рд░реНрдп рдкрд░ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдлрдПрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬреЛ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ
FireDAC рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░
LiveBinding рдСрдмреНрдЬреЗрдХреНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рднреА рд╕рд╣рдордд рд╣реБрдП рдХрд┐ рдХрд╛рд░реНрдп рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рджреЛ рдХреЛрдб рдПрдХ рд╣реА рдХреЛрдб рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗред рдФрд░ рдЕрдм, рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рднрд╛рдЧ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ -
рдкрд╣рд▓рд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐
рдЖрд░рдПрдбреА рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЖрдкрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓ (рдЬреЗрдбреАрдХреЗ / рдПрд╕рдбреАрдХреЗ / рдПрдирдбреАрдХреЗ) рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдПрд╕рдмреА рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рднреА рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рд╕реЗ рдЖрдк рдПрдХ рдпреВрдПрд╕рдмреА рдЪрд╛рд▓рдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реЗ рдореЗрдВ рдЖрдк рд╡рд╛рдИ-рдлрд╛рдИ рдХреЗ рдЬрд░рд┐рдП рдбрд┐рдмрдЧрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдХрдИ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд╢реАрд░реНрд╖рдХ / рдкрд╛рдж рд▓реЗрдЦ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рджреЛ рдЯреВрд▓рдмрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдореЛрдмрд╛рдЗрд▓ рд░реВрдк рд╣реИред рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реЛрдЧрд╛ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореИрдирдлрд░ (рдЖрдИрдбреАрдИ рдХреЗ рдКрдкрд░реА рджрд╛рдПрдВ рдкреИрдирд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╕рдореВрд╣ рдореЗрдВ рджреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рддреБрд░рдВрдд рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреЙрд░реНрдо Google Nexus 4 рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдлреЙрд░реНрдо рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЗ рдКрдкрд░реА рджрд╛рдПрдВ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЯреИрдмрд▓реЗрдЯ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ Google Nexus 7 рдЪреБрдиреЗрдВрдЧреЗред рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢реАрд░реНрд╖рдХ рдкрд╛рда (рд╣реЗрдбрд░рд▓реЗрдмреЗрд▓ рдШрдЯрдХ рдХрд╛ рдкрд╛рда рдЧреБрдг) рдХреЛ рддреБрд░рдВрдд рдмрджрд▓ рджреЗрдВред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкрд╣рд▓рд╛ рд▓реЙрдиреНрдЪ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдордЭрддреЗ рд╣реИрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо USB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реЗ рдПрдХ рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрджреНрдпрдкрд┐ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ (рд╡рд╛рдИ-рдлрд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдпрд╛ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛)ред рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдиреЗ рдЯреИрдмрд▓реЗрдЯ рдпрд╛ рдлреЛрди рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ "рдбрд┐рд╡рд╛рдЗрд╕" рдХрд╛ рдирд╛рдо рд▓рдХреНрд╖реНрдп рдбрд┐рд╡рд╛рдЗрд╕ (рд▓рдХреНрд╖реНрдп) рдХреА рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рд╣рдо рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдЖрдкрдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред "рдбреЗрд╡рд▓рдкрд░ рдореЛрдб" рд╕рдХреНрд░рд┐рдп рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ
рд╡рд░реНрдгрд┐рдд рд╣реИ ред
рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╛рдорд╛рдиреНрдп "рдбреЗрд╕реНрдХрдЯреЙрдк" рдЕрдиреБрдкреНрд░рдпреЛрдЧ (F9 рдХреБрдВрдЬреА рджрдмрд╛рдХрд░) рдХреЗ рд╕рдорд╛рди рд╣реА рд▓реЙрдиреНрдЪ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рдЖрдк рдЕрдкрдиреЗ рдЯреИрдмрд▓реЗрдЯ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдореБрдЦреНрдп рд░реВрдк рджреЗрдЦреЗрдВрдЧреЗред
рдЕрдм рд╣рдо рдЙрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдореМрдЬреВрджрд╛
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдореЗрдиреВ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ |
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ ... )ред рдкрд╣рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рддрд░рд╣, рдореЙрдбреНрдпреВрд▓ рдХреЛ рдореБрдЦреНрдп рдлреЙрд░реНрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
implementation {$R *.fmx} uses uDM;
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдм рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣рдореЗрдВ рдЙрд╕реА рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдЬреЛ рд╣рдордиреЗ "рдбреЗрд╕реНрдХрдЯреЙрдк" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛:
function TDM.ConnectToDB: Boolean; begin try FDConnection1.Connected := True; FDTRecipe.Open; except end; Result:= FDConnection1.Connected; end; procedure TDM.DataModuleCreate(Sender: TObject); begin DM.ConnectToDB; end;
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЦреБрдж рдХреЛ рдмрдЪрд╛ рд▓рд┐рдпрд╛ред
рдореБрдЦреНрдп рдЖрд╡реЗрджрди рдкрддреНрд░
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдПрдХ рдЕрд▓рдЧ, рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╖рдп рд╣реИред рдЕрдХреНрд╕рд░, рдпрд╣ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ GUI рд╣реИ рдЬреЛ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдХрднреА-рдХрднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП "рдбреЗрд╕реНрдХрдЯреЙрдк" рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ
рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо "рдбреЗрд╕реНрдХрдЯреЙрдк" рдПрдХ рдХреА рдЫрд╡рд┐ рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдореБрдЦреНрдп рд░реВрдк рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛)ред рдШрдЯрдХ TPanel, TSplitter рдФрд░ TCalloutPanel рдХреЛ рдлреЙрд░реНрдо рдкрд░ рд░рдЦреЗрдВред рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ, рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓реЗрдВ:
Panel1: TPanel Align = alLeft Splitter1: TSplitter Align = alLeft Width = 16 CalloutPanel1: TCalloutPanel Align = alClient Width = 630 TabOrder = 4 CalloutPosition = cpLeft
рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
TListBox рдФрд░
TBindNavigator рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдмрд╛рдПрдВ рдкреИрдирд▓ рдореЗрдВ рд░рдЦреЗрдВрдЧреЗред
TTabControl рдХреЛ
TCalloutPanel рдШрдЯрдХ рдкрд░
рд░рдЦреЗрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╕рдВрд░реЗрдЦрд┐рдд рдЧреБрдг рд╕реЗрдЯ рдХрд░реЗрдВред
рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рддрд░рд╣, рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
LiveBinding рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрд╕реА рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, "рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдмрдирд╛рдХрд░ред
рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рддрд░рд╣, рд╣рдореЗрдВ рдиреБрд╕реНрдЦрд╛ рдХреЗ рдирд╛рдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣рдо рдПрдХ рдореЛрдбрд▓ рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдПрдХ рдЕрд▓рдЧ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдзреАрд░реЗ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣рд╛рдБ рд╣рдо рдПрдХ "рд╕рдВрд╡рд╛рдж" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реВрдк рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдирдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдлреЙрд░реНрдо рдмрдирд╛рдПрдБред рд╣рдо рдЙрд╕ рдкрд░ рдкреИрдирд▓ рд░рдЦреЗрдВрдЧреЗ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреИрдирд▓ рдкрд░ рд╣рдо рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЛ рд░рдЦ рджреЗрдВрдЧреЗ рдЬреЛ рд╣рдордиреЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдиреБрд╕реНрдЦрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рдкрд░ рд░рдЦрд╛ рдерд╛ (TEdit рдФрд░ рджреЛ рдмрдЯрди)ред рд╕рдВрд░реЗрдЦрд┐рдд рдЧреБрдг рдХрд╛ рдорд╛рди alCenter рд╣реИред рдмрдЯрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдореЛрдбрд╛рд▓рд╕реНрдХреВрд▓ рд╕рдВрдкрддреНрддрд┐ (mrOk рдФрд░ mrCancel) рдХрд╛ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░рдкрддреНрд░ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБ:
class procedure TfAddRecipe.ShowDialog(DataSet: TDataSet); begin fAddRecipe.ShowModal( procedure(ModalResult: TModalResult) begin if ModalResult= mrOk then begin if DataSet.State in [dsInsert, dsEdit] then DataSet.Post; fAddRecipe.Close; end else begin if DataSet.State in [dsInsert, dsEdit] then DataSet.Cancel; fAddRecipe.Close; end; end ); end;
рдЬрдм рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЕрдм рддрдХ рдХреЗ рдПрдХрдорд╛рддреНрд░ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрдлреНрдЯрд░рдЗрдВрдЯрд░ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред
procedure THeaderFooterForm.FormShow(Sender: TObject); begin DM.FDTRecipe.AfterInsert:= TfAddRecipe.ShowDialog; end;
рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ FDTRecipe рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдлрд╝реЙрд░реНрдо рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдРрд╕реЗ рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдлрд╝реЙрд░реНрдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЦрд╛рд╕рдХрд░ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм, рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реИред
Android рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░рд┐рдирд┐рдпреЛрдЬрди
рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдкрдиреЗ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ "рджреЗрдЦрдиреЗ" рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдмрдВрдзрдХ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ | рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЗрдиреВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ Android рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдбреАрдмрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрдпрдирд┐рдд рд╣реИред рд╢реАрд░реНрд╖ рдЯреВрд▓рдмрд╛рд░ рдкрд░ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдореЗрдВ, рдореВрд▓реНрдп
рдбрд┐рдмрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди -
рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ "рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ" рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рджреВрд░рд╕реНрде рдкрде рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ
рд╕рдВрдкрддреНрддрд┐ рджрд░реНрдЬ рдХрд░реЗрдВ, рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди Android рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рд╕рдВрдкрддреНрддрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
рдЖрд╡реЗрджрди рд╕рд╣рд╛рдпрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдлрд╝реАрд▓реНрдб рдореЗрдВ,
Android рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк Deploy рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рдЙрдард╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - FDConnection1 рдШрдЯрдХ рдХреА рдШрдЯрдирд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
procedure TDM.FDConnection1BeforeConnect(Sender: TObject); begin {$IFDEF ANDROID} FDConnection1.Params.Values['Database'] := '$(DOC)/db.s3db'; {$ENDIF} end;
рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрджреЗрд╢ {$ IFDEF ANDROID} рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдХреЛрдб рдХреЗрд╡рд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓реЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкрде рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред
рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реНрдХреНрд░реАрди рдкрд░ рд╣рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рдПрдирд╛рд▓реЙрдЧ рдорд┐рд▓рддрд╛ рд╣реИред
рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдкрд╣рд▓рд╛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдбреЗрд▓реНрдлреА рдореЗрдВ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реИ рдФрд░ "рдирд┐рдпрдорд┐рдд" рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдХрд┐рддрдирд╛ рдЕрд▓рдЧ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЬрдмрдХрд┐ рд╣рдордиреЗ рдХреЗрд╡рд▓ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдЬрд┐рдХ рдФрд░ рдЗрд╕рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рджреЛрдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рд╣рд░ рдЪреАрдЬ рдХрд╛ рдЕрдкрдирд╛ рд╕рдордп рд╣реЛрддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдФрд░
рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдВрддреНрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдкрд░ рдЧрд╣рд░рд╛рдИ рд╕реЗ
рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ ред
рд╣рдорд╛рд░реЗ рд╕рд╛рде рд░рд╣реЛред