рднрд╛рдЧ # 1рднрд╛рдЧ # 2рднрд╛рдЧ # рейрдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЪреМрдереЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо "рдбреЗрд╕реНрдХрдЯреЙрдк" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ
рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рддрдХрдиреАрдХ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рддрдВрддреНрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рджреЛрдиреЛрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рддрдВрддреНрд░ VCL рдореЗрдВ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред LiveBinding рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ, рдЬрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдирд┐рдпрдорд┐рдд рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрдкрд╛рджрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдкрддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рд╕реВрдЪреА рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рд╕реВрдЪреАред рдЗрди рд░реВрдкреЛрдВ рдХреЛ рдореБрдЦреНрдп рдлреЙрд░реНрдо рдореЗрдиреВ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рднреА рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рджреЛ TFDTable рдШрдЯрдХ рд░рдЦреЗрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ tblUnit рдФрд░ tblFoodstuff рдЯреЗрдмрд▓ (tblRecipe рдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рдорд╛рди) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдлрд╝реАрд▓реНрдб рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рд╕рднреА рдлрд╝реАрд▓реНрдб (рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЖрдЗрдЯрдо рд╕рднреА рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ) рдЬреЛрдбрд╝реЗрдВред
рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ рд╕рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдбреЗрдЯрд╛рд╕реЗрдЯ рдШрдЯрдХ
TDataSet рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╕реЗрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ,
TField рд╡рдВрд╢рдЬ (TtetegerField, TStringField, рдЖрджрд┐)ред рдлрд╝реАрд▓реНрдб рдХрд╛ рдПрдХ рд╕реЗрдЯ рдбрд┐рдЬрд╝рд╛рдЗрди-рдЯрд╛рдЗрдо (рдбрд┐рдЬрд╝рд╛рдЗрди-рдЯрд╛рдЗрдо) рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ "рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝реАрд▓реНрдб рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рднреМрддрд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк TFDTable рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдлрд╝реАрд▓реНрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрдЧрдгрд┐рдд (Caclulated) рдпрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд (LookUp) рдлрд╝реАрд▓реНрдбред рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рджреМрд░рд╛рди рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╕реЗ рдирд╣реАрдВ рд▓реА рдЬрд╛рдПрдЧреАред рдиреАрдЪреЗ рд╣рдо рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрджрд┐ рдлрд╝реАрд▓реНрдб рд╕реЗрдЯ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЛрдб рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдбреЗрдЯрд╛ рд╕реЗрдЯ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝реАрд▓реНрдб рд╕реЗрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдиреАрдЪреЗ рдпреВрдбреАрдПрдо.рдПрдлрдбреАрдПрдо рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдлреЙрд░реНрдо рдлрд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдФрд░ рдЙрдирд╕реЗ рдЬреБрдбрд╝реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИред рдлреЙрд░реНрдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ "рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВ" рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдкрд╛рдард╛рддреНрдордХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдлрд╝реЙрд░реНрдо рд╕рдмрдорд┐рд╢рди рдореЛрдб рдкрд░ рд▓реМрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, "рдлреЙрд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
object FDTUnits: TFDTable IndexFieldNames = 'Id' Connection = FDConnection1 UpdateOptions.UpdateTableName = 'tblUnit' TableName = 'tblUnit' Left = 112 Top = 208 object FDTUnitsId: TFDAutoIncField FieldName = 'Id' Origin = 'Id' ProviderFlags = [pfInWhere, pfInKey] ReadOnly = True end object FDTUnitsUnitName: TStringField FieldName = 'UnitName' Origin = 'UnitName' Required = True Size = 25 end object FDTUnitsAbbr: TStringField FieldName = 'Abbr' Origin = 'Abbr' Required = True Size = 7 end end
рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЛ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо ConnectToDB рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
function TDM.ConnectToDB: Boolean; begin try FDConnection1.Connected := True; FDTRecipe.Open; FDTUnits.Open; FDTFoodstuff.Open; except end; Result := FDConnection1.Connected; end;
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрдЧрд▓рд╛ рдХрджрдо рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ (рд╕реВрдЪреА) рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рд░реВрдк рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрдЧрд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рдПрдлрдПрдо рдПрдЪрдбреА рдкреНрд░рд╛рд░реВрдк рд╣реЛрдЧрд╛ред рд╕реНрдерд┐рддрд┐ рдЧреБрдг рдХрд╛ рдорд╛рди poMainFormCenter рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдпрд╣ рдлрд╝реЙрд░реНрдо рдореБрдЦреНрдп рд░реВрдк рдХреЗ рдмреАрдЪ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реВрдЪреА рдореЗрдВ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВ:
implementation {$R *.fmx} uses uDM;
рдкреНрд░рдкрддреНрд░ рдкрд░ TGrid, TPanel рдШрдЯрдХ рд░рдЦреЗрдВред рдкреИрдирд▓ рдореЗрдВ, рдмрдЯрди, рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдФрд░ рдЯреАрд▓рд╛рдмреЗрд▓ рд▓реЗрдмрд▓ рд░рдЦреЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрдЯрди рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрджреНрджреЗрд╢реНрдп рдлреЙрд░реНрдо рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реИред ModalResult рдЧреБрдг mrOk рдкрд░ рд╕реЗрдЯ рд╣реИред
рд╣рдо рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рджреГрд╢реНрдп рдШрдЯрдХреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВред рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
LiveBinding рдПрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП
, рд╣рдо рджреГрд╢реНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рд╛рде
рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдореЗрдВ,
рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдПрдХ рдРрд╕рд╛ рддрдВрддреНрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрдбрд╝реА рд▓рд┐рдВрдХ рд╕рдВрдХрд▓рд┐рдд рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд▓рдЪреАрд▓реЗ рднрд╛рд╡реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред
LiveBindings рддрдВрддреНрд░ рдкреНрд░реЗрдХреНрд╖рдХ рдкреИрдЯрд░реНрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, LiveBinding рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдСрдмреНрдЬреЗрдХреНрдЯ A рдХреА рдХреБрдЫ рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡, рд╡рд╕реНрддреБ B рдХреА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рджреНрд╡рд┐рджрд┐рд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рд╡реАрд╕реАрдПрд▓ рдорд╛рдирдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЯреЗрдмрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдбреАрдмреА-рдЙрдиреНрдореБрдЦ (рдбреАрдмреА-рдПрд╡реЗрдпрд░) рджреГрд╢реНрдп рдШрдЯрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЖрдкрдХреЛ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдВрддреНрд░рдг ("рдирд┐рдпрдВрддреНрд░рдг") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреГрд╢реНрдп рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд╛рдЗрд╡рдмрд┐рдиреНрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рддреИрдпрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЖрдЗрдП рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдзреНрдпрд╛рди рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦреЗрдВред
рдЗрд╕рд▓рд┐рдП,
рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдЦреЛрд▓реЗрдВ рдФрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ, FDTUnits рдХреЗ рдЕрдиреБрд░реВрдк рддрддреНрд╡ рдвреВрдВрдвреЗрдВред рдпрджрд┐ рдбреЗрдЯрд╛ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рддрддреНрд╡ рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рддрд╛рдЬрд╝рд╛ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ)ред рдЖрдЗрдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ UnitName рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде Edit1 рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рдкрд╛рда рдЧреБрдг рдХреЗ рдореВрд▓реНрдп рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк (рдбреНрд░реИрдЧ-рдПрди-рдбреНрд░реЙрдк) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ?
рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рдбрд┐рдЬрд╛рдЗрдирд░ рдиреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛, рдлреЙрд░реНрдо рдкрд░ рджреЛ рдирдП рдЧреИрд░-рджреГрд╢реНрдп рдШрдЯрдХ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП
TBindSourceDB рдШрдЯрдХ, рдореВрд▓ рдбреЗрдЯрд╛ рд╕реЗрдЯ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, DM.FDTUnits) рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рджреГрд╢реНрдп рдШрдЯрдХ рдФрд░ рдлрд╝реАрд▓реНрдб рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдореЗрдВ, DM.FDTUnits рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирдП BindSourceDB1 рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдлреЙрд░реНрдо рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред

рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ DataSet рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдХреНрдпрд╛ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ред рдЬреЛ рд▓реЛрдЧ "рдХреНрд▓рд╛рд╕рд┐рдХ рд╡реАрд╕реАрдПрд▓ рд╡рд┐рдХрд╛рд╕" рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ,
рдЙрдирдХреЗ рд▓рд┐рдП TBindSourceDB рдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ
TDataSource рдПрдирд╛рд▓реЙрдЧ рдХреЗ рд░реВрдк рдореЗрдВ
рд╕рдордЭрдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИред рдЖрдк рдХреЗрд╡рд▓ рдЗрд╕ рдШрдЯрдХ рдХреЛ рдлрд╝реЙрд░реНрдо рдкрд░ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЧреБрдг рдХрд╛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ "рд╕рдВрд▓рдЧреНрди" рдирд┐рдпрдВрддреНрд░рдгред рдХреЗрд╡рд▓ рдЕрдм рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреАрдмреА-рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐ рдХреЛрдИ рднреА рджреГрд╢реНрдп рдШрдЯрдХ рд╣реЛрдЧрд╛ред рдФрд░, рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдШрдЯрдХ рдХреА рдХреМрди рд╕реА рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ (рдФрд░ рд╕рдВрднрд╡рддрдГ рд╕рдВрд╢реЛрдзрд┐рдд) рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред
BindSourceDB1 рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлреЙрд░реНрдо рдкрд░ рдПрдХ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ - BindingsList1ред рдпрд╣ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рднрдВрдбрд╛рд░ рд╣реИред рдпреЗ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЖрдВрдХрдбрд╝реЗ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ
рдЯрд┐рдВрдбрдХреЙрдиреНрдЯреНрд░реЛрд▓рдЯреЛрдлрд┐рд▓реНрдб рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ
рдмрд┐рдВрджрд┐рдВрдЧрд▓рд┐рд╕реНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред

рдЖрдк рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдиреЗрдХреНрд╢рди рдХреЛ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ред

рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ рдХрдиреЗрдХреНрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреБрдЫ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдиреЗрдХреНрд╢рди рд╣реИрдВ рдЬреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ "рд╕рдм рдХреБрдЫ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ" рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдЕрдм рд╣рдо рдЧреНрд░рд┐рдб рдФрд░ BindNavigator рдХреЛ рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВрдЧреЗред BindNavigator рдШрдЯрдХ рдХреЗ рд▓рд┐рдП, рдмрд╕ DataSource рдЧреБрдг рд╕реЗрдЯ рдХрд░реЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, BindingsList1 рд▓рд┐рдВрдХ рд╕реВрдЪреА рдореЗрдВ рдХреЛрдИ рдирдпрд╛ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдЧреНрд░рд┐рдб рдХреЛ
рдмрд╛рдВрдзрддреЗ рд╣реИрдВ , рддреЛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╡рд╕реНрддреБ
TLinkGridToDataSourceBindSourceDB рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ ред

рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рд╣рдо рдЦреЗрддреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрд▓рдо рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдлрд╝реАрд▓реНрдб рд╕рдВрдкрд╛рджрдХ рдореЗрдВ, рд╕рднреА рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝реЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╡реИрд╕реЗ, рдпрд╣ рд╕рдВрдкрд╛рджрдХ TDBGrid рдореЗрдВ рдХреНрд╖реЗрддреНрд░ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП, рдЖрдк рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлрд╝реАрд▓реНрдб рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рд╢реАрд░реНрд╖рдХ рдкрд╛рдаред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдПрдХ рдирдпрд╛ рдлрд╝реАрд▓реНрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (CustomFormat рд╕рдВрдкрддреНрддрд┐) рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЖрдИрдбреА рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
DataSet.FieldByName('Id').AsString +" - "+DataSet.FieldByName('Abbr').AsString
рдКрдкрд░ рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░, LiveBinding рддрдВрддреНрд░ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдбрд┐рдЬрд╛рдЗрдирд░, рдмрджрд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рджреГрд╢реНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд▓реНрдкрдирд╛ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, LiveBinding рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдПрдХ рдФрд░ рдЪрд╛рд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдореЗрдВ, DM рддрддреНрд╡ рдХреЗ Abbr рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВред FDTUnits рдФрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рдирдП рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ...ред рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ, TEdit рдЪреБрдиреЗрдВред

"рдУрдХреЗ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдирдпрд╛ рдЯреАрдИрдбрд┐рдЯ рдХрдВрдЯреНрд░реЛрд▓ рдФрд░ рдЯреАрдПрд▓рдмреЗрд▓ рд▓реЗрдмрд▓ "рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ" рдЗрд╕реЗ рдлреЙрд░реНрдо рдкрд░ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦрдирд╛ рд╣реИ рдФрд░ рд▓реЗрдмрд▓ рдХреА рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИред

рд╣рдо рдореЗрдиреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЦреНрдп рдлрд╝реЙрд░реНрдо рд╕реЗ рд╕реВрдЪреА рд╕рдВрдкрд╛рджрди рд░реВрдкреЛрдВ рдХреА рдХреЙрд▓ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореБрдЦреНрдп рд░реВрдк рдкрд░, TMainMenu рдШрдЯрдХ рд░рдЦреЗрдВред рдореЗрдиреВ рд╕рдВрдкрд╛рджрдХ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдмрдирд╛рдПрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореЗрдиреВ рдЖрдЗрдЯрдо "рдорд╛рдк рдХреА рдЗрдХрд╛рдЗрдпрд╛рдВ" рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдСрдирдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
procedure TfMain.aSprUnitExecute(Sender: TObject); begin fSprUnits.ShowModal; end;
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╕реВрдЪреА рдкреНрд░рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
implementation {$R *.fmx} uses uAddRecipe, uSprUnit;
рдЖрдк рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдкреНрд░рдкрддреНрд░-рд╕реВрдЪреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рд▓рд╛рдЗрд╡рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдВрддреНрд░, рдЗрд╕рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред
рдЕрдЧрд▓реЗ рд╢реБрдХреНрд░рд╡рд╛рд░ рддрдХ!