PicoLisp рдкрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рдкрд╛рдардХ рдЖрд╡реЗрджрди рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдЯреНрдЯрд░рдкрдВрдереА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд╣реА рд░реВрдк рд╕реЗ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓реЗрдЦ рдмрд╣реБрдд рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЕрдЪреНрдЫрд╛рдИ рдФрд░ рдмреБрд░рд╛рдИ рдХреЗ рд╕рдВрддреБрд▓рди рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреЗрд╡рд▓ рд╣рд┐рдорд╢реИрд▓ рдХреА рдиреЛрдХ рдХреЛ рдкреНрд░рдХрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкрд┐рдХреЛ рд▓рд┐рд╕реНрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЯрд░реНрдирд▓реНрд╕, рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреВрдЯреЗрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рд╕рдВрдЧрдарди, рдбрд┐рдмрдЧрд┐рдВрдЧ, рдлрдВрдХреНрд╢рдирд▓ I / O, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХрдИ рд╡рд┐рд░рд╛рд╕рдд, PicoLisp Prolog рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдЕрдВрдХ рдмрдЪреЗ рд╣реБрдП рдереЗ ...

рдореБрдЭреЗ рдЕрднреА рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдШрд░реЗрд▓реВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрд╕ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреВрд▓ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рд╕рд╛рд╡рдзрд╛рдиреА, рдХрдЯ рдХреЗ рддрд╣рдд рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд╛рда рдФрд░ рдХреЛрд╖реНрдардХ!


abu@software-lab.de

PicoLisp рдкрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕


┬й рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓реИрдмред рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдмрд░реНрдЧрд░

рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ PicoLisp рдореЗрдВ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдЪрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

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

рд╕рд░рд▓ HTTP / HTML рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ: рдпрд╣ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ ("@ lib / scrape.l") рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЗрдЖрдЙрдЯ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░ рддреЗрдЬреА рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЬрд╡рд╛рдм рджреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдпрд╣ рдврд╛рдВрдЪрд╛ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реАрдПрд╕рдПрд╕ рдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ w3m рдЯреЗрдХреНрд╕реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рднреА рдкрд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред

PicoLisp рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА: PicoLisp рд╕рдВрджрд░реНрдн рдФрд░ PicoLisp рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ ред HTML рдФрд░ рдХреБрдЫ CSS рдФрд░ HTTP рдХрд╛ рдЬреНрдЮрд╛рди рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ PicoLisp рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ (рд╕реНрдерд╛рдкрдирд╛ рджреЗрдЦреЗрдВ) рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред




рд╕реНрдереИрддрд┐рдХ рдкреЗрдЬ


PicoLisp рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╕реНрдЯреЗрдЯрд┐рдХ HTML рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЕрдХреЗрд▓реЗ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реАрдзреЗ HTML рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдФрд░ рдЕрдиреНрдп рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛


рдПрдХ рдиреНрдпреВрдирддрдо рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PicoLisp рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ "project.l" рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рд▓рд╛рдЗрдиреЗрдВ рджрд░реНрдЬ рдХрд░реЗрдВред

 ######################################################################## (html 0 "Hello" "@lib.css" NIL "Hello World!" ) ######################################################################## 

(рд╣рдо рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рдореНрди рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЬрдм рднреА рдЖрдк рд▓рд╛рдЗрдиреЛрдВ ('#####') рдХреЗ рдмреАрдЪ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЗрд╕реЗ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдПрд▓" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ рдФрд░ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ "рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ"

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрд╡рд░ рд▓реЙрдиреНрдЪ


рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдВ рдФрд░ PicoLisp рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВ

 $ pil @lib/http.l @lib/xhtml.l @lib/form.l --server 8080 project.l + 

рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ред рд╕рд░реНрд╡рд░ рдКрдкрд░ рд╣реИ рдФрд░ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЖрдк рдЗрд╕ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ Ctrl-C рджрдмрд╛рдХрд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ ' killall pil ' рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред

(рдЖрдЧреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ HTTP рд╕рд░реНрд╡рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ)

рдЕрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ URL ' http: // localhost: 8080 ' рдЦреЛрд▓реЗрдВред рдЖрдкрдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рдкреГрд╖реНрда рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рдКрдкрд░ рдХреА рд▓рд╛рдЗрди рдбрд┐рдмрдЧрд░ (рд╡рд┐рдХрд▓реНрдк "+"), HTTP рд╕рд░реНрд╡рд░ рдХреЛрдб ("@ lib / http.l"), XHTML рдлрд╝рдВрдХреНрд╢рдВрд╕ ("@ lib / xhtml.l") рдФрд░ GUI рдлреНрд░реЗрдорд╡рд░реНрдХ ("@ lib / form.l") рдХреЛ рд▓реЛрдб рдХрд░рддреА рд╣реИ , рдпрд╣ рдмрд╛рдж рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛)ред

рдлрд┐рд░ server рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ URL рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреЛрд░реНрдЯ рдХреЛ рд╕реБрдиреЗрдЧрд╛ред рдЬрдм рднреА рдкреЛрд░реНрдЯ 8080 рдкрд░ GET рдХрд╛ рдЕрдиреБрд░реЛрдз рдЖрддрд╛ рд╣реИ, рддреЛ "project.l" рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд▓реЛрдб)

рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рд╡рд░реНрддрдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рдЪреИрдирд▓ (STDOUT) рдореЗрдВ рджрд░реНрдЬ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред "Project.l" рдореЗрдВ рдХреЛрдб HTML (рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЬреЛ рд╕рдордЭрддрд╛ рд╣реИ рдПрдХ рдФрд░ рдкреНрд░рд╛рд░реВрдк) рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред



URL рд╕рд┐рдВрдЯреИрдХреНрд╕


рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдпреВрдЖрд░рдПрд▓ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХрд░рддреЗ рд╕рдордп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдереЛрдбрд╝рд╛ рд╡рд┐рд╢реЗрд╖ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред URL рдХрд╛ "рдкрде" рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╣ рд╣реИ рдЬреЛ рдЯреНрд░рд┐рдорд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ


рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИред рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг:

рдХреЛрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди mime рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдмрд┐рдирд╛ *Mimes рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдпрд╛ рд╕рдВрд╢реЛрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

 (mime "doc" "application/msword" 60) 

рдПрдХ рдорд┐рдирдЯ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЖрдпреБ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдорд╛рдЗрдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдкрде рдФрд░ рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдХреЗ рдмрд╛рдж URL рдореЗрдВ рджрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХреЗ рдорд╛рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрдирдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд▓рд┐рд╕реНрдк рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:


рдЗрд╕ рддрд░рд╣, рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕реАрдзреЗ URL рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рд╕реБрд░рдХреНрд╖рд╛


рдмреЗрд╢рдХ, рдпрд╣ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реБрд░рдХреНрд╖рд╛ рдЫреЗрдж рд╣реИ рдпрджрд┐ рдХрд┐рд╕реА рднреА рд▓рд┐рд╕реНрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реАрдзреЗ рдпреВрдЖрд░рдПрд▓ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ URL рдореЗрдВ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рд╕рд░реНрд╡рд░ рд╡реИрд╢реНрд╡рд┐рдХ * рдЪреЗрдХ рдЪрд░ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЗрд╕рдХрд╛ рдореВрд▓реНрдп NIL рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЙрд╕ рдЪреАрдЬ рддрдХ рдкрд╣реБрдВрдЪ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреАред

рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ *Allow рд╕реАрдзреЗ рдмрджрд▓реЗрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрдордд рдФрд░ рдЕрдиреБрдордд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

 (allowed ("app/") "!start" "@lib.css" "customer.l" "article.l" ) 

рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЖрд╡реЗрджрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдкреНрд░рд╛рд░рдВрдн рдХрд╛рд░реНрдпреЛрдВ рдФрд░ @ lib.css, рдХрд╕реНрдЯреЛрдо рдХрд╕реНрдЯрдореЗрд▓ рдФрд░ рд▓реЗрдЦ.рдПрд▓ рдлрд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдмрд╛рдж рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ, *Allow рд╕рд╛рде рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

 (allow "!foo") (allow "newdir/" T) 

рдпрд╣ foo рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЕрдиреБрдордд рддрддреНрд╡реЛрдВ рдХреЗ рд╕реЗрдЯ рдореЗрдВ newdir / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдлрд╝рд╛рдЗрд▓ .pw


рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ psh рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдмрд╛рдж рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ), PicoLisp рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ ".pw" рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдордирдорд╛рдиреА рдбреЗрдЯрд╛ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ "@ lib / http.l" рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд pw рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИред

 $ pil @lib/http.l -'pw 12' -bye 

рдХреГрдкрдпрд╛ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдПрдВред



html рдлрд╝рдВрдХреНрд╢рди


рдЕрдм рд╣рдорд╛рд░реЗ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рд▓" рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ

 ######################################################################## (prinl "HTTP/1.0 200 OK^M") (prinl "Content-Type: text/html; charset=utf-8") (prinl "^M") (prinl "<html>") (prinl "Hello World!") (prinl "</html>") ######################################################################## 

рд▓реЗрдХрд┐рди html рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, html рдПрдХ рдкреНрд░рд┐рдВрдЯ рдлрдВрдХреНрд╢рди рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк PicoLisp Shell ( psh ) рдХреЛ рд╕рд░реНрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП ".pw" рдлрд╝рд╛рдЗрд▓ рдЬрдирд░реЗрдЯ рдХрд░рдиреА рдереА) рдФрд░ html рдлрд╝рдВрдХреНрд╢рди рджрд░реНрдЬ рдХрд░реЗрдВред

 $ /usr/lib/picolisp/bin/psh 8080 : (html 0 "Hello" "@lib.css" NIL "Hello World!") HTTP/1.0 200 OK Server: PicoLisp Date: Fri, 29 Dec 2006 07:28:58 GMT Cache-Control: max-age=0 Cache-Control: no-cache Content-Type: text/html; charset=utf-8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Hello</title> <base href="http://localhost:8080/"/> <link rel="stylesheet" type="text/css" href="http://localhost:8080/@lib.css"/> </head> <body>Hello World!</body> </html> -> </html> : # (type Ctrl-D here to terminate PicoLisp) 

html рд▓рд┐рдП рддрд░реНрдХ:

  1. 0 : рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреИрд╢ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдЖрдпреБ рдорд╛рди (рд╕реЗрдХрдВрдб рдореЗрдВ, рд╢реВрдиреНрдп рдХрд╛ рдЕрд░реНрде "рдиреЛ-рдХреИрд╢") рд╣реИред рдЖрдк рдЙрди рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдмрджрд▓рддреЗ рд╣реИрдВ, рдпрд╛ рдХреИрд╢ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП NIL ред
  2. "Hello" : рдкреГрд╖реНрда рдХрд╛ рдирд╛рдоред
  3. "@lib.css" : CSS рдлрд╝рд╛рдЗрд▓ рдирд╛рдоред рдпрджрд┐ рдЖрдк CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ NIL рдкрд╛рд╕ рдХрд░реЗрдВ, рдпрд╛ рдпрджрд┐ рдЖрдк рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ CSS рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреАред
  4. NIL : body рдЯреИрдЧ рдХреЗ рд▓рд┐рдП CSS рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ (рдиреАрдЪреЗ CSS рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВ)ред

рдЗрди рдЪрд╛рд░ рддрд░реНрдХреЛрдВ рдХреЗ рдмрд╛рдж, рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ рдкреГрд╖реНрда рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдЧрдгрдирд╛ рд╡рд┐рд╢реЗрд╖ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИред рдпреЗ рдирд┐рдпрдо рд╕рд╛рдорд╛рдиреНрдп рдЧрдгрдирд╛ рдирд┐рдпрдореЛрдВ рд╕реЗ рдереЛрдбрд╝реЗ рдЕрд▓рдЧ рд╣реИрдВ:


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдорд╛рд░реА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 ######################################################################## (html 0 "Hello" "@lib.css" NIL (prinl "Hello World!") ) ######################################################################## 

рд╕рдмрд╕реЗ рдЖрдо рдореБрджреНрд░рдг рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдХреБрдЫ HTML рдЯреИрдЧ рд╣реИрдВ:

 ######################################################################## (html 0 "Hello" "@lib.css" NIL (<h1> NIL "Hello World!") (<br> "This is some text.") (ht:Prin "And this is a number: " (+ 1 2 3)) ) ######################################################################## 

<h1> рдФрд░ <br> рдЯреИрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВред <h1> рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ CSS рд╡рд┐рд╢реЗрд╖рддрд╛ рд▓реЗрддрд╛ рд╣реИред

Ht рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ ht:Prin рдмрдЬрд╛рдп prin ред ht:Prin рдлрд╝рдВрдХреНрд╢рди рдХреЛ HTML рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рдореБрджреНрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рд╕реЗ рдмрдЪ рдЬрд╛рддрд╛ рд╣реИред



рд╕реАрдПрд╕рдПрд╕ рдЧреБрдг


рдКрдкрд░ html рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдХрдИ рдЯреИрдЧ рдлрд╝рдВрдХреНрд╢рди рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдПрдЯрдо, рдХреЙрдиреНрд╕ рдкреЗрдпрд░ рдпрд╛ рдХреЙрдиреНрд╕ рдкреЗрдпрд░ рдХреА рд▓рд┐рд╕реНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ <h1> рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред

