ΠΡΠΈΠΌΠ΅Ρ 2:
s = remainder({81, -3.5, -9, 5.5}, {8, -1.7, 2, -4})
-- s Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ {1, -0.1, -1, 1.5}
ΠΡΠΈΠΌΠ΅Ρ 3:
s = remainder({17, 12, 34}, 16)
-- s Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ {1, 12, 2}
ΠΡΠΈΠΌΠ΅Ρ 4:
s = remainder(16, {2, 3, 5})
-- s Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ {0, 1, 1}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
floor
repeat
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
s = repeat(x, a)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΄ Π΄Π»ΠΈΠ½Ρ a, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ x.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΄ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΏΡΠΎΡΠΈΠ², Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ 1:
repeat(0, 10) -- {0,0,0,0,0,0,0,0,0,0}
ΠΡΠΈΠΌΠ΅Ρ 2:
repeat("JOHN", 4) -- {"JOHN", "JOHN", "JOHN", "JOHN"}
-- ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΠΊΠΎΠΏΠΈΡ "JOHN"
-- Π² ΠΏΠ°ΠΌΡΡΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
append, prepend, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΄Π°
reverse
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include misc.e
s2 = reverse(s1)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΠ΄Π΅.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
Π‘ΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ΄Ρ.
ΠΡΠΈΠΌΠ΅Ρ 1:
reverse({1,3,5,7}) -- {7,5,3,1}
ΠΡΠΈΠΌΠ΅Ρ 2:
reverse({{1,2,3}, {4,5,6}}) -- {{4,5,6}, {1,2,3}}
ΠΡΠΈΠΌΠ΅Ρ 3:
reverse({99}) -- {99}
ΠΡΠΈΠΌΠ΅Ρ 4:
reverse({}) -- {}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
append, prepend, repeat
routine_id
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
i = routine_id(st)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΄Π°ΡΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ i, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ (ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ) ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Euphoria, ΡΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ. ΠΠΌΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π΄Π°ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌ ΡΡΠ΄ΠΎΠΌ st. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π΅ΡΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°, Π²ΡΠ΄Π°ΡΡΡΡ -1.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π°Π²Π°ΡΡΡΡ Π² call_proc() ΠΈΠ»ΠΈ call_func() Π΄Π»Ρ Π½Π΅ΠΏΡΡΠΌΠΎΠ³ΠΎ (ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ) Π²ΡΠ·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ st.
ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ st Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ, Ρ.Π΅. Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π² ΡΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π³Π΄Π΅ Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ routine_id() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅ΠΏΡΡΠΌΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎ Π½Π΅ΠΊΠΈΠΌ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΏΠΎΠΊΠ° ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ 2 Π½ΠΈΠΆΠ΅.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΡΡΠΎΠΌΡ Π΅Ρ Π½ΠΎΠΌΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· call_proc() / call_func().
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΏΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ², Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ routine_id():
1. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎΠ·ΠΆΠ΅.
2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠΌ. ΠΡΠΈΠΌΠ΅Ρ 2 Π½ΠΈΠΆΠ΅.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΄Π°, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ.
4. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
5. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ call_back() - ΡΠΌ. platformr.doc.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π‘ΠΈ, Π²ΡΠ·ΠΎΠ² ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π² Euphoria, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - ΡΠΌ. define_c_proc() ΠΈ define_c_func().
ΠΡΠΈΠΌΠ΅Ρ 1:
procedure foo()
puts(1, "Hello World\n")
end procedure
integer foo_num
foo_num = routine_id("foo")
call_proc(foo_num, {}) -- ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π²ΡΠ·ΠΎΠ² foo()
ΠΡΠΈΠΌΠ΅Ρ 2:
function apply_to_all(sequence s, integer f)
-- ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΡΠ΄Π°
sequence result
result = {}
for i = 1 to length(s) do
-- ΠΌΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ Π²ΡΠ·ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
-- add1() ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ, ΠΏΠΎΠΊΠ° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ, Π½ΠΎΠΌΠ΅Ρ f,
-- Ρ ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΉ add1() ΠΈ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
-- Π½ΠΎΠΌΠ΅ΡΠ° f ΠΏΠΎΡΠ²ΡΡΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ·ΠΆΠ΅
result = append(result, call_func(f, {s[i]}))
end for
return result
end function
function add1(atom x)
return x + 1
end function
-- ΡΡΠ½ΠΊΡΠΈΡ add1() ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΈΠ΄Π½Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΈΡΡ
-- Π΄Π»Ρ Π½Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π°ΡΡΡΡ Π·Π°ΡΠ΅ΠΌ Π²
-- ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ apply_to_all(), ΠΊΠΎΡΠΎΡΠ°Ρ,
-- Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, Π΅ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ "Π½Π΅ Π·Π½Π°Π»Π°" ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ
-- add1(), Π½ΠΎ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»Π° Π²ΡΠ·ΠΎΠ² Π½Π΅ΠΊΠΎΠΉ, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ
-- ΡΠΎΠ³Π΄Π°, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ Π΅Ρ Π½ΠΎΠΌΠ΅ΡΡ f.
? apply_to_all({1, 2, 3}, routine_id("add1"))
-- ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ {2,3,4}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
call_proc, call_func, call_back, define_c_func, define_c_proc, platformr.doc
...
ΠΎΡ S Π΄ΠΎ T
save_bitmap
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include image.e
i = save_bitmap(s, st)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π‘ΠΎΠ·Π΄Π°ΡΡ bitmap-ΡΠ°ΠΉΠ» (.bmp) ΠΈΠ· 2-Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΄Π° s. Π ΡΠ΄ st ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ .bmp-ΡΠ°ΠΉΠ»Π°. s[1] ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°Π»ΠΈΡΡΠΎΠΉ:
{{r,g,b}, {r,g,b}, ..., {r,g,b}}
ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π²Π΅Π»ΠΈΡΠΈΠ½ r, g, ΠΈΠ»ΠΈ b Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 255. s[2] ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌ ΡΡΠ΄ΠΎΠΌ ΡΡΠ΄ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π ΡΠ΄Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² s[2], Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π΄Π»ΠΈΠ½Ρ. s ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ, ΡΡΠΎ ΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π°, Π²ΡΠ΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ read_bitmap().
ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ i ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
global constant BMP_SUCCESS = 0,-- ΡΡΠΏΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
BMP_OPEN_FAILED = 1,-- ΡΠ°ΠΉΠ» Π½Π΅ ΠΎΡΠΊΡΡΠ»ΡΡ Π½Π° Π·Π°ΠΏΠΈΡΡ
BMP_INVALID_MODE = 4 -- Π½Π΅Π²Π΅ΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ
-- ΠΈΠ»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ get_all_palette() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°Π»ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉ Π½Π° 4 ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ save_bitmap().
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ save_image(), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΡΡΠ΄ Π΄Π»Ρ s[2], ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡ save_bitmap() Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ Π±ΠΈΡΠΊΠ°ΡΡ Ρ 2, 4, 16, ΠΈΠ»ΠΈ 256 ΡΠ²Π΅ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ read_bitmap(). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Paintbrush ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° Windows ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ 4-Ρ ΡΠ²Π΅ΡΠ½ΡΠ΅ Π±ΠΈΡΠΊΠ°ΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ:
paletteData = get_all_palette() * 4
code = save_bitmap({paletteData, imageData},
"c:\\example\\a1.bmp")
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
save_image, read_bitmap, save_screen, get_all_palette
save_image
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°:
DOS32
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include image.e
s3 = save_image(s1, s2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΡΡΠ΄ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΡΡΠ΄ ΡΡΠ΄ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ display_image(). Π ΡΠ΄ s1 ΡΠ²Π»ΡΠ΅ΡΡΡ 2-Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΌ ΡΡΠ΄ΠΎΠΌ {x1,y1}, Π·Π°Π΄Π°ΡΡΠΈΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, s2 Π·Π°Π΄Π°ΡΡ {x2,y2} - ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ³Π»Π°.
ΠΡΠΈΠΌΠ΅Ρ:
s = save_image({0,0}, {50,50})
display_image({100,200}, s)
display_image({300,400}, s)
-- Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΡΡΠ΄ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 51x51 ΠΈΠ· Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΡΠΊΡΠ°Π½Π°,
-- Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ {100,200} ΠΈ Π² ΠΏΠΎΠ·ΠΈΡΠΈΠΈ {300,400}
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
display_image, save_text_image
save_screen
ΠΠ»Π°ΡΡΠΎΡΠΌΠ°:
DOS32
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include image.e
i = save_screen(x1, st)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ ΠΈΠ»ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΊΡΠ°Π½Π° Π² ΡΠ°ΠΉΠ»Π΅ ΡΠΈΠΏΠ° Windows bitmap - .bmp-ΡΠ°ΠΉΠ»Π΅. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ°ΠΉΠ» Π²Π΅ΡΡ ΡΠΊΡΠ°Π½, ΠΏΠΎΠ΄Π°ΠΉΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ 0 Π΄Π»Ρ x1. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΊΡΠ°Π½Π°, x1 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΠ΄ΠΎΠΌ Π΄Π²ΡΡ ΡΡΠ΄ΠΎΠ²: {{topLeftXPixel, topLeftYPixel}, {bottomRightXPixel, bottomRightYPixel}}, Π³Π΄Π΅ {topLeftXPixel, topLeftYPixel} ΡΠ°Π²Π½ΠΎ {XΠ²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ, YΠ²Π΅ΡΡ Π½ΠΈΠΉ Π»Π΅Π²ΡΠΉ}, Π° {bottomRightXPixel, bottomRightYPixel} ΡΠ°Π²Π½ΠΎ {XΠ½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡΠ°Π²ΡΠΉ, YΠ½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡΠ°Π²ΡΠΉ}
Π ΡΠ΄ st - ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ .bmp-ΡΠ°ΠΉΠ»Π°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π±ΠΈΡΠΊΠ°ΡΡΠ°.
ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ i ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
global constant BMP_SUCCESS = 0,-- ΡΡΠΏΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
BMP_OPEN_FAILED = 1,-- ΡΠ°ΠΉΠ» Π½Π΅ ΠΎΡΠΊΡΡΠ»ΡΡ Π½Π° Π·Π°ΠΏΠΈΡΡ
BMP_INVALID_MODE = 4 -- Π½Π΅Π²Π΅ΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ
-- ΠΈΠ»ΠΈ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
save_screen() Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π±ΠΈΡΠΊΠ°ΡΡΡ Ρ 2, 4, 16, ΠΈΠ»ΠΈ 256 ΡΠ²Π΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ read_bitmap(). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Paintbrush ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° Windows ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ 4-Ρ ΡΠ²Π΅ΡΠ½ΡΠ΅ Π±ΠΈΡΠΊΠ°ΡΡΡ.
save_screen() ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΠ½ΠΎ-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ , Π½ΠΎ Π½Π΅ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ .
ΠΡΠΈΠΌΠ΅Ρ 1:
-- Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½:
code = save_screen(0, "c:\\example\\a1.bmp")
ΠΡΠΈΠΌΠ΅Ρ 2:
-- Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΡΡ ΡΠΊΡΠ°Π½Π°:
err = save_screen({{0,0},{200, 15}}, "b1.bmp")
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅:
save_image, read_bitmap, save_bitmap
save_text_image
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
include image.e
s3 = save_text_image(s1, s2)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΡΡΠ΄ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΊΡΠ°Π½Π° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠ΄ ΡΡΠ΄ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ASCII ΠΈ ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΡ Ρ ΡΠΊΡΠ°Π½Π°. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠΎΡ ΡΠ΅ΠΊΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ display_text_image(). s1 ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΡΠΌ ΡΡΠ΄ΠΎΠΌ Π²ΠΈΠ΄Π° {ΡΡΡΠΎΠΊΠ°1, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°1}, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ (Π·Π½Π°ΠΊΠΎΠΌΠ΅ΡΡΠΎ) Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°. s2 - ΡΡΠ΄ Π²ΠΈΠ΄Π° {ΡΡΡΠΎΠΊΠ°2, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°2}, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΡ (Π·Π½Π°ΠΊΠΎΠΌΠ΅ΡΡΠΎ) ΠΏΡΠ°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°.