powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CHARXOR(). Ностальгия.
7 сообщений из 7, страница 1 из 1
CHARXOR(). Ностальгия.
    #35077605
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Опять из прошлого функция. Была то ли в Фоксе, то ли в Клиппере.
Есть ли аналог в 9-ке?
...
Рейтинг: 0 / 0
CHARXOR(). Ностальгия.
    #35077621
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может BITXOR()?
...
Рейтинг: 0 / 0
CHARXOR(). Ностальгия.
    #35077678
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В фоксе такого не было.
...
Рейтинг: 0 / 0
CHARXOR(). Ностальгия.
    #35077681
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AleksMedМожет BITXOR()?

Нет, наверно, не совсем то. CHARXOR() работала так:

pass_string=charxor(my_string,my_password)

т.е. просто шифровала строку по паролю и расшифровывала обратно
...
Рейтинг: 0 / 0
CHARXOR(). Ностальгия.
    #35077683
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov.В фоксе такого не было.

Да, согласен - клипперовская примочка оказалось.
...
Рейтинг: 0 / 0
CHARXOR(). Ностальгия.
    #35080813
leonid_riga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В фоксе можно написать самому. Например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
function CharXOR
lparameter m.key_str, m.source_str, m.offset

*  1  parametr - parolj
*  2  parametr - shifruemaja stroka. Dolzhna peredavatjsja po ssylke
*  3  parametr (optional) - s kakoj pozicii parolja nachinaetsja shifrovanie ( 0  - s pervoj)

local m.kl, m.sl, m.hhnd, m.ptr, m.st2
m.kl=len(m.key_str)
if m.kl= 0 
	return m.source_str
endif
m.sl=len(m.source_str)
if m.sl= 0 
	return ""
endif

if !pemstatus(_screen,"charxor_ptr", 5 )
	Declare Integer HeapCreate in Win32Api Integer, Integer, Integer
	Declare Integer HeapAlloc in Win32Api Integer, Integer, Integer
	Declare RtlMoveMemory in Win32API Integer, String, Integer cnt

	m.st2= ;
		CHR( 085 )+CHR( 139 )+CHR( 236 )+CHR( 087 )+CHR( 086 )+CHR( 080 )+CHR( 083 )+CHR( 081 )+ ;
		CHR( 082 )+CHR( 139 )+CHR( 117 )+CHR( 008 )+CHR( 139 )+CHR( 093 )+CHR( 012 )+CHR( 139 )+ ;
		CHR( 125 )+CHR( 016 )+CHR( 139 )+CHR( 077 )+CHR( 020 )+CHR( 139 )+CHR( 211 )+CHR( 129 )+ ;
		CHR( 227 )+CHR( 255 )+CHR( 255 )+CHR( 000 )+CHR( 000 )+CHR( 193 )+CHR( 234 )+CHR( 016 )+ ;
		CHR( 086 )+CHR( 083 )+CHR( 003 )+CHR( 242 )+CHR( 043 )+CHR( 218 )+CHR( 138 )+CHR( 007 )+ ;
		CHR( 050 )+CHR( 006 )+CHR( 136 )+CHR( 007 )+CHR( 071 )+CHR( 073 )+CHR( 116 )+CHR( 010 )+ ;
		CHR( 070 )+CHR( 075 )+CHR( 117 )+CHR( 242 )+CHR( 091 )+CHR( 094 )+CHR( 086 )+CHR( 083 )+ ;
		CHR( 235 )+CHR( 236 )+CHR( 091 )+CHR( 094 )+CHR( 090 )+CHR( 089 )+CHR( 091 )+CHR( 088 )+ ;
		CHR( 094 )+CHR( 095 )+CHR( 139 )+CHR( 229 )+CHR( 093 )+CHR( 194 )+CHR( 016 )+CHR( 000 )

	m.hhnd=HeapCreate(0x40000, 1024 , 1024 )
	m.ptr=HeapAlloc(m.hhnd, 0 ,len(m.st2)+ 16 )
	RtlMoveMemory(m.ptr,m.st2,len(m.st2))
	_screen.addproperty("charxor_ptr",m.ptr)

else
	m.ptr=_screen.charxor_ptr
endif


if vartype(m.offset)<>"N"
	m.offset= 0 
endif

m.offset=m.offset%len(m.key_str)


Declare CallWindowProc in Win32API Integer, String @, Integer, String @, Integer
CallWindowProc(m.ptr, @m.key_str, m.kl+m.offset* 65536 , @m.source_str, m.sl)
return
...
Рейтинг: 0 / 0
CHARXOR(). Ностальгия.
    #35081175
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, попробую!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / CHARXOR(). Ностальгия.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]