рдПрдХ рдкрд░рдорд╛рдгреБ (рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЪрд░рд┐рддреНрд░ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдХреЛ рд╕реАрдПрд╕рдПрд╕ рд╡рд░реНрдЧ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИ

 : (<h1> 'foo "Title") <h1 class="foo">Title</h1> 

рдХрдВрд╕-рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП, CAR рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо рдФрд░ CDR рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ

 : (<h1> '(id . bar) "Title") <h1 id="bar">Title</h1> 

рдЗрд╕рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп рдЬреЛрдбрд╝реЗ рдХреА рд╕реВрдЪреА рд╡рд┐рд╢реЗрд╖рддрд╛-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рдПрдХ рд╕реЗрдЯ рджреЗрддреА рд╣реИ

 : (<h1> '((id . "abc") (lang . "de")) "Title") <h1 id="abc" lang="de">Title</h1> 



рдЯреИрдЧ рдХрд╛рд░реНрдп


рд╕рднреА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд XHTML рдЯреИрдЧ рдлрд╝рдВрдХреНрд╢рди "@ lib / xhtml.l" рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЙрдирдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдФрд░ PicoLisp рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ.l рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░реАрдлрд╝реНрд░реЗрд╢ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред

рдПрдХ рдЙрдкрдпреБрдХреНрдд PicoLisp рдХрдВрд╕реЛрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрд▓рдЧ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ PicoLisp Shell ( psh ) рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ (рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ рдФрд░ рдЖрдкрдиреЗ ".pw" рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рд╣реЛ)

 $ /usr/lib/picolisp/bin/psh 8080 : 

рдпрд╛ рдореЙрдбреНрдпреВрд▓ "@ lib / xhtml.l" рдХреЛ рд▓реЛрдб рдХрд░рдХреЗ рджреБрднрд╛рд╖рд┐рдпрд╛ рдЪрд▓рд╛рдПрдВ

 $ pil @lib/http.l @lib/xhtml.l + : 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрди рд╕рднреА рдЯреИрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЯреИрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдирд┐рдпрдо рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

рд╕рд░рд▓ рдЯреИрдЧ


рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреИрдЧ рдХрд╛рд░реНрдп рд╕рд░рд▓ рдФрд░ рд╕реАрдзреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕рд┐рд░реНрдл рдЕрдкрдиреА рджрд▓реАрд▓реЗрдВ рдЫрд╛рдкрддреЗ рд╣реИрдВред

 : (<br> "Hello world") Hello world<br/> : (<em> "Hello world") <em>Hello world</em> 

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ <h1> рдКрдкрд░)

 : (<div> 'main "Hello world") <div class="main">Hello world</div> : (<p> NIL "Hello world") <p>Hello world</p> : (<p> 'info "Hello world") <p class="info">Hello world</p> 

рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдШреЛрдВрд╕рд▓реЗ рдХреА рдЧрд╣рд░рд╛рдИ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЬрдм рддрдХ рдХрд┐ HTML рдорд╛рд░реНрдХрдЕрдк рд░рд╣рддрд╛ рд╣реИ)

 : (<div> 'main (<h1> NIL "Head") (<p> NIL (<br> "Line 1") "Line" (<nbsp>) (+ 1 1) ) ) <div class="main"><h1>Head</h1> <p>Line 1<br/> Line 2</p> </div> 

рд╕реВрдЪрд┐рдпреЛрдВ


<ol> рдФрд░ <ul> рдЯреИрдЧ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд HTML рд╕реВрдЪрд┐рдпрд╛рдБ рдЖрдкрдХреЛ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЛ "project.l" рдХреА рдХреЙрдкреА рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:

 ######################################################################## (html 0 "Unordered List" "@lib.css" NIL (<ul> NIL (<li> NIL "Item 1") (<li> NIL "Sublist 1" (<ul> NIL (<li> NIL "Item 1-1") (<li> NIL "Item 1-2") ) ) (<li> NIL "Item 2") (<li> NIL "Sublist 2" (<ul> NIL (<li> NIL "Item 2-1") (<li> NIL "Item 2-2") ) ) (<li> NIL "Item 3") ) ) ######################################################################## 

рдпрд╣рд╛рдВ рдЖрдк рдЗрд╕ рдкреЗрдбрд╝ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдореЗрдВ рдЕрдиреНрдп рдЯреИрдЧ рдХрд╛рд░реНрдпреЛрдВ рд╕рд╣рд┐рдд, рдордирдорд╛рдирд╛ рдХреЛрдб рднреА рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреЗрдмрд▓


рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рддрд░рд╣, рдЖрдк <table> рдФрд░ <row> рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ-рдЖрдпрд╛рдореА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╡рд░реНрдЧреЛрдВ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:

 ######################################################################## (html 0 "Table" "@lib.css" NIL (<table> NIL NIL NIL (for N 10 # A table with 10 rows (<row> NIL N (prin (* NN))) ) ) ) # and 2 columns ######################################################################## 

<table> рд▓рд┐рдП рдкрд╣рд▓рд╛ рддрд░реНрдХ рдирд┐рдпрдорд┐рдд CSS рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЗрдбрд░ рд╣реИ, рдФрд░ рддреАрд╕рд░рд╛ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдХреА рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реВрдЪреА рд╣реИред рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрдн рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪреА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░ рдореЗрдВ CSS рд╡рд┐рд╢реЗрд╖рддрд╛ рдФрд░ рд╕реНрддрдВрдн рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП CDR рдореЗрдВ рдПрдХ рдЯреИрдЧ рдирд┐рдХрд╛рдп рд╣реИред

рд╢рд░реАрд░ <table> рдореЗрдВ <row> рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреЙрд▓ рд╣реИрдВред рдлрд╝рдВрдХреНрд╢рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдХреЙрд▓рдо рдореЗрдВ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рд╕реНрддрдВрдн рд╢реАрд░реНрд╖рдХ рдФрд░ <row> рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ <td> рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдФрд░ рд╕реНрддрдВрдн рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдП рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ - CSS рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдРрд╕реА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдФрд░ рдлрд┐рд░ рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо <table> ), рджреЛрдиреЛрдВ рд╕реНрддрдВрднреЛрдВ рдХреЛ рджрд╛рдИрдВ рдУрд░ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рдЪрд░ (рд▓рд╛рд▓ рдФрд░ рдиреАрд▓реЗ) рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ

 ######################################################################## (html 0 "Table" "@lib.css" NIL (<table> '((width . "200px") (style . "border: dotted 1px;")) # table style "Square Numbers" # caption '((align "Number") (align "Square")) # 2 headers (for N 10 # 10 rows (<row> (xchg '(red) '(blue)) # red or blue N # 2 columns (prin (* NN) ) ) ) ) ) ######################################################################## 

рдпрджрд┐ рдЖрдк рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдПрдХ рд╕реЗрд▓ рдХрдИ рд╕реНрддрдВрднреЛрдВ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗ, рддреЛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ <row> рд░реВрдк рдореЗрдВ " - " рдкреНрд░рддреАрдХ рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдбреЗрдЯрд╛ рдХреЛ рджрд╛рдИрдВ рдУрд░ рд╡рд┐рд╕реНрддреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП " - " рд╡рд░реНрдгреЛрдВ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред

рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдЯреИрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реАрдзреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, <th> , <tr> рдФрд░ <td> ред

рдпрджрд┐ рдЖрдкрдХреЛ рдШрдЯрдХреЛрдВ рдХреА рджреЛ-рдЖрдпрд╛рдореА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдФрд░ рднреА рд╕рд░рд▓ <grid> рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 ######################################################################## (html 0 "Grid" "@lib.css" NIL (<grid> 3 "A" "B" "C" 123 456 789 ) ) ######################################################################## 

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

  (<grid> '(NIL NIL right) 

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рддреАрд╕рд░рд╛ рдХреЙрд▓рдо рджрд╛рдИрдВ рдУрд░ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореЗрдиреВ рдФрд░ рдЯреИрдм (рдЯреИрдм)


рджреЛ рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреИрдЧ рдлрд╝рдВрдХреНрд╢рди <menu> рдФрд░ <tab> ред рдЬрдм рдЕрд▓рдЧ рд╕реЗ рдпрд╛ рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдПрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрдирд╛рддреЗ рд╣реИрдВ


рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ URL рдПрдХ рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред l рдкреЗрдЬ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:

 ######################################################################## (html 0 "Menu+Tab" "@lib.css" NIL (<div> '(id . menu) (<menu> ("Item" "project.l") # Top level item (NIL (<hr>)) # Plain HTML (T "Submenu 1" # Submenu ("Subitem 1.1" "project.l") (T "Submenu 1.2" ("Subitem 1.2.1" "project.l") ("Subitem 1.2.2" "project.l") ("Subitem 1.2.3" "project.l") ) ("Subitem 1.3" "project.l") ) (T "Submenu 2" ("Subitem 2.1" "project.l") ("Subitem 2.2" "project.l") ) ) ) (<div> '(id . main) (<h1> NIL "Menu+Tab") (<tab> ("Tab1" (<h3> NIL "This is Tab 1") ) ("Tab2" (<h3> NIL "This is Tab 2") ) ("Tab3" (<h3> NIL "This is Tab 3") ) ) ) ) ######################################################################## 

<menu> рдореЗрдиреВ рдЖрдЗрдЯрдо рдХрд╛ рдПрдХ рдХреНрд░рдо рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдореЗрдиреВ рдЖрдЗрдЯрдо рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд▓рд┐рд╕реНрдк рд╕реВрдЪреА рд╣реИ:


<tab> рдЙрдкрдкреГрд╖реНрдареЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЗрд╡рд▓ рдЯреИрдм рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░ рдлрд┐рд░ рдордирдорд╛рдирд╛ рдХреЛрдб (рдЖрдорддреМрд░ рдкрд░ HTML рдЯреИрдЧ)ред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдореЗрдиреВ рдФрд░ рдПрдХ рдЯреИрдм рд╕рдХреНрд░рд┐рдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред



рдкрд░рд╕реНрдкрд░ рд░реВрдк


HTML рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ <form> рдФрд░ <input> рддрддреНрд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HTTP POST рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред

"@ Lib / xhtml.l" <post> рдирд╛рдордХ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЯреИрдЧ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ HTML рд░реВрдкреЛрдВ рдХреА рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдПрдВрдЧреЗ:

 ######################################################################## (html 0 "Simple Form" "@lib.css" NIL (<post> NIL "project.l" (<field> 10 '*Text) (<submit> "Save") ) ) ######################################################################## 

рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдЗрдирдкреБрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдлреАрд▓реНрдб рдХреЛ *Text рдЧреНрд▓реЛрдмрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗ рдмрд╛рдВрдзрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдорд╛рди *Text рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕рдмрдорд┐рдЯ рдмрдЯрди рдХреЛ " *Text рд╕рд╛рде" project.l "рджрдмрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреЛрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ред

рд░реВрдкреЛрдВ рдХреЗ рдЗрд╕ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  1. рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреГрд╖реНрда рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  2. рд╡реЗ рдЖрд╡реЗрджрди рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ POST рдЕрдиреБрд░реЛрдз рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрдиреНрдо рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ рдЙрдирдХреЗ рдирдП рдореВрд▓реНрдпреЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, HTML рдкреГрд╖реНрда рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЖрд╡реЗрджрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП <hidden> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
  3. рд╡реЗ рдмрд╣реБрдд рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдирд╣реАрдВ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ "рд╕рдмрдорд┐рдЯ" рдмрдЯрди рд╣реЛрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рднрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди) рдХреЗрд╡рд▓ "рд╕рдмрдорд┐рдЯ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рднрд╛рд╡реА рд╣реЛрдВрдЧреЗред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдордиреЗ рдЗрд╕ рд╢реИрд▓реА рдореЗрдВ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦреЗ рд╣реИрдВ, рд╣рдо тАЬ@ lib / form.lтАЭ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП GUI рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ, рдмрдЯрди рдПрдХреНрд╢рди рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░ рдХреЛ рдЕрдореВрд░реНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GUI рдШрдЯрдХреЛрдВ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред



рдЕрдзрд┐рд╡реЗрд╢рди


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рддреНрд░ (рдкреНрд░рддреНрдпреЗрдХ рдЬреБрдбрд╝реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП) рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рд╕реНрдерд╛рдпреА рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдпрд╣ рд╕рд░реНрд╡рд░ рдХреА рдПрдХ рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдКрдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдерд╛, рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ HTML рдкреЗрдЬ рднреЗрдЬрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░рдВрднреАрдХрд░рдг рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рди рдХрд╣реАрдВ app рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 ######################################################################## (app) # Start a session (html 0 "Simple Session" "@lib.css" NIL (<post> NIL "project.l" (<field> 10 '*Text) (<submit> "Save") ) ) ######################################################################## 

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

 $ pil @lib/http.l @lib/xhtml.l @lib/form.l --server 8080 project.l + : 

рдпреВрдирд┐рдХреНрд╕ ps рдпреВрдЯрд┐рд▓рд┐рдЯреА рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рджреЛ picolisp рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЕрдм рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рджреВрд╕рд░рд╛ рдХрд╛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдХреБрдЫ рдкрд╛рда рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкрд╛рда рдмреЙрдХреНрд╕ рдореЗрдВ "abcdef" рдХрд╣реЗрдВ, рдФрд░ рд╕рд╣реЗрдЬреЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ *Text рдЪрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ

 : *Text -> "abcdef" 

рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд░реНрдкрд┐рдд PicoLisp рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ "рдХрдиреЗрдХреНрдЯреЗрдб" рд╣реИред

рдЦрд╛рд▓реА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ Ctrl-D рджрдмрд╛рдХрд░ рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ (рдХрд┐рд╕реА рднреА PicoLisp рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ рдХреА рддрд░рд╣) рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдиреНрдпрдерд╛, рдпрд╣ рд╕реНрд╡рдпрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдпрджрд┐ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрдиреБрд░реЛрдз рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрд╡рдзрд┐ рдХреЗ рднреАрддрд░ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 5 рдорд┐рдирдЯ) рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг (рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛) рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдЖрдорддреМрд░ рдкрд░ "+" рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдФрд░ -wait рдмрд┐рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

 $ pil @lib/http.l @lib/xhtml.l @lib/form.l --server 8080 project.l -wait 

рдЗрд╕ рд░рди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреНрд░реЙрдореНрдкреНрдЯ (:) рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред



рдлреЙрд░реНрдо (рдХрд╛рд░реНрд░рд╡рд╛рдИ рд░реВрдкреЛрдВ)


рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рддреНрд░ рд╣реИ, рд╣рдо рд╕рдХреНрд░рд┐рдп GUI рдврд╛рдВрдЪреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо html рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ action рдореЗрдВ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВредрд╢рд░реАрд░ рдХреЗ рдЕрдВрджрд░, htmlрдЕрдиреНрдп рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреИрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВform

 ######################################################################## (app) # Start session (action # Action handler (html 0 "Form" "@lib.css" NIL # HTTP/HTML protocol (form NIL # Form (gui 'a '(+TextField) 10) # Text Field (gui '(+Button) "Print" # Button '(msg (val> (: home a))) ) ) ) ) ######################################################################## 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдм рдХреЛрдИ рд╡реИрд╢реНрд╡рд┐рдХ рд╡реИрд░рд┐рдПрдмрд▓ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ *Text, рдХрд┐рд╕реА рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдордиреЗ ` a` рдШрдЯрдХ рдХреЛ рдПрдХ рд╕реНрдерд╛рдиреАрдп, рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдирд╛рдо рджрд┐рдпрд╛+TextField

  (gui 'a '(+TextField) 10) # Text Field 

рдЕрдиреНрдп рдШрдЯрдХ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  '(msg (val> (: home a))) 

(: home)рд╣рдореЗрд╢рд╛ рдЙрд╕ GUI рдШрдЯрдХ рд╡рд╛рд▓реЗ рдлрд╝реЙрд░реНрдо рдХрд╛ рд▓рд┐рдВрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рддреЛ (: home a)- aрд╡рд░реНрддрдорд╛рди рд░реВрдк рдореЗрдВ рдШрдЯрдХ ' ' рдХрд╛ рд▓рд┐рдВрдХ ред рдЪреВрдВрдХрд┐ рд╕рдВрджреЗрд╢ STDERR рдореЗрдВ рдЕрдкрдирд╛ рддрд░реНрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдзрд┐ val>рдШрдЯрдХ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рдХрд╛рд▓рддреА рд╣реИ, рдЬрдм рд╣рдо рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдкрд╛рда рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рджреЗрдЦреЗрдВрдЧреЗред

рдЕрд▓рдЧ рд╕реЗ actionрдФрд░ formрдЬреНрдпрд╛рджрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдВрджрд░ htmlрдФрд░ form, рдЖрдк рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ HTML рдлрд╝рдВрдХреНрд╢рди (рдФрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд▓рд┐рд╕реНрдк рдлрд╝рдВрдХреНрд╢рди) рдХреЛ рдорд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреГрд╖реНрда рдореЗрдВ рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:

 (action # Action handler (html .. # HTTP/HTML protocol (<h1> ..) # HTML tags (form NIL # Form (<h3> ..) (gui ..) # GUI component(s) (gui ..) .. ) (<h2> ..) (form NIL # Another form (<h3> ..) (gui ..) # GUI component(s) .. ) (<br> ..) .. ) ) 

рд╕рдорд╛рд░реЛрд╣ gui


рд╢рд░реАрд░ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп formрдлрд╝рдВрдХреНрд╢рди рд╣реИ guiред рдпрд╣ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╣реИред

рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд╣рд░ form guiрдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдирд╛рдо рд╣реИ, рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА, рдФрд░ рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХред рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛

  (gui 'a '(+TextField) 10) # Text Field 

рдпрд╣рд╛рдБ ' a' рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо рд╣реИ (+TextField)ред рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрд░реНрдХ 10рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдЪреМрдбрд╝рд╛рдИ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддрд╛ рд╣реИред рдЬреАрдпреВрдЖрдИ рдХреНрд▓рд╛рд╕реЗрд╕ рдЪреИрдкреНрдЯрд░ рдореЗрдВ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ ред
GET рдЕрдиреБрд░реЛрдз guiрдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдорд╛ рд╣реИ newред рдпрд╣ рдШрдЯрдХ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рд░реВрдк рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдШрдЯрдХ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдХрд░ рдЗрд╕реЗ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ init>ред рдЕрдВрдд рдореЗрдВ, рд╡рд╣ show>HTML рдХреЛрдб рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред

POST рдЕрдиреБрд░реЛрдз рдХреЗ рджреМрд░рд╛рди, рдпрд╣ guiрдХрд┐рд╕реА рднреА рдирдП рдШрдЯрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореМрдЬреВрджрд╛ рдШрдЯрдХреЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, guiрд╕рдВрджреЗрд╢ рдШрдЯрдХ рднреЗрдЬрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ show>ред

рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣


HTTP рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ: GET рдФрд░ POSTред рд╣рдо рдЗрди рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:


рдмрдЯрди рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рдХреЛрдб рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрдврд╝реЗрдВ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВ, рд╕рдВрджреЗрд╢ рдФрд░ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреАрдИрдЯреА рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдПрдХ POST рдЕрдиреБрд░реЛрдз рдирдХрд▓реА рдХрд░реЗрдВ, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдПрдЧрд╛ (рджреЗрдЦреЗрдВ URL рдмрджрд▓реЗрдВ) рдкрддреЗ )ред

GET рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА GUI рдШрдЯрдХ рдмрдирд╛рддрд╛ рд╣реИред рдпреЗ рдШрдЯрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ HTML рдкреЗрдЬ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рднреА рдХреЛрдИ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреГрд╖реНрда рдХреЛ POST рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ - рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХреЛрдИ рднреА рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ - рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдлрдВрдХреНрд╢рди рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ actionред рдпрд╣ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреА рддреНрд░реБрдЯрд┐ рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдПрдХ HTML рдкреГрд╖реНрда рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░реВрдк (рдкрд╛рда, рд╕рдВрдЦреНрдпрд╛, рджрд┐рдирд╛рдВрдХ, рд╡рд╕реНрддреБ, рдЖрджрд┐) рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред

рд░реВрдк рдХреА рд╕реНрдерд┐рддрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдмрдиреА рд░рд╣рддреА рд╣реИред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рдмрдЯрди рдХреЗ рд╕рд╛рде рдкрд┐рдЫрд▓реЗ рдкреГрд╖реНрда рдкрд░ рд▓реМрдЯрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ (POST рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛) рднреЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

 ######################################################################## (app) (action (html 0 "Case Conversion" "@lib.css" NIL (form NIL (<grid> 2 "Source" (gui 'src '(+TextField) 30) "Destination" (gui 'dst '(+Lock +TextField) 30) ) (gui '(+JS +Button) "Upper Case" '(set> (: home dst) (uppc (val> (: home src))) ) ) (gui '(+JS +Button) "Lower Case" '(set> (: home dst) (lowc (val> (: home src))) ) ) ) ) ) ######################################################################## 

+Lock"рдЧрдВрддрд╡реНрдп" рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рдкрд╛рда рдбрд╛рд▓рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдмрдЯрди рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

URL рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ


рдЪреВрдВрдХрд┐ рдПрдХреНрд╢рди рдХреЛрдб (рдмрдЯрди) рдХреЛ htmlHTTP рд╣реЗрдбрд░ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдпрд╣ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдЫ рдФрд░ рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрд▓рдЧ HTML рдкреЗрдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд▓рд┐рдВрдХ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдХреЛрдб рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдбреЗрдЯрд╛ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкрд╛рда рдмреЙрдХреНрд╕ рдФрд░ рджреЛ рдмрдЯрди рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рд╕реА рднреА рдкрд╛рда рдХреЛ рдкрд╣рд▓реЗ рдмрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдпрд╛ рджреВрд╕рд░реЗ рдмрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

 ######################################################################## (load "@lib/ps.l") (app) (action (html 0 "Export" "@lib.css" NIL (form NIL (gui '(+TextField) 30 8) (gui '(+Button) "Text" '(let Txt (tmp "export.txt") (out Txt (prinl (val> (: home gui 1)))) (url Txt) ) ) (gui '(+Button) "PDF" '(psOut NIL "foo" (a4) (indent 40 40) (down 60) (hline 3) (font (14 . "Times-Roman") (ps (val> (: home gui 1))) ) (hline 3) (page) ) ) ) ) ) ######################################################################## 

(рдЬрдм рдЖрдк рдХрдХреНрд╖рд╛ +TextField(рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдБрдЪрд╛рдИ) рдХреЗ рд▓рд┐рдП рджреЛ рддрд░реНрдХ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ , рддреЛ рдПрдХ рддрддреНрд╡ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ textarea)

рдкрд╣рд▓реЗ рдмрдЯрди рдХрд╛ рдПрдХреНрд╢рди рдХреЛрдб рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ (рдпрд╛рдиреА, рдореМрдЬреВрджрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "Export.txt" рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓), рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдХреЗ рдорд╛рди рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рд╕рдордп) рд╣рдо рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рдирд╛рдо рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВ) рдФрд░ рдлрд┐рд░ urlрдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рджреВрд╕рд░рд╛ рдмрдЯрди @ foo.pdf рдирд╛рдордХ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП @ lib / ps.l рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди urlрдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ psOutред рдирддреАрдЬрддрди, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЕрд▓рд░реНрдЯ рдФрд░ рд╕рдВрд╡рд╛рдж


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрд▓рд░реНрдЯ рдФрд░ рд╕рдВрд╡рд╛рдж рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рд╣рдо рджреЗрдЦрддреЗ рдереЗ;;

