}
I n S t r e a m - » F r e e ( ) ;
O u tS tr e a m - > F r e e ( ) ;
}
v o i d ___f a s t c a l l T F o r m l: : B u t t o n 2 C l i c k ( T 0 b j e c t ‘ S e n d e r )
{
i f ( O p e n D ia lo g l- > E x e c u t e ( ) )
{
E d it l- » T e x t = O p e n D ia lo g l- » F ile N a m e ;
}
}
v o i d ___f a s t c a l l T F o rm l: :N M U U E lB e g in D e c o d e (T O b je c t ‘ S e n d e r)
{
S t a t u s B a r 1 - > S im p le T e x t = "Д е к о д и р у е м ф а й л " ;
1
v o i d ___f a s t c a l l T F o rm l: :N M U U E lB e g in E n c o d e (T O b je c t ‘ S e n d e r)
{
S t a t u s B a r l- > S im p le T e x t= " K o f lir p y e M ф а й л " ;
1
v o i d ___f a s t c a l l T F o r m l; :N M O U E lE ndD ecode ( T O b je c t ‘ S e n d e r)
{
S t a t u s B a r 1 - > S im p le T e x t - "Д е к о д и р о в а н и е з а к о н ч е н о " ;
1
v o i d ___f a s t c a l l T F o r m l: :N M O TJE lE ndEncode ( T O b je c t ‘ S e n d e r)
{
S t a t u s B a r 1 - » S im p le T e x t = " К о д и р о в а н и е з а к о н ч е н о " ;
>
Кодирование текста
Т е п е р ь р а с с м о т р и м м а л е н ь к и й п р и м е р к о д и р о в а н и я / д е к о д и р о -
в а н и я т е к с т а . И с п о л ь з у е м в с е т о т ж е B o r l a n d C + + B u i l d e r . К о д и р о в -
к у б у д е м п р о в о д и т ь с а м у ю п р и м и т и в н у ю : с л о ж е н и е к а ж д о г о с и м в о -
л а с т р о к и с к л ю ч о м ( и б е з н е г о ) п о о п е р а ц и и « и с к л ю ч а ю щ е е И Л И » .
К с т а т и , т а к а я к о д и р о в к а л е г к о п о д д а е т с я д е к о д и р о в а н и ю : д о с т а т о ч -
н о с з а к о д и р о в а н н о й с т р о к о й в ы п о л н и т ь т у ж е о п е р а ц и ю с т е м ж е
к л ю ч о м , и в е р н е т с я и с х о д н а я с т р о к а . И т а к , с о з д а д и м н о в о е п р и л о -
ж е н и е и п о м е с т и м н а ф о р м у к о м п о н е н т д л я р а б о т ы с т е к с т о м
M e m o l,
п о л е р е д а к т и р о в а н и я
E d i t i , а т а к ж е к н о п к у B u t t o n l ( р и с . 2 ) . В с е
н а д п и с и н а к о м п о н е н т а х д е л а е т е п о с в о е м у у с м о т р е н и ю , н о е с т ь
о д н а о с о б е н н о с т ь ш и ф р о в к и — в к а ч е с т в е к л ю ч а п о д х о д я т т о л ь к о
с и м в о л ь н ы е з н а ч е н и я , а н е ц и ф р о в ы е , п о э т о м у н е о б х о д и м о з а п о л -
н и т ь с о б ы т и е
O n K e y P re s s к о м п о н е н т а E d i t i с л е д у ю щ и м к о д о м :
v o i d ___f a s t c a l l T F o r m l: : E d i t l K e y P r e s s ( T O b je c t ‘ S e n d e r ,
c h a r & K e y )
{
S e t < c h a r , ' 0 ' , ' 9 ' » D ig ;
i f ( ( D i g « ' 0 ' « ' 1 ' < < ' 2 ' « , 3 ' « ' 4 , < < ' 5 ' < < ' 6 ' < < ' 7 ' «
' 8 ' «
' 9
' ) . C o n t a i n s ( K e y ) )
K e y = 0 ;
}
Е с л и ж е в ы п о п р о б у е т е и с п о л ь з о в а т ь в к л ю ч е ц и ф р ы , т о п р и
д е к о д и р о в а н и и н е с м о ж е т е п о л у ч и т ь и с х о д н у ю с т р о к у . Х о ч у т а к -
Щт Кодирование Текста
http://riasoft.hotm ait.ru
я
К л ю ч
и
Текст
ж е о б р а т и т ь в а ш е в н и м а н и е н а т о , ч т о к о д и р о в а н и е с т р о к и м о ж -
н о п р о в о д и т ь к а к с и с п о л ь з о в а н и е м к л ю ч а , т а к и б е з н е г о . П р и
и с п о л ь з о в а н и и к о д и р о в а н и я б е з к л ю ч а с т р о к а с т а н о в и т с я м е н е е
з а щ и щ е н н о й , ч е м с к л ю ч о м . В о т п р и м е р о б р а б о т ч и к а
o n C li c k
к н о п к и « В ы п о л н и т ь » с и с п о л ь з о в а н и е м к л ю ч а :
v o i d ___f a s t c a l l T F o r m l: : B u t t o n l C l i c k ( T O b j e c t ‘ S e n d e r )
{
w c h a r t K e y [ 1 2 8 ] ;
S t r in g T o W id e C h a r ( E d it i- » T e x t , K e y , 1 2 8 ) ;
i n t n = M e m o l- » G e tT e x tL e n ( ) ;
n + + ;
c h a r * b u f f = n e w c h a r [ n ] ;
M e m o l- » G e t T e x t B u f ( b u f f , n ) ;
f o r ( i n t i = 0 ; i < n ; i+ + )
b u f f [ i ] = b u f f [ i ] “
K e y ;
M e m o l- » T e x t = b u f f ;
d e l e t e [ ] b u f f ;
}
С н а ч а л а т у т с о з д а е т с я п е р е м е н н а я т и п а w
c h a r _ t , к о т о р а я
б у д е т с л у ж и т ь н а м к л ю ч о м ( п а р о л е м ) , п о т о м в э т у п е р е м е н н у ю
м ы к о п и р у е м з н а ч е н и е
п о л я р е д а к т и р о в а н и я E d i t i , з а т е м с о з -
д а е м п е р е м е н н у ю
b u f f , в к о т о р у ю с б р а с ы в а е м в е с ь т е к с т о в ы й
б у ф е р к о м п о н е н т а
M e m o l. З а т е м и д е т с а м п р о ц е с с к о д и р о в а н и я ,
п о с л е к о т о р о г о р е з у л ь т а т в ы в о д и м в
M e m o l, д а л е е о с в о б о ж д а -
е м п а м я т ь о т
b u f f . З а м е ч у , ч т о в м е с т о э т о г о к о д а м о ж н о б ы л о
п р и м е н и т ь д р у г о й , в к о т о р о м н е и с п о л ь з о в а л с я б ы к л ю ч :
v o i d ___f a s t c a l l T F o r m l: : B u t t o n l C l i c k ( T O b j e c t ‘ S e n d e r ) ’
{
i n t n = M e m o l- » G e t T e x t L e n ( ) ;
n + + ;
c h a r * b u f f= n e w c h a r [ n ] ;
M e m o l- » G e t T e x t B u f ( b u f f , n ) ;
f o r ( i n t i = 0 ; i < n ; i+ + )
b u f f [ i ] A= i ;
M e m o l- » T e x t = b u f f ;
d e l e t e [ ] b u f f ;
}
З д е с ь н е и с п о л ь з у е т с я н и к а к о й к л ю ч , п о э т о м у и к о м п о н е н т
E d -
i t i н а м н е т р е б у е т с я .
Блокирование файлов
Т е п е р ь о б с у д и м , к а к м о ж н о з а щ и т и т ь с в о и ф а й л ы б е з к о д и -
р о в к и . Ф о к у с з а к л ю ч а е т с я в т о м , ч т о н а ш ф а й л б у д е т и с п о л ь з о -
в а т ь с я н а ш е й п р о г р а м м о й , и п о л у ч и т ь к н е м у д о с т у п и з л ю б о г о
п р и л о ж е н и я б у д е т н е в о з м о ж н о . Х о т я э т о т м е т о д н е т а к у ж и с л о -
ж е н , е г о и с п о л ь з у ю т к р у т ы е п р о г р а м м ы , з а к о т о р ы е л ю д и в ы к л а -
д ы в а ю т н е м а л ы е д е н ь г и . И т а к , с о з д а д и м н о в о е п р и л о ж е н и е и
р а з м е с т и м н а ф о р м е о д н о п о л е р е д а к т и р о в а н и я
E d i t i , т р и к н о п -
к и
B u t t o n l , B u t t o n 2 , B u t t o n 3 и к о м п о н е н т O p e n D ia lo g l т а к ,
к а к п о к а з а н о н а р и с .
3 . К н о п к а B u t t o n l б у д е т с л у ж и т ь д л я в ы -
П
Ш
. Р и с . 3
б о р а ф а й л а ,
B u t t o n 2 — д л я в к л ю ч е н и я з а щ и т ы ( к а к г о р д о з в у -
ч и т © ) ,
B u t t o n 3 — д л я е е в ы к л ю ч е н и я . Д л я б л о к и р о в а н и я ф а й л а
б у д е м и с п о л ь з о в а т ь ф у н к ц и ю
F ile O p e n , к о т о р а я п р о п и с а н а в
ф а й л е
S y s u t i ls . h p p . С и н т а к с и с ф у н к ц и и т а к о й : i n t F ile O p e n
( c o n s t S y s t e m : : A n s i S t r i n g F ile N a m e , i n t M o d e ). Ф у н к ц и я о т -
к р ы в а е т ф а й л
F ile N a m e в р е ж и м е M ode. П р и у с п е ш н о м в ы п о л -
н е н и и ф у н к ц и я в о з в р а щ а е т д е с к р и п т о р , а
п р и
н е у с п е ш н о м —
з н а ч е н и е
- 1 . В к а ч е с т в е р е ж и м а M o d e м о ж н о и с п о л ь з о в а т ь с л е -
д у ю щ и е к о н с т а н т ы :
fm O p e n R e a d — о т кр ы ть т о л ь к о для ч тен ия ;
f m o p e n w r it e — о т кр ы ть для з а п и с и ;
fm O p e n R e a d W rite — о т кр ы ть для ч те н и я и з а п и с и ;
f m S h a r e E x c lu s iv e — з а п р е т д р у ги м п р и л о ж е н и я м ч и та ть и
з а п и с ы в а т ь в ф а й л ;
I k .
О кончание на стр. 43
№ 1 1 /3 3 8 14 марта-21 марта 2005
предыдущая страница 40 Мой Компьютер 2005 11 читать онлайн следующая страница 42 Мой Компьютер 2005 11 читать онлайн Домой Выключить/включить текст