powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Использование URLEncode в PowerBuilder
23 сообщений из 23, страница 1 из 1
Использование URLEncode в PowerBuilder
    #38897284
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуждаюсь в использование URLEncode in PowerBuilder.
Заранее благодарен за пример или подсказку в какую сторону смотреть
Спасибо
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38897391
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.rgagnon.com/pbdetails/pb-0198.html
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
OleObject wsh
Integer  li_rc
string ls_temp

wsh = CREATE OleObject
li_rc = wsh.ConnectToNewObject( "MSScriptControl.ScriptControl" )
wsh.language = "javascript"

ls_temp = wsh.Eval("escape('H e l l o')")

MessageBox( "ESCAPE" , ls_temp)

ls_temp = wsh.Eval("unescape('" + ls_temp + "')")

MessageBox( "UNESCAPE" , ls_temp)
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38897392
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и на чистом PowerScript конечно же може тоже сделать.
Там кодирование простое.
Но поля этого форума слишком малы для моего примера (лень мне короче )
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38897576
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо.
с oleobject я нашел его.
хотелось бы без oleobject.
приятных вам выходных.
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38897710
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробовал oleobject.
не удалось получить желаемого
исходная строка:
key: nZpFdKB1dNNA1shr+xm5vQ==

при использование oleobject in PowerBuilder получаем
KEY: nZpFdKB1dNNA1shr+Bxm5vQ%3D%3D
страница не отображается

при использование JAVA получаем
KEY: nZpFdKB1dNNA1shr%2Bxm5vQ%3D%3D
идет коректное отображение страницы

разница + и %2
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38897779
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mykola,

Ладно, чуть поборол лень ))

Алгоритм:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
char lc_chars[], c
Long i
String ls_output

lc_chars[] = as_input
ls_output = ""

For i = 1 To UpperBound(lc_chars[])
    c = lc_chars[i]
    Choose Case c
        Case 'a' To 'z', 'A' To 'Z', '0' To '9', '-', '_', '.', '~~'
            // Allowed chars
            ls_output = ls_output + c
// uncomment to convert spaces to "+" instead of "%20"
//      Case ' '
//          ls_output = ls_output + "+"
        Case Else
            // Reserved chars, convert to hex
            ls_output = ls_output + "%" + of_ToHex(c)
    End Choose
Next

Return ls_output


Ф-ю of_ToHex см. во вложении.

Данный код работает в предположении что все символы исходной строки в кодировке ASCII. Т.е. нет национальных символов.
Если же предполагается кодирование национальных строк, то вместо массива char надо работать с блобом представляющим строку в кодировке UTF-8, поскольку urlencode работает с байтами, а не символами.
Позже может напишу пример, если не забуду ))
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38898518
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Дякую.
Я использую строку в utf-8.
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38898521
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mykola,

Какая версия ПБ?
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38898535
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
12.1
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38898563
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mykola,

Переписал под байты и UTF-8

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
blob lbb_bytes
byte b
Long i
String ls_output

lbb_bytes = Blob(as_input, EncodingUTF8!)
ls_output = ""

For i = 1 To Len(lbb_bytes)
    b = byte(BlobMid(lbb_bytes, i, 1))
    Choose Case b
        Case asc('a') To asc('z'), asc('A') To asc('Z'), asc('0') To asc('9'), asc('-'), asc('_'), asc('.'), asc('~~')
            // Allowed chars
            ls_output = ls_output + char(b)
// uncomment to convert spaces to "+" instead of "%20"
//      Case asc(' ')
//          ls_output = ls_output + "+"
        Case Else
            // Reserved chars, convert to hex
            ls_output = ls_output + "%" + of_ToHex(b)
    End Choose
Next

Return ls_output
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38898577
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!!!
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38898866
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно и так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
OleObject	loo_ScriptHost
long		ll_rtn
string	ls_Arg, ls_rtn = ''

loo_ScriptHost = CREATE OleObject
ll_rtn = loo_ScriptHost.ConnectToNewObject( "MSScriptControl.ScriptControl" )
IF ll_rtn = 0 THEN
	TRY
		loo_ScriptHost.language = "javascript"
		ll_rtn = uf_Replace( as_encode_me, "'", "\'" )
		ls_Arg = "encodeURIComponent('" + as_encode_me + "')"
		ls_rtn = loo_ScriptHost.Eval( ls_Arg )
	CATCH(throwable t)
		MessageBox( 'Internal Error', t.Text, StopSign! )
	END TRY
ELSE
	MessageBox( 'Internal Error', 'uf_url_encode: ConnectToNewObject( "MSScriptControl.ScriptControl" ) = ' + string( ll_rtn ), StopSign! )
END IF

DESTROY loo_ScriptHost
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38899164
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
Дякую.
Все працює прекрасно.
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38899165
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexis glinski
Спасибо.
попробую
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38899273
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MykolaДякую.
Все працює прекрасно.
Пам'ятають ще руки
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38900491
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а що зараз не програмуєте?
чи просто перейшли на іншу мову?
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38900623
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На С++
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38955344
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyНа С++
Бедненький
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38955549
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппAnatoly MoskovskyНа С++
Бедненький
Наоборот, вздохнул свободно ))
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38963314
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyФилипппропущено...

Бедненький
Наоборот, вздохнул свободно ))
S&M не предлагать :-)))
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38963444
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппS&M не предлагать :-)))
Странно слышать такое от человека, пытавшегося писать на C#
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #38963445
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не говоря уже про джаву ))
...
Рейтинг: 0 / 0
Использование URLEncode в PowerBuilder
    #39075889
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток.

Спасибо.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Использование URLEncode в PowerBuilder
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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