рд╡реЗ рдкреЙрдкрдЕрдк рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ, рд╡реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрд╕рд╛рди рдЙрдкрдпреЛрдЧ рдХреЗ рдкреНрд░рдХрд╛рд░ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдмрдЯрди рдХреЛрдб рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рд╣рдореЗрд╢рд╛ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ рдЬреЛ рджреЛ рдЕрд▓рд░реНрдЯ рдФрд░ рдПрдХ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдпрд╣ рдПрдХ рд▓реЙрдХ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдФрд░ рджреЛ рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд░реВрдк рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ

 ######################################################################## (app) (action (html 0 "Alerts and Dialogs" "@lib.css" NIL (form NIL (gui '(+Init +Lock +TextField) "Initial Text" 20 "My Text") (gui '(+Button) "Alert" '(alert NIL "This is an alert " (okButton)) ) (gui '(+Button) "Dialog" '(dialog NIL (<br> "This is a dialog.") (<br> "You can change the text here " (gui '(+Init +TextField) (val> (: top 1 gui 1)) 20) ) (<br> "and then re-submit it to the form.") (gui '(+Button) "Re-Submit" '(alert NIL "Are you sure? " (yesButton '(set> (: home top 2 gui 1) (val> (: home top 1 gui 1)) ) ) (noButton) ) ) (cancelButton) ) ) ) ) ) ######################################################################## 

рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ +Initрд╕реНрдЯреНрд░рд┐рдВрдЧ "рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд╛рда" рдХреЗ рд╕рд╛рде "рдореЗрд░рд╛ рдкрд╛рда" рдлрд╝реАрд▓реНрдб рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдлрд╝реАрд▓реНрдб рд▓реЙрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдорд╛рди рд╕реАрдзреЗ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд╣рд▓рд╛ рдмрдЯрди рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛: "рдпрд╣ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ"ред рдЖрдк рдЗрд╕реЗ "рдУрдХреЗ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛ рдмрдЯрди рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореБрдЦреНрдп рдлреЙрд░реНрдо рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рд╕реЗ рдорд╛рди рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк "рдкреБрдирдГ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд▓рд┐рдП "рд╣рд╛рдБ" рдХрд╛ рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдорд╛рди рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЙрджрд╛рд╣рд░рдг


рдЕрдм рд╣рдорд╛рд░реА рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдПрд▓" рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрд░реНрдпрд╛рдкреНрдд рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рд╣рдордиреЗ рдЬреЛ рд╕реАрдЦрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдПрдХ рд╕рд░рд▓ рдмрд┐рдЧреНрдирдо рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред ("рдмрд┐рдЧреНрдирдо" рдХреНрдпреЛрдВрдХрд┐ PicoLisp рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ - bignums (рдЕрд╕реАрдорд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ))

рдпрд╣ рдПрдХ рдлреЙрд░реНрдо, рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдФрд░ рдХрдИ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб PicoLisp рд╡рд┐рддрд░рдг рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "/usr/share/picolisp/misc/calc.l") рд╕реАрдзреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╡рд░рдг "misc / calcc" рдХреЗ рд╕рд╛рдеред
calc.l
 # 14may11abu # (c) Software Lab. Alexander Burger # *Init *Accu *Stack (allowed NIL "!calculator" "@lib.css") (load "@lib/http.l" "@lib/xhtml.l" "@lib/form.l") # Calculator logic (de digit (N) (when *Init (zero *Accu) (off *Init)) (setq *Accu (+ N (* 10 *Accu))) ) (de calc () (let (Fun (caar *Stack) Val (cddr (pop '*Stack))) (setq *Accu (if (and (== '/ Fun) (=0 *Accu)) (alert "Div / 0") (Fun Val *Accu) ) ) ) ) (de operand (Fun Prio) (when (>= (cadar *Stack) Prio) (calc)) (push '*Stack (cons Fun Prio *Accu)) (on *Init) ) (de finish () (while *Stack (calc)) (on *Init) ) # Calculator GUI (de calculator () (app) (action (html 0 "Bignum Calculator" "@lib.css" NIL (<h2> NIL "Bignum Calculator") (form NIL (<br> (gui '(+Var +NumField) '*Accu 60)) (<grid> 4 (gui '(+JS +Button) "┬▒" '(setq *Accu (- *Accu))) (gui '(+Able +JS +Button) '(ge0 *Accu) (char 8730) '(setq *Accu (sqrt *Accu)) ) (gui '(+JS +Button) "\^" '(operand '** 3)) (gui '(+JS +Button) "/" '(operand '/ 2)) (gui '(+JS +Button) "7" '(digit 7)) (gui '(+JS +Button) "8" '(digit 8)) (gui '(+JS +Button) "9" '(digit 9)) (gui '(+JS +Button) "*" '(operand '* 2)) (gui '(+JS +Button) "4" '(digit 4)) (gui '(+JS +Button) "5" '(digit 5)) (gui '(+JS +Button) "6" '(digit 6)) (gui '(+JS +Button) "-" '(operand '- 1)) (gui '(+JS +Button) "1" '(digit 1)) (gui '(+JS +Button) "2" '(digit 2)) (gui '(+JS +Button) "3" '(digit 3)) (gui '(+JS +Button) "+" '(operand '+ 1)) (gui '(+JS +Button) "0" '(digit 0)) (gui '(+JS +Button) "C" '(zero *Accu)) (gui '(+JS +Button) "A" '(main)) (gui '(+JS +Button) "=" '(finish)) ) ) ) ) ) # Initialize (de main () (on *Init) (zero *Accu) (off *Stack) ) # Start server (de go () (server 8080 "!calculator") ) 


рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, PicoLisp рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВ

 $ misc/calc 

рдпрд╛ рдЗрд╕реЗ рдПрдХ рдирд┐рд░рдкреЗрдХреНрд╖ рдкрде рдХреЗ рд╕рд╛рде рдХрд╣рддреЗ рд╣реИрдВ

 $ /usr/share/picolisp/misc/calc 

рдпрджрд┐ рдЖрдк рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ PicoLisp рд╕рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╢реБрд░реВ рдХрд░реЗрдВ

 $ pil misc/calc.l -main -go + 

рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЦреЛрд▓реЗрдВ, рдкреГрд╖реНрда ' http: // localhost: 8080 'ред

рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рд▓реЙрдЬрд┐рдХ рдФрд░ GUI рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ calculatorред рдЗрд╕реЗ рд╕реАрдзреЗ ( URL рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рд╡рд░реНрдгрд┐рдд ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд░реНрд╡рд░ URL рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ рджреВрд╕рд░рд╛, POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо "misc / calc.l" рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЕрдиреБрдордд рд╡рд┐рд╡рд░рдг рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ )

 (allowed NIL "!calculator" "@lib.css") 

рдпрд╣ рдПрдХ рдПрдХрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░реЗрдЧрд╛ calculatorред

рдХреИрд▓рдХреНрдпреВрд▓реЗрдЯрд░ рддреАрди рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ *Init, *AccuрдФрд░ *Stackред *Init- рдСрдкрд░реЗрдЯрд░ рдмрдЯрди рджреНрд╡рд╛рд░рд╛ рдмреВрд▓рд┐рдпрди рдзреНрд╡рдЬ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЕрдЧрд▓рд╛ рдЕрдВрдХ рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рдмреИрдЯрд░реА рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░реЗрдЧрд╛ред *Accu- рдмреИрдЯрд░реА (рд╕рдВрдЪрдп рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдпреЛрдЬрдХ)ред рдЗрд╕рдХрд╛ рдорд╛рди рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧрдгрдирд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред *Stackрдпрд╣ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рд▓рдВрдмрд┐рдд рдЧрдгрдирд╛рдУрдВ (рдСрдкрд░реЗрдЯрд░реЛрдВ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдФрд░ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рд┐рдгрд╛рдореЛрдВ) рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреЛрд░ рд╕реНрдЯреИрдХ рд╣реИ, рдЬрдмрдХрд┐ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдЧрдгрдирд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдлрд╝рдВрдХреНрд╢рди digitрдХреЛ рдирдВрдмрд░ рдмрдЯрди рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмреИрдЯрд░реА рдореЗрдВ рдПрдХ рдФрд░ рдЕрдВрдХ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдлрд╝рдВрдХреНрд╢рди calcрдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧрдгрдирд╛ рдХрджрдо рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рд╕реНрдЯреИрдХ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд╢реВрдиреНрдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

operandрдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рдмрдЯрди, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ред рдпрд╣ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рдХрдо рд╣реИ, рддреЛ рдЧрдгрдирд╛ рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред

finishрдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ calculatorрдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рд╣реИ, 60 рд╡рд░реНрдг рдЪреМрдбрд╝рд╛

  (gui '(+Var +NumField) '*Accu 60) 

рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ +VarрдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддрд╛ рд╣реИ *Accuред рдЗрд╕ рдЪрд░ рдореЗрдВ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдЗрд╕ рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╡рд░реНрдЧрдореВрд▓ рдмрдЯрди рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ рд╣реЛрддрд╛ рд╣реИ +Able

  (gui '(+Able +JS +Button) '(ge0 *Accu) (char 8730) '(setq *Accu (sqrt *Accu)) ) 

рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдмреИрдЯрд░реА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдмрдЯрди рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдлреЙрд░реНрдо рдХрд╛ рдмрд╛рдХреА рдмрдЯрди рдХрд╛ рдПрдХ рд╕рд░рдгреА (рдЬреАрдЖрд░рдЖрдИрдбреА) рд╣реИ рдЬреЛ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирдВрдмрд░ рджрд░реНрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдСрдкрд░реЗрдЯрд░ рдмрдЯрди рд╕реЗ рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдорд░реНрдерд┐рдд рдСрдкрд░реЗрд╢рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШрдЯрд╛рд╡, рдЧреБрдгрд╛, рднрд╛рдЧ, рд╕рд╛рдЗрди рд░рд┐рд╡рд░реНрд╕рд▓, рд╡рд░реНрдЧрдореВрд▓ рдФрд░ рдПрдХреНрд╕рдкреЗрдХреНрдЯреЛрд░рд┐рдПрд╢рди (рд╕рднреА рдСрдкрд░реЗрд╢рди рд▓рдВрдмреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдЕрдВрдХрдЧрдгрд┐рдд рдореЗрдВ рд╣реИрдВ)ред рдмрдЯрди ` C` рдХреЗрд╡рд▓ рдмреИрдЯрд░реА рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдмрдЯрди ' A' рд╕рднреА рд▓рдВрдмрд┐рдд рдЧрдгрдирд╛рдУрдВ рдХреЛ рднреА рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдХреЛрдб рдХреА 53 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдпрд╣ рд╕рдм!



рдЯреЗрдмрд▓ (рдЪрд╛рд░реНрдЯ)


рдЪрд╛рд░реНрдЯ - рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛ рдХреА рдЖрдВрддрд░рд┐рдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд╕реА рдШрдЯрдХред

рдЖрдорддреМрд░ рдкрд░, рдпрд╣ рдбреЗрдЯрд╛ рдиреЗрд╕реНрдЯреЗрдб рд╕реВрдЪрд┐рдпреЛрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдЪрдпрдиреЛрдВ рдпрд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рддрд╛рд▓рд┐рдХрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдЪрд╛рд░реНрдЯ рдЖрдкрдХреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ (рдЖрдорддреМрд░ рдкрд░ HTML рддрд╛рд▓рд┐рдХрд╛рдУрдВ ) рдореЗрдВ рдбреЗрдЯрд╛ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ , рдЙрдиреНрд╣реЗрдВ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рджреГрд╢реНрдп GUID рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЪрд╛рд░реНрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рддрд░реНрдХ рд╕рднреА рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдкрд░ рдПрдХ рдорд╣рд╛рди рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ GUI рдШрдЯрдХ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЕрдкрдбреЗрдЯ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рджреМрд░рд╛рди рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░реНрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдиреНрдпреВрдореЗрд░рд┐рдХ рдбреЗрдЯрд╛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ

 ######################################################################## (app) (action (html 0 "Table" "@lib.css" NIL (form NIL (<table> NIL NIL '((NIL "Text") (NIL "Number")) (do 4 (<row> NIL (gui '(+TextField) 20) (gui '(+NumField) 10) ) ) ) (<submit> "Save") ) ) ) ######################################################################## 

рджреЛ рдХреЙрд▓рдо "рдЯреЗрдХреНрд╕реНрдЯ" рдФрд░ "рд╕рдВрдЦреНрдпрд╛" рдФрд░ рдЪрд╛рд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ +TextFieldрдФрд░ +NumFieldред

рдЖрдк рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдирдВрдмрд░ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЗрд╡ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрди рдорд╛рдиреЛрдВ рдХреЛ рдШрдЯрдХреЛрдВ рдкрд░ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛ рдпрджрд┐ рджреВрд╕рд░рд╛ рдХреЙрд▓рдо рдореЗрдВ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ)ред

рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  1. рдпрджреНрдпрдкрд┐ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
     : (val> (get *Top 'gui 2)) # Value in the first row, second column -> 123 

    рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдПрдХрд▓ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реАрдзрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рд╕рднреА рдЬреАрдпреВрдЖрдИ рдШрдЯрдХреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
  2. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреА рдЪрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдЪрд╛рд░реНрдЯ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ:

 ######################################################################## (app) (action (html 0 "Chart" "@lib.css" NIL (form NIL (gui '(+Chart) 2) # Inserted a +Chart (<table> NIL NIL '((NIL "Text") (NIL "Number")) (do 4 (<row> NIL (gui 1 '(+TextField) 20) # Inserted '1' (gui 2 '(+NumField) 10) ) ) ) # Inserted '2' (<submit> "Save") ) ) ) ######################################################################## 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ +ChartGUI рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдШрдЯрдХ рдбрд╛рд▓рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЪрд╛рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рддрд░реНрдХ "2" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЪрд╛рд░реНрдЯ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рджреЛ рд╕реНрддрдВрднреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдиреЗ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдирдВрдмрд░ (рдпрд╣рд╛рдВ "1" рдФрд░ "2") рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ gui, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдШрдЯрдХ рдЪрд╛рд░реНрдЯ рдХреЗ рдЕрдВрджрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдм - рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдореЗрдВ "a", "b" рдФрд░ "c" рджрд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ 1, 2 рдФрд░ 3 - рд╣рдо рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдХрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкреВрд░реА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВval>

 : (val> (get *Top 'chart 1)) # Retrieve the value of the first chart -> (("a" 1) ("b" 2) ("c" 3)) 

рд╡реИрд╕реЗ, рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рд░реНрдп рд╣реИ chart

 : (val> (chart)) # Retrieve the value of the current chart -> (("a" 1) ("b" 2) ("c" 3)) 

chart рдЙрдкрд░реЛрдХреНрдд рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рд╣рдо "рд╡рд░реНрддрдорд╛рди" рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд╕реНрдХреНрд░реЙрд▓


рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдмрдЯрди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╣рдо рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ +UpButtonрдФрд░+DnButton

 ######################################################################## (app) (action (html 0 "Scrollable Chart" "@lib.css" NIL (form NIL (gui '(+Chart) 2) (<table> NIL NIL '((NIL "Text") (NIL "Number")) (do 4 (<row> NIL (gui 1 '(+TextField) 20) (gui 2 '(+NumField) 10) ) ) ) (gui '(+UpButton) 1) # Inserted two buttons (gui '(+DnButton) 1) (----) (<submit> "Save") ) ) ) ######################################################################## 

рдПрдХ рдХреНрд▓рд┐рдХ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рддрд░реНрдХ "1")ред

рдЕрдм рдЖрдк рдбреЗрдЯрд╛ рдХреА рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред "рд╕рд╣реЗрдЬреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╕реНрдХреНрд░реЙрд▓ рдмрдЯрди рдХреЗ рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдХреЛ рдЫреЛрдбрд╝рдХрд░), рдХреНрдпреЛрдВрдХрд┐ рдлрд╝реЙрд░реНрдо рдореЗрдВ рдХреЛрдИ рднреА рдмрдЯрди рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рднреЗрдЬрддрд╛ рд╣реИред

рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдВ


рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдХрд╣рд╛, рдЪрд╛рд░реНрдЯ рд╕рд╛рд░рдгреАрдмрджреНрдз рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрднрд╛рд╕реА рдШрдЯрдХ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЪрд╛рд░реНрдЯ рдХрд╛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рд╕рдмрд▓рд┐рд╕реНрдЯ рдПрдХ рдбреЗрдЯрд╛ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рддрддреНрд╡ рдПрдХ GUID рдШрдЯрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЬреИрд╕реЗ рдХрд┐

  ("a" 1) 

рддреБрд▓рдирд╛

  (gui 1 '(+TextField) 20) (gui 2 '(+NumField) 10) 

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рдПрдХ-рд╕реЗ-рдПрдХ рд╕рдВрдмрдВрдз рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд░реВрдкреЛрдВ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд╛рд░реНрдЯ "рдХреЙрд▓рдо рдХреА рд╕рдВрдЦреНрдпрд╛" рддрд░реНрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рддрд░реНрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рдЬреАрдпреВрдЖрдИ рдШрдЯрдХреЛрдВ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдЬреАрдпреВрдЖрдИ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

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

рдЕрдм, рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ: рдЪрд╛рд░реНрдЯ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ (рдЬрд░реНрдорди рдореЗрдВ) рдХрд╛ рдкрд╛рда рд░реВрдк рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред

 ######################################################################## (app) (load "@lib/zahlwort.l") (action (html 0 "Numerals" "@lib.css" NIL (form NIL (gui '(+Init +Chart) (1 5 7) 2 '((N) (list N (zahlwort N))) car ) (<table> NIL NIL '((NIL "Numeral") (NIL "German")) (do 4 (<row> NIL (gui 1 '(+NumField) 9) (gui 2 '(+Lock +TextField) 90) ) ) ) (gui '(+UpButton) 1) (gui '(+DnButton) 1) (----) (<submit> "Save") ) ) ) ######################################################################## 

"@ Lib / zahlwort.l" рдПрдХ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ zahlwort, рдЬреЛ рдмрд╛рдж рдореЗрдВ 'рдкреБрдЯ' рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд╛рдо рдЖрдПрдЧрд╛ред zahlwortрдПрдХ рдирдВрдмрд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЬрд░реНрдорди рдореЗрдВ рдЕрдкрдирд╛ рдирд╛рдо рджреЗрддрд╛ рд╣реИред

рдЕрдм рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ

  (gui '(+Init +Chart) (1 5 7) 2 '((N) (list N (zahlwort N))) car ) 

рд╣рдо рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ +InitрдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ +ChartрдФрд░ рдЗрд╕реЗ (1 5 7)рдЪрд╛рд░реНрдЯ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪреА рджреЗрддреЗ рд╣реИрдВ ред рдлрд┐рд░, '2' рдХреЗ рдмрд╛рдж (рдЪрд╛рд░реНрдЯ рдореЗрдВ рджреЛ рдХреЙрд▓рдо рд╣реИрдВ), рд╣рдо рдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:

  '((N) (list N (zahlwort N))) 

рдЬреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрд╕рдХреЗ рдирд╛рдо рдХреА рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ

  car ) 

рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдРрд╕реА рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдВрдмрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╕реВрдЪреА рдХрд╛ рдкрд╣рд▓рд╛ рддрддреНрд╡ рд╣реЛрдЧрд╛ред

рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ "get" "put" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд▓реЛрдо рд╣реИред "рдЪрд╛рд░реНрдЯ" рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕рдореЗрдВ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ (рдпрд╛ рдХреЗрд╡рд▓ рдмрдВрдж рд╣реИ)ред

рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рдлреАрд▓реНрдб

  (gui 2 '(+Lock +TextField) 90) ) ) ) 

рдЕрд╡рд░реБрджреНрдз рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкрд╛рда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЬрдм рдЖрдк рдЗрд╕ рдлрд╝реЙрд░реНрдо рдХреЛ рдХрд┐рд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ (1 5 7)рдХрдХреНрд╖рд╛ рдХреЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, "1 / eins", "5 / f├╝nf" рдФрд░ "7 / sieben" рдХреЗ рд╕рд╛рде рддреАрди рдкреВрд░реНрд╡-рднрд░реА рд╣реБрдИ рд▓рд╛рдЗрдиреЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА +Initред рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдирдВрдмрд░ рджрд░реНрдЬ рдХрд░рдиреЗ рдФрд░ ENTER рдХреБрдВрдЬреА рдпрд╛ рдХрд┐рд╕реА рдПрдХ рдмрдЯрди рдХреЛ рджрдмрд╛рдХрд░, рдЖрдкрдХреЛ рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЯреЗрдХреНрд╕реНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред



рдЬреАрдпреВрдЖрдИ рдХрдХреНрд╖рд╛рдПрдВ


рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдпреЛрдВ рдореЗрдВ, рд╣рдордиреЗ GUI рд╡рд░реНрдЧреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗ, рдЬреИрд╕реЗ рдХрд┐ +TextField, +NumFieldрдпрд╛ +Button, рдЕрдХреНрд╕рд░ рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ +Lock, +Initрдпрд╛ +Ableред рдЕрдм рд╣рдо рд╕рдВрдкреВрд░реНрдг рдкрджрд╛рдиреБрдХреНрд░рдо рдкрд░ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рд╕рд╛рд░ рд╡рд░реНрдЧ +guiрд╕рднреА GUI рд╡рд░реНрдЧреЛрдВ рдХреА рдиреАрдВрд╡ рд╣реИред рд╡рд░реНрдЧ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд╛рд░реНрдпреЛрдВ рд▓рд╛рдЗрд╡ рд░рд╡рд╛рдирдЧреА ( ┬лрдирд┐рд░реНрднрд░рддрд╛"):
рдЧреБрдИ рд╢реНрд░реЗрдгреА рдкрджрд╛рдиреБрдХреНрд░рдо
 : (dep '+gui) +gui +JsField +Button +UpButton +PickButton +DstButton +ClrButton +ChoButton +Choice +GoButton +BubbleButton +DelRowButton +ShowButton +DnButton +Img +field +Checkbox +TextField +FileField +ClassField +numField +NumField +FixField +BlobField +DateField +SymField +UpField +MailField +SexField +AtomField +PwField +ListTextField +LinesField +TelField +TimeField +HttpField +Radio -> +gui 


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ +DnButtonрдПрдХ рдЙрдкрд╡рд░реНрдЧ рдХреНрдпрд╛ рд╣реИ +Button, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рдЙрдкрд╡рд░реНрдЧ рд╣реИ +guiред рд╕реАрдзреЗ рдирд┐рд░реАрдХреНрд╖рдг+DnButton

 : (dep '+DnButton) +Tiny +Rid +JS +Able +gui +Button +DnButton -> +DnButton 

рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рджреЗрдЦрдиреЗ +DnButtonрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА +Tiny, +Rid, +AbleрдФрд░ +Buttonред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛ +DnButton"@ lib / form.l" рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ

 (class +DnButton +Tiny +Rid +JS +Able +Button) ... 

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, тАЬ@ lib / form.lтАЭ рдЬреАрдпреВрдЖрдИ рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╕рдВрджрд░реНрдн рд╣реИ рдФрд░ рдЗрд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб


рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ, рдЗрдирдкреБрдЯ рдФрд░ рдмрджрд▓рдиреЗ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ рдХрд╛ рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрдиреБрдорддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

HTML рд╕реНрддрд░ рдкрд░, рд╡реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:


рдЪреЗрдХ рдмреЙрдХреНрд╕ рдЙрд╕ рд╡рд░реНрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдЪреЗрдХрдмреЙрдХреНрд╕ , рдЗрди рд╕рднреА рдПрдЪрдЯреАрдПрдордПрд▓-рдЙрддреНрдкрдиреНрди рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ +TextFieldрдФрд░ рдЕрдкрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрд╡рд░реНрдЧреЛрдВ, рдЬреИрд╕реЗ +NumField, +DateFieldрдЖрджрд┐ рдЙрдирдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрд╕реНрдерд┐рддрд┐ (рдЙрдкрд░реЛрдХреНрдд рд░реВрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ) рдЙрдирдХреЗ рддрд░реНрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ:

рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА "рд╕рд╛рдорд╛рдиреНрдп" рдкрд╛рда рдлрд╝реАрд▓реНрдб рджреЗрдЦреЗ рд╣реИрдВред рд╡реЗ рдПрдХ рдПрдХрд▓ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╣реИрдВред рдпрд╣ рдЙрджрд╛рд╣рд░рдг 10 рд╡рд░реНрдгреЛрдВ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝реАрд▓реНрдб рдмрдирд╛рддрд╛ рд╣реИ:

  (gui '(+TextField) 10) 

рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, '4'), рддреЛ рдЖрдкрдХреЛ рдЯреЗрдХреНрд╕реНрдЯрд░реА рдорд┐рд▓реЗрдЧрд╛:

  (gui '(+TextField) 10 4) 

рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрдЬрд╛рдп рдореВрд▓реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдХреЙрдореНрдмреЛрдХреНрд╕ рджреЗрддрд╛ рд╣реИ:

  (gui '(+TextField) '("Value 1" "Value 2" "Value 3")) 

рдЗрди рддрд░реНрдХреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд╝реАрд▓реНрдб рдХреЛ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

  (gui '(+TextField) 10 "Plain") (gui '(+TextField) 10 4 "Text Area") (gui '(+TextField) '("Value 1" "Value 2" "Value 3") "Selection") 

рдЕрдВрдд рдореЗрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрд░реНрдХ рдХреЗ, рдореИрджрд╛рди рд╕рд╛рджреЗ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, HTML:

  (gui '(+TextField)) 

рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП +VarрдФрд░ +Obj, HTML рд▓рд┐рдВрдХ рдпрд╛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рддрд╛рд▓рд┐рдХрд╛ рдорд╛рди рдЬреИрд╕реЗ рд╡рд┐рд╢реЗрд╖ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП, рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ ред

рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб


+NumFieldрдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЙрд╕рдХреА рд╡рд┐рдзрд┐ рдореЗрдВ рджреЗрддрд╛ рд╣реИ val>рдФрд░ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд▓реЗрддрд╛ рд╣реИ set>ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рдирдВрдмрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рддреЛ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИред

рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рд╡рд┐рднрд╛рдЬрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

 ######################################################################## (app) (action (html 0 "+NumField" "@lib.css" NIL (form NIL (gui '(+NumField) 10) (gui '(+JS +Button) "Print value" '(msg (val> (: home gui 1))) ) (gui '(+JS +Button) "Set to 123" '(set> (: home gui 1) 123) ) ) ) ) ######################################################################## 

+FixFieldрдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХ рд╕реНрдХреЗрд▓-рдлреИрдХреНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдлрд┐рдХреНрд╕реНрдб-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ / рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИред

рджрд╢рдорд▓рд╡ рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред

 ######################################################################## (app) (action (html 0 "+FixField" "@lib.css" NIL (form NIL (gui '(+FixField) 3 10) (gui '(+JS +Button) "Print value" '(msg (format (val> (: home gui 1)) 3)) ) (gui '(+JS +Button) "Set to 123.456" '(set> (: home gui 1) 123456) ) ) ) ) ######################################################################## 

рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ


+DateFieldрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдХрд╛рд░ рдХреА рддрд╛рд░реАрдЦ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ ред

 ######################################################################## (app) (action (html 0 "+DateField" "@lib.css" NIL (form NIL (gui '(+DateField) 10) (gui '(+JS +Button) "Print value" '(msg (datStr (val> (: home gui 1)))) ) (gui '(+JS +Button) "Set to \"today\"" '(set> (: home gui 1) (date)) ) ) ) ) ######################################################################## 

рджрд┐рдирд╛рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рд╡рд░реНрддрдорд╛рди рд▓реЛрдХреЗрд▓ ( рдбреЗрдЯрд╛рд╕реНрд░ рдФрд░ рдПрдХреНрд╕рдкреЗрдбреИрдЯ рджреЗрдЦреЗрдВ ) рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ред рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ

 : (locale "DE" "de") -> NIL 

рдпрджрд┐ рдХреЛрдИ рд╕реНрдерд╛рди рдЪрдпрдирд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╛рд░реВрдк YYYY-MM-DD рд╣реИред рдХреБрдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реНрдерд╛рди DD.MM.YYYY (DE), YYYY / MM / DD (JP), DD / MM / YYYY (UK), рдпрд╛ MM / DD / YYYY (US) рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рдХреЗ рджрд┐рдирд╛рдВрдХ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдбрд╛рд▓реА рдЬрд╛рддреА рд╣реИред

рднрд▓реЗ рд╣реА рд╕реНрдерд╛рдиреАрдп, +DateFieldрд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реЛ:


рдПрдХ рд╕рдорд╛рди рд╡рд░реНрдЧ рд╣реИ +TimeFieldред рдпрд╣ рд╕рдордп рдорд╛рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рджреЗрддрд╛ рд╣реИ ред

 ######################################################################## (app) (action (html 0 "+TimeField" "@lib.css" NIL (form NIL (gui '(+TimeField) 8) (gui '(+JS +Button) "Print value" '(msg (tim$ (val> (: home gui 1)))) ) (gui '(+JS +Button) "Set to \"now\"" '(set> (: home gui 1) (time)) ) ) ) ) ######################################################################## 

рдЬрдм рдХреНрд╖реЗрддреНрд░ рдХреА рдЪреМрдбрд╝рд╛рдИ "8" рд╣реИ, рддреЛ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордп рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ HH:MM:SSред рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдп - "5", +TimeFieldрдлреЙрд░реНрдо рдореЗрдВ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ HH:MMред

рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рд╕рдордп рдорд╛рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдбрд╛рд▓реА рдЬрд╛рддреА рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЕрдзреВрд░рд╛ рдЗрдирдкреБрдЯ рддрд┐рдерд┐ рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрддрд╛ рд╣реИред "125" рдХреЛ "12:05", '124517' рдХреЛ "12:45:17" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЯреЗрд▓реАрдлреЛрди рдирдВрдмрд░


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

рдлреЛрди рдирдВрдмрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, +TelFieldрджреЗрд╢ рдХреЛрдб рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рд╕реЗ рджреЗрд╢ рдХреЛрдб рд╣реИ, рдпрд╛ рдпрджрд┐ рдпрд╣ рдПрдХ рд╡рд┐рджреЗрд╢реА рджреЗрд╢ рдХреЛрдб рд╣реИ ( рдЯреЗрд▓рд╕реНрдЯреНрд░реАрдо рджреЗрдЦреЗрдВ ) рдкреНрд▓рд╕ рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд░реАрдЬрд░реНрд╡ рдХрд░реЗрдВ ред

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

 ######################################################################## (app) (locale "DE" "de") (action (html 0 "+TelField" "@lib.css" NIL (form NIL (gui '(+TelField) 20) (gui '(+JS +Button) "Print value" '(msg (val> (: home gui 1))) ) (gui '(+JS +Button) "Set to \"49 1234 5678-0\"" '(set> (: home gui 1) "49 1234 5678-0") ) ) ) ) ######################################################################## 

рдЪреЗрдХ рдмреЙрдХреНрд╕


рдХрдХреНрд╖рд╛ +Checkboxрд╕рд░рд▓ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдпрд╣ рдПрдХ рдмреВрд▓рд┐рдпрди рдореВрд▓реНрдп ( NILрдпрд╛ рдЧреИрд░- NIL) рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд░рд┐рдЯрд░реНрди Tрдпрд╛ NILред

 ######################################################################## (app) (action (html 0 "+Checkbox" "@lib.css" NIL (form NIL (gui '(+Checkbox)) (gui '(+JS +Button) "Print value" '(msg (val> (: home gui 1))) ) (gui '(+JS +Button) "On" '(set> (: home gui 1) T) ) (gui '(+JS +Button) "Off" '(set> (: home gui 1) NIL) ) ) ) ) ######################################################################## 



рдлреАрд▓реНрдб рдЙрдкрд╕рд░реНрдЧ рдХрдХреНрд╖рд╛рдПрдВ


рдЬреАрдпреВрдЖрдИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕ рдкреНрд░реАрдлрд┐рдХреНрд╕ рдХреЗ рдХреЙрдореНрдмреАрдиреЗрдЯрд░рд┐рдпрд▓ рд▓рдЪреАрд▓реЗрдкрди рджреНрд╡рд╛рд░рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡реЗ рдЖрдкрдХреЛ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдПрдХ 'рдкрд░рд┐рдЪрд╛рд▓рди рддрд░реАрдХреЗ' рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдЖрдорддреМрд░ рдкрд░ рд╡реЗ Tрддрд░реНрдХ рд╕реВрдЪреА рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ gui(рдПрдХ рд╡рд┐рдзрд┐ TрдПрдХ рд░рдЪрдирд╛рдХрд╛рд░ рд╣реИ (рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рджреНрд╡рд╛рд░рд╛ рдЯрд┐рдкреНрдкрдгреА)ред

рдкреНрд░рд╛рд░рдВрдн


+Initinit>рдЗрд╕ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ ред рдЬрдм рдкреГрд╖реНрда рдкрд╣рд▓реА рдмрд╛рд░ (GET рдЕрдиреБрд░реЛрдз рдХреЗ рджреМрд░рд╛рди) рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдШрдЯрдХ init>рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ +guiред +InitрдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓реЗрддрд╛ рд╣реИред

  (gui '(+Init +TextField) "This is the initial text" 30) 

рдЕрдиреНрдп рдХрдХреНрд╖рд╛рдПрдВ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВ +Var(рдлрд╝реАрд▓реНрдб рдХреЛ рдПрдХ рдЪрд░ рд╕реЗ +E/RрдЬреЛрдбрд╝рдирд╛ ) рдФрд░ (рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдлрд╝реАрд▓реНрдб рдХреЛ рдЬреЛрдбрд╝рдирд╛)ред

+CueрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЖрд╡рд╢реНрдпрдХ" рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕ рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдПрдВрдЧрд▓ рдмреНрд░реИрдХреЗрдЯреНрд╕ рдореЗрдВ рддрд░реНрдХ рдХреЗ рдореВрд▓реНрдп рдХреЛ рддрднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ рдЬрдм рдлреАрд▓реНрдб рд╡реИрд▓реНрдпреВ рдмрд░рд╛рдмрд░ рд╣реЛ NILрдФрд░ рд╡рд┐рдзрд┐ val>рд╡рд╛рдкрд╕ рдЖрдП NIL, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

"<рдпрд╣рд╛рдВ рдкрд╛рда рджрд░реНрдЬ рдХрд░реЗрдВ>" рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдлрд╝реАрд▓реНрдб рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ:

  (gui '(+Cue +TextField) "Please enter some text here" 30) 

рд╕рдХреНрд╖рдо рдФрд░ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ


GUI рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрджрд░реНрдн-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЕрдХреНрд╖рдорддрд╛ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдпрд╛ рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╣реИред

+Ableрд╡рд░реНрдЧ рдЙрдкрд╕рд░реНрдЧ рдПрдХ рддрд░реНрдХ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдШрдЯрдХ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рд╡рд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИ NILред рд╣рдордиреЗ рдПрдХ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдмрдЯрди рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛ ред рдпрд╛ рдПрдХ рдмрдЯрди рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рдХреНрд░рд┐рд╕рдорд╕ рдХреЗ рдмрд╛рдж рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

  (gui '(+Able +Button) '(>= (cdr (date (date))) (12 24)) "Close this year" '(endOfYearProcessing) ) 

рдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдлрд╝реАрд▓реНрдб, рдЬреЛ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдХреНрд╖рдо рд╣реИ

  (gui '(+Able +PwField) '(not *Login) 10 "Password") 

рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рдЙрдкрд╕рд░реНрдЧ рд╣реИ +Lock, рдЬреЛ рдШрдЯрдХ рдХреЛ рдмрд┐рдирд╛ рд╢рд░реНрдд рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рддрд░реНрдХреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

  (gui '(+Lock +NumField) 10 "Count") 

("10" рдФрд░ "рдЧрдгрдирд╛" рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рд╣реИрдВ +NumField) рдФрд░ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдмрдирд╛рддрд╛ рд╣реИред рдЧреИрд░- рддрд░реНрдХ

рд╕реЗ рдХреЙрд▓ рдХрд░рдХреЗ рдкреВрд░реЗ рдлреЙрд░реНрдо рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рд░реВрдк рдореЗрдВ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдХреНрд░рд┐рд╕рдорд╕ рд╕реЗ рдкрд╣рд▓реЗ рд░реАрдб-рдУрдирд▓реА рдлреЙрд░реНрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВdisableNIL

  (form NIL (disable (> (12 24) (cdr (date (date))))) # Disable whole form (gui ..) .. ) 

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЙрдХ рдХрд┐рдП рдЧрдП рдлреЙрд░реНрдо рдореЗрдВ, рдЕрдХреНрд╕рд░ рдХреБрдЫ рдШрдЯрдХреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди, рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдпрд╛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдлреЙрд░реНрдо рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ +Ridред

  (form NIL (disable (> (12 24) (cdr (date (date))))) (gui ..) .. (gui '(+Rid +Button) ..) # Button is enabled despite the disabled form .. ) 

рд╕реНрд╡рд░реВрдкрдг


GUI рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ рдЖрдкрдХреЛ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдШрдЯрдХреЛрдВ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд░реНрдЧреЛрдВ рдХреА рддрд░рд╣ +NumFieldрдпрд╛ +DateField, рд╡реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреЗ рд╣реИрдВ set>рдпрд╛ val>ред

+SetрдПрдХ рддрд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рднреА рдХрд┐рд╕реА рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рдорд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП

  (gui '(+Set +TextField) uppc 30) 

+ValрдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реИ +Setред рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рднреА рдлрд╝реАрд▓реНрдб рдорд╛рди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдорд╛рди рдХрд╛ рд╡рд░реНрдЧ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

  (gui '(+Val +NumField) '((N) (* NN)) 10) 

+Fmt- рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИ +SetрдФрд░ +Val, рдпрд╣ рджреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкрд╛рда рдХреЛ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╛рдкрд╕

  (gui '(+Fmt +TextField) uppc lowc 30) 

+Map(like +Fmt) рджреЛ-рддрд░рдлрд╝рд╛ рдкреНрд░рд╕рд╛рд░рдг рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд░реИрдЦрд┐рдХ рдЦреЛрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЬреЛрдбрд╝реА рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реАрдПрдЖрд░ рдореИрдк рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реАрдбреАрдЖрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдореИрдк рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорд╛рди рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ set>рдпрд╛ val>, рдпрд╣ 'рдЬреИрд╕рд╛ рд╣реИ' рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдЖрдорддреМрд░ рдкрд░ +MapрдХреЙрдореНрдмреЛрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ( рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рджреЗрдЦреЗрдВ )ред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ, рджреЛ рдФрд░ рддреАрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирдВрдмрд░ 1, 2, рдпрд╛ 3 рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ

 ######################################################################## (app) (action (html 0 "+Map" "@lib.css" NIL (form NIL (gui '(+Map +TextField) '(("One" . 1) ("Two" . 2) ("Three" . 3)) '("One" "Two" "Three") ) (gui '(+Button) "Print" '(msg (val> (field -1))) ) ) ) ) ######################################################################## 

рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ


рдЬрдм рднреА рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдПрдХ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, actionрддреЛ рд╡рд░реНрддрдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐) рдХреЛ рдЬреАрдпреВрдЖрдИ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рднреА рдШрдЯрдХреЛрдВ (рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░) рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ upd>ред рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдлрд┐рд░ рдЙрдЪрд┐рдд рдореВрд▓реНрдп рд▓реЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛, рдЪрд░ рд╕реЗ рдорд╛рди рд▓реЛрдб рдХрд░рдирд╛ рдпрд╛ рдирдП рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛) рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЬрдмрдХрд┐ рд╡рд┐рдзрд┐ upd>рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рд╣реА рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕реЗ рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореМрдЬреВрджрд╛ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ +Updред рдПрд╕рдЯреАрдбреАрдЖрд░рдЖрд░ рдореЗрдВ рдЕрджреНрдпрддрди рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

 ######################################################################## (app) (default *Number 0) (action (html 0 "+Upd" "@lib.css" NIL (form NIL (gui '(+Upd +Var +NumField) '(prog (extra) (msg *Number)) '*Number 8 ) (gui '(+JS +Button) "Increment" '(inc '*Number) ) ) ) ) ######################################################################## 

рдорд╛рдиреНрдпрддрд╛


рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рддреНрдпрд╛рдкрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдЪрд┐рдд рд╕рдордп рдкрд░ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ chk>ред рдпрджрд┐ рдорд╛рди рдорд╛рдиреНрдп рд╣реИ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐ рд╡рд╛рдкрд╕ рдЖрдиреА рдЪрд╛рд╣рд┐рдП NIL, рдЕрдиреНрдпрдерд╛, рддреНрд░реБрдЯрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧред

рдХрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ chk>ред рдХрдХреНрд╖рд╛ +NumFieldрд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЗрдирдкреБрдЯ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ, +DateField- рдХреИрд▓реЗрдВрдбрд░ рддрд┐рдерд┐ рдХреА рд╢реБрджреНрдзрддрд╛ред

рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрди-рдж-рдлреНрд▓рд╛рдИ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ +Chkред рдирд┐рдореНрди рдХреЛрдб рдХреЗрд╡рд▓ рдЕрдВрдХреЛрдВ рдХреЛ 9 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ: рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ orрдкрд╣рд▓реЗ рд╕рддреНрдпрд╛рдкрди рдХреЛ рдореБрдЦреНрдп рд╡рд░реНрдЧ рдХреЛ рд╕реМрдВрдкрддреА рд╣реИ +NumFieldрдФрд░ - рдЕрдЧрд░ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд▓реМрдЯрд╛рддреА рд╣реИ - рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп 9 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИред

 ######################################################################## (app) (action (html 0 "+Chk" "@lib.css" NIL (form NIL (gui '(+Chk +NumField) '(or (extra) (and (> (val> This) 9) "Number too big") ) 12 ) (gui '(+JS +Button) "Print" '(msg (val> (field -1))) ) ) ) ) ######################################################################## 

рдЕрдзрд┐рдХ рд╕реАрдзреЗ рд╕рддреНрдпрд╛рдкрди рдмрд┐рд▓реНрдЯ-рдЗрди рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ +Limitред рдпрд╣ maxlengthрдЙрддреНрдкрдиреНрди HTML рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдиреБрдорддрд┐ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдг рджрд░реНрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

 ######################################################################## (app) (action (html 0 "+Limit" "@lib.css" NIL (form NIL (gui '(+Limit +TextField) 4 8) (gui '(+JS +Button) "Print" '(msg (val> (field -1))) ) ) ) ) ######################################################################## 

рдбреЗрдЯрд╛ рд▓рд┐рдВрдХ


рдпрджреНрдпрдкрд┐ set>рд╡реЗ val>рдПрдХ рдЬреАрдпреВрдЖрдИ рдШрдЯрдХ рд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдХреНрд╕рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдШрдЯрдХ рд╕реАрдзреЗ рд▓рд┐рд╕реНрдк рдЖрдВрддрд░рд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдЪрд░ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВред

рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧ +VarрдПрдХ рдЪрд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ ( рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ var- рдкреНрд░рддреАрдХ рдпрд╛ рд╡рд┐рдкрдХреНрд╖ рдЬреЛрдбрд╝реА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд )ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо "рдЪрд░" рдорд╛рди рдХреЗ рд╕рд╛рде рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░ +TextFieldрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ ред рдкреНрд░рд┐рдВрдЯ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

 ######################################################################## (app) (setq *TextVariable "abc") (action (html 0 "+Var" "@lib.css" NIL (form NIL (gui '(+Var +TextField) '*TextVariable 8) (gui '(+JS +Button) "Print" '(msg *TextVariable) ) ) ) ) ######################################################################## 

+E/RрдПрдХ рдЗрдХрд╛рдИ / рд╕рдВрдмрдВрдз рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реАрдПрдЖрд░ рдореЗрдВ рдПрдХ рд╕рдВрдмрдВрдз рдХреЗ рд╕рд╛рде рдПрдХ рдЬреЛрдбрд╝реА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП nm, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП) рдФрд░ рд╕реАрдбреАрдЖрд░ рдореЗрдВ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (рдЖрдорддреМрд░ рдкрд░ рд╡рд░реНрддрдорд╛рди рдлреЙрд░реНрдо (: home obj)рдХреА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдПрдХ рд╡рд╕реНрддреБ obj)ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреГрдердХ рдФрд░ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ nrрдФрд░ nmрд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЧреБрдгреЛрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ *Objред

 ######################################################################## (when (app) # On start of session (class +Tst +Entity) # Define data model (rel nr (+Number)) # with a number (rel nm (+String)) # and a string (pool (tmp "db")) # Create temporary DB (setq *Obj # and a single object (new! '(+Tst) 'nr 1 'nm "New Object") ) ) (action (html 0 "+E/R" "@lib.css" NIL (form NIL (gui '(+E/R +NumField) '(nr . *Obj) 8) # Linkage to 'nr' (gui '(+E/R +TextField) '(nm . *Obj) 20) # Linkage to 'nm' (gui '(+JS +Button) "Show" # Show the object '(out 2 (show *Obj)) ) ) ) ) # on standard error ######################################################################## 



рдмрдЯрди


рдмрдЯрди, рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ (POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ +Buttonрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ


рдиреАрдЪреЗ рдПрдХ рдирд╛рдо рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдиреНрдпреВрдирддрдо рдмрдЯрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:

  (gui '(+Button) "Label" '(doSomething)) 

рдФрд░ рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдирд╛рдореЛрдВ рдХрд╛ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд╣реИ, рдЬреЛ рдмрдЯрди рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ:

  (gui '(+Button) "Enabled" "Disabled" '(doSomething)) 

рд╕рд╛рджреЗ рдкрд╛рда рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдмрд▓ рдХреЛ рдПрдХ рдкреНрд░рддреАрдХ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП T:

  (gui '(+Button) T "img/enabled.png" "img/disabled.png" '(doSomething)) 

рдЬрдм рдпрд╣ рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рдПрдЧреА action( рдкреНрд░рдкрддреНрд░ рджреЗрдЦреЗрдВ )ред

рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреА рддрд░рд╣, рдПрдХ рдмрдЯрди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рдЙрдкрд╕рд░реНрдЧ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдпреЛрдЬрди рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рд╕рдВрд╡рд╛рдж рдмрдЯрди


рдЕрд▓рд░реНрдЯ рдФрд░ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ ред рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдЯрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕реЗ рдХрд┐ рдЯреЗрдмрд▓ рдореЗрдВ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдпрд╛ рдЕрдиреНрдп рджреБрд╖реНрдкреНрд░рднрд╛рд╡, рдРрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдмрдЯрди рд╣реИрдВ рдЬреЛ рдЕрдкрдиреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдпрд╛ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдЯрди рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдЙрдкрд╡рд░реНрдЧреЛрдВ рд╣реИрдВ +Close, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ closeButton, cancelButton, yesButtonрдпрд╛ noButtonред рд╣рдордиреЗ рдЕрд▓рд░реНрдЯ рдФрд░ рдбрд╛рдпрд▓реЙрдЧ рдореЗрдВ рдХрдИ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗ ред

рд╕рдХреНрд░рд┐рдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ


рдЬрдм рдПрдХ рдмрдЯрди рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ +JS(рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рддреЛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рддреЗрдЬрд╝ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджрд┐рдЦрд╛рдПрдЧрд╛ред

рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ +JSрд╕рд╛рдорд╛рдиреНрдп POST рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА GUI рдШрдЯрдХреЛрдВ рдХреА рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдХреЛ XMLHttpRequest рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрджреНрдпрддрди рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реИ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛрдиреЗ рдкрд░ рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рднреА рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рдпрдорд┐рдд POST рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдлреЙрд░реНрдо рдЬрдорд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ+JSHTML рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реЗ рдмрдЯрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдЦреЛрд▓реЗрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рднреА рдЦрд░рд╛рдм рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ XMLHttpRequest рдХреЛ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред

рдЬрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рддреЛ XMLHttpRequest рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдлрд╝реЙрд░реНрдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛, рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде, рдмрд╕ рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рдФрд░ рдЗрддрдирд╛ рдЪрд┐рдХрдирд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред



рдиреНрдпреВрдирддрдо рдкреВрд░реНрдг рдЖрд╡реЗрджрди


PicoLisp рд╡рд┐рддрд░рдг рдореЗрдВ рдРрдк / рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдХ рдиреНрдпреВрдирддрдо рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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



рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ


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

 $ ln -s /usr/share/picolisp/app 

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ

 $ pil app/main.l -main -go + 

рдпрд╛ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ (рдЧреИрд░-рдбрд┐рдмрдЧ)

 $ pil app/main.l -main -go -wait 

рдФрд░ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ ' http: // localhost: 8080 ' рдкрд░ рдЬрд╛рдПрдВред рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ", рдкрд╛рд╕рд╡рд░реНрдб "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ" рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирдореВрдирд╛ рдбреЗрдЯрд╛ рдореЗрдВ рдХрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рднреВрдорд┐рдХрд╛рдПрдВ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХ рд╕реАрдорд┐рдд рд╣реИрдВред

рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ app.7fach.de рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рдЖрд╡реЗрджрди рдХреЗ рдСрдирд▓рд╛рдЗрди рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ ред

рд╕реНрдерд╛рдиреАрдпрдХрд░рдг


рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ, рдЖрдк рдПрдХ рдЕрд▓рдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ "рдмрджрд▓реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рднреА рдЬреАрдпреВрдЖрдИ рдШрдЯрдХреЛрдВ (рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрд╛рда рдирд╣реАрдВ), рд╕рд╛рде рд╣реА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рд░реВрдк, рджрд┐рдирд╛рдВрдХ рдФрд░ рдлреЛрди рдирдВрдмрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред

рдиреЗрд╡рд┐рдЧреЗрд╢рди


рдмрд╛рдИрдВ рдУрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдореЗрдиреВ рджреЛ рдЖрдЗрдЯрдо "рд╣реЛрдо" рдФрд░ "рд▓реЙрдЧрдЖрдЙрдЯ" рдФрд░ рддреАрди рд╕рдмрдореЗрдирд╕ "рдбреЗрдЯрд╛", "рд░рд┐рдкреЛрд░реНрдЯ" рдФрд░ "рд╕рд┐рд╕реНрдЯрдо" рджрд┐рдЦрд╛рддрд╛ рд╣реИред

"рд╣реЛрдо" рдФрд░ "рд▓реЙрдЧрдЖрдЙрдЯ" рджреЛрдиреЛрдВ рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЙрдЧрд┐рди рдлреЙрд░реНрдо рдкрд░ рд╡рд╛рдкрд╕ рднреЗрдЬ рджреЗрдВрдЧреЗред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдХрд╣рддреЗ рд╣реИрдВ, рдПрдХ рдЕрд▓рдЧ рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП), "рд▓реЙрдЧрдЖрдЙрдЯ" рдФрд░ - рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рд╕рдВрднрд╡ рд╕рд░реНрд╡рд░ рд░реБрдХрд╛рд╡рдЯреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЙрдЧрдЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

"рдбреЗрдЯрд╛" рд╕рдмрдореЗрдиреВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдСрд░реНрдбрд░, рдорд╛рд▓, рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ред рд░рд┐рдкреЛрд░реНрдЯ рд╕рдмрдореЗрдиреВ рдореЗрдВ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдФрд░ рдмрд┐рдХреНрд░реА рдкрд░ рджреЛ рд╕рд░рд▓ рд░рд┐рдкреЛрд░реНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред "рд╕рд┐рд╕реНрдЯрдо" рд╕рдмрдореЗрдиреВ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдФрд░ рдЙрдирдХреА рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рд╕рдмрдореЗрдиреВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрдВрдж рдФрд░ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╕рд╛рде рдХрдИ рдЦреБрд▓реЗ рд╕рдмрдореЗрдирд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдмреАрдЪ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдПрдХ рд╕рдХреНрд░рд┐рдп рдореЗрдиреВ рдЖрдЗрдЯрдо рдПрдХ рдЕрд▓рдЧ рд╕реВрдЪреА рдорд╛рд░реНрдХрд░ рд╢реИрд▓реА рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡рд╕реНрддреБ рдЪрдпрди


"рдбреЗрдЯрд╛" рдпрд╛ "рд╕рд┐рд╕реНрдЯрдо" рд╕рдмрдореЗрдиреВ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдЗрд╕ рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЛрдЬ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдЦреЛрд▓рддрд╛ рд╣реИред рдЖрдк рдПрдХ рдЦреЛрдЬ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЦреЛрдЬ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рдпрд╛ рдХреЗрд╡рд▓ рджрд░реНрдЬ рдХрд░реЗрдВ) рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред

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

рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ "@" рд▓рд┐рдВрдХ (рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП) рдпрд╛ "@" рдмрдЯрди рд╣реЛрдЧрд╛ (рд╡рд░реНрддрдорд╛рди рдлреЙрд░реНрдо рдореЗрдВ рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЦреЛрдЬ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╡рд╛рд▓реЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рджреЗрддрд╛ рд╣реИрдЦреЛрдЬ рдорд╛рдкрджрдВрдбред рдкрд╛рда рдХреЗ рд▓рд┐рдП рддреБрд▓рдирд╛ рдЕрдВрдХ рдФрд░ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ (рдХреЗрд╕ рд╕рдВрд╡реЗрджрдирд╢реАрд▓!) рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк "рдЧреНрд░рд╛рд╣рдХ / рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛" рд╕рдВрд╡рд╛рдж рдореЗрдВ "рд╢рд╣рд░" рдХреНрд╖реЗрддреНрд░ рдореЗрдВ "рдирд┐: рд╢реБрд▓реНрдХ" рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореВрд▓реНрдп "рдлреНрд░реАрдЯрд╛рдЙрди" рдЦреЛрдЬ рдорд╛рдирджрдВрдбреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ред рджреВрд╕рд░реА рдУрд░, "рдлреНрд░реА" рдпрд╛ "рдЯрд╛рдЙрди" рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдкрд░ "рдлреНрд░реАрдЯрд╛рдЙрди" рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдЦреЛрдЬ рдлрд╝реАрд▓реНрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╡реНрдпрд╡рд╣рд╛рд░ рджрд┐рдЦрд╛рддреА рд╣реИрдВ:


рд╕реНрдХреНрд░реЙрд▓ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдмрд┐рдирд╛ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧреАред рд╡рд╛рдВрдЫрд┐рдд рдХреЙрд▓рдо рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ: рдХреБрдЫ рд╕рдВрд╡рд╛рдж ("рдЖрдЗрдЯрдо" рдФрд░ "рдСрд░реНрдбрд░") рднреА рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛")ред

рд╕рдВрдкрд╛рджрди


рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдорддреМрд░ рдкрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреА рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореВрд▓ рд▓реЗрдЖрдЙрдЯ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╕рдВрдЧрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рд╢реАрд░реНрд╖рдХ рдХреЗ рддрд╣рдд (рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдореЗрдиреВ рдЖрдЗрдЯрдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ) рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдИрдбреА (рдирд╛рдо, рд╕рдВрдЦреНрдпрд╛, рдЖрджрд┐) рд╣реИ, рдФрд░ рдлрд┐рд░ рдмрд╛рдИрдВ рдУрд░ "рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдмрдЯрди рдФрд░ "рд╣рдЯрд╛рдПрдВ" рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ, "рдЪреБрдиреЗрдВ" рдФрд░ рджрд╛рдИрдВ рдУрд░ рджреЛ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд▓рд┐рдВрдХред

рдкреНрд░рдкрддреНрд░ рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдб рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдкрд┐рдЫрд▓реЗ PicoLisp рдЬрд╛рд╡рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╣рд╛рдВ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рддреБрд░рдВрдд рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рдереЗ)ред

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

рдЕрдкрд╡рд╛рдж рд╡реЗ рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА "рдиреНрдпреВ" рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реЛрдВрдЧреЗ, рдФрд░ "рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ" рдмрдЯрди "рдкреВрд░реНрдг" рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдЯрд╛рдПрдБ рдмрдЯрди рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдкреВрдЫрддреЗ рд╣реБрдП рдПрдХ рд╕рдВрд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрдЯрди "рд░рд┐рд╕реНрдЯреЛрд░" рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд┐рд▓реАрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рд╡реЗ рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм "рд╣рдЯрд╛рдП рдЧрдП" рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдЪрдпрди рдмрдЯрди (рдмрд╛рд░-рдмрд╛рд░) рдЗрд╕ рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЦреЛрдЬ рдЦреЛрдЬ рдХреЙрд▓ рдХреЗ рдмреАрдЪ рдЦреЛрдЬ рдорд╛рдкрджрдВрдб рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рдмрд╛рдПрдБ рдФрд░ рджрд╛рдПрдБ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд▓рд┐рдВрдХ рдПрдХ рд╕рдорд╛рди рдЙрджреНрджреЗрд╢реНрдп рдХреА рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЖрдкрдХреЛ рджрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХреЗ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рдХрджрдо рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдЕрдиреНрдп рдмрдЯрди, рдкреНрд░рдХреГрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдорддреМрд░ рдкрд░ рдлреЙрд░реНрдо рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдиреАрдЪреЗ рджрд╛рдИрдВ рдУрд░ рдПрдХ рдФрд░ "рдПрдбрд┐рдЯ" / "рдбрди" рдмрдЯрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдХрд╣рд╛ рд╣реИ, рдлреЙрд░реНрдо рдХрд╛ рдХреЛрдИ рднреА рдмрдЯрди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ, Done рдмрдЯрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ Edit рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрдкрд╛рджрди рдореЛрдб рдмрд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рд╣реА рдХреЛрдИ рдЕрдиреНрдп рд╡рд╕реНрддреБ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдВрдХ (рдкреЗрдВрд╕рд┐рд▓ рдЖрдЗрдХрди), рд╢реАрд░реНрд╖ рджрд╛рдпрд╛рдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рд▓рд┐рдВрдХ рдпрд╛ рдЦреЛрдЬ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред

рдмрдЯрди рдмрдирд╛рдо рд▓рд┐рдВрдХ


HTTP- рдЖрдзрд╛рд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдпрд╛ рддреЛ HTML рд▓рд┐рдВрдХ рдкрд░ рдпрд╛ рд╕рдмрдорд┐рдЯ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рджреЗрдЦреЗрдВ ( рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ рднреА рджреЗрдЦреЗрдВ )ред рд╡рд░реНрддрдорд╛рди рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред


рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд▓реЗрдЖрдЙрдЯ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рдФрд░ рдмрдЯрди рдХреЛ рднреЗрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдЯрди рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрдм рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдирдХ рдмрдЯрди рдкрд╕рдВрдж рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ; рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рддреАрди-рдЖрдпрд╛рдореА рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдкрд░рд┐рд╡рд░реНрддрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬреЗ рдЬрд╛рдПрдВрдЧреЗред

рдмрдЯрди рдХрд╛ рдЪрд╛рд▓реВ рдпрд╛ рдмрдВрдж рд╣реЛрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рд╣реИред рдпрд╣ рдЙрдкрдпреБрдХреНрдд рд╢реИрд▓рд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдбреЗрдЯрд╛ рдореЙрдбрд▓


рдЗрд╕ рдЧреИрдЬреЗрдЯ рдХреЗ рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдЫрд╣ рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рд╣реЛрддреЗ рд╣реИрдВ ("рдПрдкреНрд▓рд┐рдХреЗрд╢рди / er.l" рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЪрд┐рддреНрд░ рдИ / рдЖрд░ рджреЗрдЦреЗрдВ):
### рдЗрдХрд╛рдИ / рд╕рдВрдмрдВрдз ###
 #
# рдПрдирдЖрд░ рдПрдирдПрдо рдПрдирдПрдо рдПрдирдПрдо рдПрдирдПрдо
# #  |  |  |  |
# + - * ---- * - + + - * ---- * - + + - * ----- +
# #  | рд╕реБрдкрд░ |  |  |  |
# str --* CuSu O-----------------* Item *-- inv | Role @-- perm
# |  |  |  |  |  |
# +-*-*--O-+ +----O---+ +----@---+
# |  |  |  |  | usr
# nm tel -+ |  |  |  |
# |  |  |  | itm | role
# +-*-----+ |  | +-------+ +---*---+ +----*---+
# |  |  |  |  |  | ord |  |  |  |
# | Sal +---+ +---* Ord @--------* Pos | nm --* User *-- pw
# |  | cus |  | pos |  |  |  |
# +-*---*-+ +-*---*-+ +-*---*-+ +--------+
# |  |  |  |  |  |
# hi sex nr dat pr cnt


рдХрдХреНрд╖рд╛рдПрдВ +RoleрдФрд░ +User"@ lib / adm.l" рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВ ред +RoleрдПрдХ рдирд╛рдо, рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдФрд░ рдЗрд╕ рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред +UserрдПрдХ рдирд╛рдо, рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рднреВрдорд┐рдХрд╛ рд╣реИред

"рдПрдкреНрд▓рд┐рдХреЗрд╢рди / er.l" рдореЗрдВ, рд╡рд░реНрдЧ +RoleрдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреИрд▓рддрд╛ рд╣реИ url>ред рдХреЛрдИ рднреА рд╡рд╕реНрддреБ рдЬрд┐рд╕рдХреА рдХрдХреНрд╖рд╛ рдореЗрдВ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ, рд╡рд╣ рд╕реНрд╡рдпрдВ GUI рдореЗрдВ рдореИрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ "рдРрдк / рд░реЛрд▓.рдПрд▓" рд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреА - рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдЗрд╕рдХреА *IDрдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП - рд╣рд░ рдмрд╛рд░ рдЬрдм рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ HTML рд▓рд┐рдВрдХ рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред

рдХреНрд▓рд╛рд╕ +UserрднреА рдмрдврд╝рд╛ рджреА рд╣реИред рд▓реЙрдЧрд┐рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреВрд░рд╛ рдирд╛рдо, рдИ-рдореЗрд▓ рдФрд░ рдлреЛрди рдирдВрдмрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рд╡рд┐рдзрд┐ url>ред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдСрд░реНрдбрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдШреВрдорддрд╛ рд╣реИред рдЖрджреЗрд╢ рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛, рджрд┐рдирд╛рдВрдХ, рдЧреНрд░рд╛рд╣рдХ (рдкреНрд░рддрд┐рд▓рд┐рдкрд┐) рд╣реИ+CuSu) рдФрд░ рдкрджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА (рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ +Pos)ред рд╡рд┐рдзрд┐ sum>рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рдХреБрд▓ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдореЗрдВ рдПрдХ рд╡рд╕реНрддреБ +Item(рдЙрддреНрдкрд╛рдж), рдореВрд▓реНрдп рдФрд░ рдорд╛рддреНрд░рд╛ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИред рд▓рд╛рдЗрди рдЖрдЗрдЯрдо рдХрд╛ рдореВрд▓реНрдп рд╕рдВрдмрдВрдзрд┐рдд рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛, рд╡рд┐рд╡рд░рдг, рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ (рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рднреА +CuSu), рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА (рдЕрдВрддрд┐рдо рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд╕реЗ рдЖрдЗрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛) рдФрд░ рдХреАрдордд рд╣реЛрддреА рд╣реИред рд╡рд┐рдзрд┐ cnt>рдЗрд╕ рдЙрддреНрдкрд╛рдж рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреЙрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдФрд░ рдмреЗрдЪреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ред

рдлрдВрдХреНрд╢рди рдХреЙрд▓dbsрдЕрдВрдд рдореЗрдВ, "рдПрдкреНрд▓рд┐рдХреЗрд╢рди / er.l" рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рднреМрддрд┐рдХ рд╕рдВрд░рдЪрдирд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдкреНрд░рддреНрдпреЗрдХ рд╕реВрдЪреА рдореЗрдВ CAR рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ 64 (64 << N) рдХреА рд╢рдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред CDR рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг (рдпрджрд┐ рддрддреНрд╡ рдПрдХ рд╡рд░реНрдЧ рдЪрд┐рдиреНрд╣ рд╣реИ) рдпрд╛ рдЯреНрд░реА рдиреЛрдбреНрд╕ (рдпрджрд┐ рддрддреНрд╡ рд╡рд░реНрдЧ рдЪрд┐рдиреНрд╣ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рдХреА рд╕реВрдЪреА рд╣реИ) рдХреЛ рдЗрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
 # Database sizes (dbs (3 +Role +User +Sal) # 512 Prevalent objects (0 +Pos) # A:64 Tiny objects (1 +Item +Ord) # B:128 Small objects (2 +CuSu) # C:256 Normal objects (2 (+Role nm) (+User nm) (+Sal nm)) # D:256 Small indexes (4 (+CuSu nr plz tel mob)) # E:1024 Normal indexes (4 (+CuSu nm)) # F:1024 (4 (+CuSu ort)) # G:1024 (4 (+Item nr sup pr)) # H:1024 (4 (+Item nm)) # I:1024 (4 (+Ord nr dat cus)) # J:1024 (4 (+Pos itm)) ) # K:1024 



рдХреЗ рдЙрдкрдпреЛрдЧ


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж ( рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рджреЗрдЦреЗрдВ ), рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред "рдбреЗрдЯрд╛" рдореЗрдиреВ ( рдиреЗрд╡рд┐рдЧреЗрд╢рди рджреЗрдЦреЗрдВ ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рдЧреНрд░рд╛рд╣рдХреЛрдВ, рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ, рдЙрддреНрдкрд╛рджреЛрдВ рдФрд░ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдмрдирд╛ рдпрд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ "рд░рд┐рдкреЛрд░реНрдЯ" рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░рд▓ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЧреНрд░рд╛рд╣рдХ / рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛



"рдПрдкреНрд▓рд┐рдХреЗрд╢рди / cusu.l"

рдХреНрд▓рд╛рдЗрдВрдЯ / рд╡рд┐рдХреНрд░реЗрддрд╛ рдЦреЛрдЬ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ ( choCuSu"рдПрдкреНрд▓рд┐рдХреЗрд╢рди / gui.l" рдореЗрдВ) рдХрдИ рдЦреЛрдЬ рдорд╛рдирджрдВрдбреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЬрд╝рд┐рдк рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлреЛрди рдирдВрдмрд░реЛрдВ рдХреЗ рдЙрдкрд╕рд░реНрдЧ рдФрд░ рдЗрддрдиреЗ рдкрд░ред

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

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЬрдм рдЯреИрдм рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ "рдЯреИрдм" рдмрдЯрди рдХреЛ рджреВрд╕рд░реЗ рдЯреИрдм рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджрдмрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЯреИрдм рдХреЛ HTML рд▓рд┐рдВрдХ ( рдмрдЯрди рдмрдирд╛рдо рд▓рд┐рдВрдХ рджреЗрдЦреЗрдВ ) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдирдП рдЧреНрд░рд╛рд╣рдХреЛрдВ рдпрд╛ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЕрдЧрд▓рд╛ рдЙрдкрд▓рдмреНрдз рдирдВрдмрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдПрдХ рднрд┐рдиреНрди рд╕рдВрдЦреНрдпрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧреАред "рдирд╛рдо" рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рдВрдкрд░реНрдХ рдЯреИрдм рдореЗрдВ рдлрд╝реЛрди рдФрд░ рдлрд╝реИрдХреНрд╕ рдирдВрдмрд░ рд╕рд╣реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд▓реЛрдХреЗрд▓ ( рдЯреЗрд▓реАрдлреЛрди рдирдВрдмрд░ рджреЗрдЦреЗрдВ ) рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ ред

рдореЗрдореЛ рдЯреИрдм рдореЗрдВ рдПрдХ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдкрд╛рда рдХреЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмреНрд▓реЙрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред

рдорд╛рд▓



"App / item.l"

рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдПрдХ рдЖрд╡рд╢реНрдпрдХ "рд╡рд┐рд╡рд░рдг" рдлрд╝реАрд▓реНрдб рднреА рд╣реЛрддрд╛ рд╣реИред

рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "+" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЧреНрд░рд╛рд╣рдХ / рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдЦреЛрдЬ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ "@" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХреЗ рдирд╛рдо рдХреА рд╕рдЯреАрдХ рд╡рд░реНрддрдиреА рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕реАрдзреЗ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рднреА рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЦреЛрдЬ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ, рдЖрдк рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрднрд╡ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдлрд┐рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмреИрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЦреЛрдЬ рд╡рд┐рдВрдбреЛ рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВред "рдПрдбрд┐рдЯ" рдореЛрдб рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╣ рд╕рдВрдкрд╛рджрди рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ )ред

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

рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рджрд╢рдорд▓рд╡ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд╕рд╛рде рдХреАрдорддреЗрдВ рджрд░реНрдЬ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рджрд╢рдорд▓рд╡ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рдмрд╛рдж рджреЛ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореЗрдореЛ рдлрд╝реАрд▓реНрдб, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ / рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмреНрд▓реЙрдм-рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред

рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ JPEG рдЗрдореЗрдЬ рдХреЛ рдПрдХ рдмреНрд▓реЙрдм рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдЪрдпрди рд╕рдВрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВ рдФрд░ "рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЫрд╡рд┐ рдкреГрд╖реНрда рдХреЗ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдФрд░ "рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ" рдмрдЯрди "рд╣рдЯрд╛рдПрдВ" рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЫрд╡рд┐ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрд░рдо


"App / ord.l"

рдЖрджреЗрд╢ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рддрд╛рд░реАрдЦ рд╕реЗ рдкрд╣рдЪрд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВред

рд╕рдВрдЦреНрдпрд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рддрдм рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдСрд░реНрдбрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред

рдирдП рдмрдирд╛рдП рдЧрдП рдЖрджреЗрд╢ рдХреА рддрд╛рд░реАрдЦ рдЖрдЬ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддрд╛рд░реАрдЦ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рд▓реЛрдХреЗрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ YYYY-MM-DD (ISO), рдЬрд░реНрдорди рдореЗрдВ DD.MM.YYYY рдФрд░ рдЬрд╛рдкрд╛рдиреА рдореЗрдВ YYYY / MM / DD рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ , рдпрд╣ рдлрд╝реАрд▓реНрдб рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЗрдирдкреБрдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдорд╣реАрдиреЗ рдореЗрдВ рдкреВрд░реА рддрд╛рд░реАрдЦ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рди рджрд░реНрдЬ рдХрд░реЗрдВред

рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "+" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЧреНрд░рд╛рд╣рдХ / рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдЦреЛрдЬ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ "@" рдмрдЯрди рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛ рд╕реАрдзреЗ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рдирд╛рдо рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рдЬреИрд╕рд╛ рдХрд┐ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ ред

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

"+" рдпрд╛ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдмрдЯрди рдХреЗ рдмрдЬрд╛рдп, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП "рдкреВрд░реНрдг" рдмрдЯрди рднреА рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдмрдЯрди рджреВрд╕рд░реА рдмрд╛рд░ рджрдмрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЕрдм "рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ") рдпрджрд┐ рдЖрдк рдкрджреЛрдВ рдХреЛ рднрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЗ рджрд╛рдИрдВ рдУрд░ "x" рдмрдЯрди рдЗрд╕ рдЖрдЗрдЯрдо рдХреЛ рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рдкреБрд╖реНрдЯрд┐ рдХреЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рд╡рдзрд╛рдиреА рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП!

"^" рдмрдЯрди рдЙрдЪреНрдЪ рд░реЗрдЦрд╛ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рд░реЗрдЦрд╛ рдХреЛ рд╕реНрд╡реИрдк рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрдврд╝рд╛рдХрд░ред

рдкреАрдбреАрдПрдл-рдкреНрд░рд┐рдВрдЯ рдмрдЯрди рдЗрд╕ рдЖрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЙрдкрдпреБрдХреНрдд рджрд░реНрд╢рдХ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рдХрд╛ рд╕реНрд░реЛрдд "рдПрдкреНрд▓рд┐рдХреЗрд╢рди / lib.l" рдореЗрдВ рд╣реИред рдпрд╣ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ A4 рдкреГрд╖реНрда рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рд░рд┐рдкреЛрд░реНрдЯ



"рдРрдк / рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА.рдПрд▓ рдФрд░" рдРрдк / рд╕реЗрд▓реНрд╕.рдПрд▓ "

рджреЛ рд░рд┐рдкреЛрд░реНрдЯ (" рдЗрдиреНрд╡реЗрдВрдЯрд░реА "рдФрд░" рд╕реЗрд▓реНрд╕ ") рдореЗрдВ рдХрдИ рдЦреЛрдЬ рдлрд╝реАрд▓реНрдб рдФрд░" рд╢реЛ "рдмрдЯрди рд╣реЛрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЦреЛрдЬ рдорд╛рдирджрдВрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ "рджрд┐рдЦрд╛рдПрдБ" рдмрдЯрди рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рдЧ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рд╕рдордп рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдбрд╝рд╛ рд╣реЛрдиреЗ рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рднрд╛рд░ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реАрдорд╛, рд╡рд┐рд╡рд░рдг рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ / рдпрд╛ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, рдпрд╛ рдСрд░реНрдбрд░ рдФрд░ / рдпрд╛ рдПрдХ рдмрд┐рдХреНрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ рддрд┐рдерд┐ рд╕реАрдорд╛ рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рди рдЫреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдорд╛рдирджрдВрдб рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ, "CSV" рд▓рд┐рдВрдХ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In178235/


All Articles