On-line: PSP, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник


Пост N: 850
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 13.08.23 10:48. Заголовок: LOWER


Что -то не пойму !! Функция не работает. Пробовал в xHarboyr и MiniGui . Проверьте пример из описания функций в Harboyr к MiniGui .

 цитата:

? LOWER("STRING") // Result: string
? LOWER("1234 CHARS = ") // Result: 1234 chars =

wait




Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]


постоянный участник




Пост N: 7513
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.08.23 14:11. Заголовок: А в чём это выражает..


А в чём это выражается ?
У меня работает.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 851
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 13.08.23 14:30. Заголовок: В МиниГуи These ex..


В МиниГуи

 цитата:

These examples demonstrate various results of LOWER():

? LOWER("STRING") // Result: string
? LOWER("1234 CHARS = ") // Result: 1234 chars =

LIBRARY

Library is rtl.lib




Так и делаю. Надо базу конвертировать. Без изменений или ошибка в строке

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 852
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 13.08.23 14:31. Заголовок: У тебя работает в кл..


У тебя работает в клиппере или Харборе. Собрал консольный проект в МиниГуи для проверки - не работает

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 853
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 13.08.23 14:34. Заголовок: Весь проект состоит ..


Весь проект состоит буквально из двух строк , которые в ОПИСАНИИ приводятся

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4365
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.08.23 14:45. Заголовок: Vlad04 пишет Весь пр..


Vlad04 пишет
 цитата:
Весь проект состоит буквально из двух строк , которые в ОПИСАНИИ приводятся


Беру первый попавшийся пример МиниГуи и ...
 
#define _HMG_OUTLOG
#define WM_COPYDATA 74
#define WM_CLOSE 0x0010
#define SHOW_TITLE APPSERVER_TITLE

#include "minigui.ch"
#include "l_names.ch"
#include "hbthread.ch"

MEMVAR oMain, oTimer
////////////////////////////////////////////////////////////////////////////
FUNCTION Main()
LOCAL cFont := 'Tahoma', nFontSize := 20
LOCAL nY, nX, nW, nH, nWBtn, nHBtn, nHWIco, hIcon
LOCAL hMainWin, cText, aBackColor := {215,166, 0}
LOCAL o, hTimer
PUBLIC oMain, oTimer // назначим переменную для объекта окна Main
PUBLIC aPubWordHandle // назначим массив для закрытия окон MsWord

SetsEnv() // loading the program environment -> demo_misc.prg
/////////////////////////////////////////////////////////////
SET WINDOW MAIN OFF
LoadPublicValueThisProject() // Функция загрузки моих данных / The function of loading my data
/////////////////////////////////////////////////////////////

?
? "Lower(...) =>", LOWER("STRING")
? "Lower(...) =?", LOWER("1234 CHARS = ")
?
...
ВСЕ РАБОТАЕТ !
======================= Запуск программы - 14:42:05.244 =======================
Harbour MiniGUI Extended Edition 23.07.0 (32-bit) ANSI
Разрешение экрана = 1280x720
LargeFonts() = нет БФ
.

Lower(...) => string
Lower(...) =? 1234 chars =

...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 854
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 13.08.23 14:53. Заголовок: Ок, спасибо, Андрей...


Ок, спасибо, Андрей.
В вызове функции в МиниГуи нашел ошибочку, а в утилитке (которой лет 10) на хХарборе, вроде все правильно, но не работает.
Сейчас перепишу на МиниГуи .

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 855
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 15.08.23 12:27. Заголовок: А добавьте кирилицу ..


А добавьте кирилицу на любой кодовой странице

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4366
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 15.08.23 12:53. Заголовок: Vlad04 пишет А добав..


Vlad04 пишет
 цитата:
А добавьте кирилицу на любой кодовой странице


Вот
 
FUNCTION Main()
LOCAL cFont := 'Arial', nFontSize := 20
LOCAL nY, nX, nW, nH, nWBtn, nHBtn, nHWIco, hIcon
LOCAL hMainWin, cText, aBackColor := {215,166, 0}
LOCAL nHLbl

SET CODEPAGE TO RUSSIAN
SET LANGUAGE TO RUSSIAN

PUBLIC oMain // назначим переменную для объекта окна Main
PUBLIC aPubWordHandle // назначим массив для закрытия окон MsWord

?
? "Lower(...) =>", LOWER("STRING") , Lower("СТРОКА")
? "Lower(...) =>", LOWER("1234 CHARS = "), Lower("СТРОКА 1234567890")
?
...
Результат:
Lower(...) => string строка
Lower(...) => 1234 chars = строка 1234567890
...
Или
FUNCTION Main()
LOCAL cFont := 'Arial', nFontSize := 20
LOCAL nY, nX, nW, nH, nWBtn, nHBtn, nHWIco, hIcon
LOCAL hMainWin, cText, aBackColor := {215,166, 0}
LOCAL nHLbl

PUBLIC oMain // назначим переменную для объекта окна Main
PUBLIC aPubWordHandle // назначим массив для закрытия окон MsWord
?
? "Lower(...) =>", LOWER("STRING") , Lower("СТРОКА")
? "Lower(...) =>", LOWER("1234 CHARS = "), Lower("СТРОКА 1234567890")
?
...

INIT PROCEDURE My_Sets_Env

SET LANGUAGE TO RUSSIAN
SET CODEPAGE TO RUSSIAN

SetsEnv() // loading the program environment -> demo_misc.prg

myTimerMode() // инициализация таймеров

RETURN
...
Результат:

Lower(...) => string строка
Lower(...) => 1234 chars = строка 1234567890

Думаю и такой вариант пойдет
cCdp := "RU866"
IF hb_cdpExists( cCdp )
cOld := hb_cdpSelect( cCdp )
? // текст ниже должен быть в RU866
? "Lower(...) =>", LOWER("STRING") , Lower("СТРОКА")
? "Lower(...) =>", LOWER("1234 CHARS = "), Lower("СТРОКА 1234567890")
?
hb_cdpSelect( cOld )
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 856
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 16.08.23 15:59. Заголовок: Вообщем почему то св..


Вообщем почему то связано с кодировкой.
Вот так идет

 цитата:

hb_SetCodepage("RU1251")
REQUEST HB_CODEPAGE_RU866
REQUEST HB_CODEPAGE_RU1251


а так нет

 цитата:

REQUEST HB_CODEPAGE_RU866
REQUEST HB_CODEPAGE_RU1251
hb_SetCodepage("RU866")



Всё это я проделывал на хХарбор 1.0

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4367
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.08.23 16:38. Заголовок: Harbour MiniGUI Exte..


Vlad04
Harbour MiniGUI Extended Edition 23.07.0 (32-bit) ANSI
 

#define _HMG_OUTLOG
#include "hmg.ch"

REQUEST DBFCDX, DBFFPT
REQUEST HB_CODEPAGE_UTF8, HB_CODEPAGE_RU1251, HB_CODEPAGE_RU866

FUNCTION Main()
LOCAL cFont := "Arial", nSize := 12
LOCAL cBuf, aBuf, cCdp, cOld
LOCAL cBom := hb_utf8Chr( 0xFEFF )

SET LANGUAGE TO RUSSIAN
SET CODEPAGE TO RUSSIAN

RddSetDefault("DBFCDX")

SET OOP ON

SET EPOCH TO 2000
SET DATE TO GERMAN
SET CENTURY ON
SET AUTOPEN OFF
SET DELETED OFF

SET FONT TO cFont, nSize

cBuf := hb_memoread("demo2.txt")

IF left(cBuf, Len(cBom)) == cBom
cBuf := subs(cBuf, Len(cBom)+1)
ENDIF
aBuf := hb_ATokens(cBuf, CRLF)

cCdp := "RU1251"
? "LANG =", hb_cdpSelect(), cCdp
FOR EACH cBuf IN aBuf
? hb_enumIndex(cBuf), hb_Utf8ToStr(cBuf)
NEXT
?

cCdp := "RU866"
cOld := hb_cdpSelect(cCdp)
? "LANG =", hb_cdpSelect(), cCdp
FOR EACH cBuf IN aBuf
? hb_enumIndex(cBuf), hb_Utf8ToStr(cBuf)
NEXT
?
hb_cdpSelect(cOld)

// или

FOR EACH cCdp IN {"RU866", "RU1251"}
? hb_enumIndex(cCdp), "LANG =", cCdp
FOR EACH cBuf IN aBuf
? hb_enumIndex(cBuf), hb_Utf8ToStr(cBuf, cCdp)
NEXT
?
NEXT

RETURN Nil

Файл txt (Utf8):
В
общем
почему
то
связано
с
кодировкой

Результат (FAR F4 -> 1251):
LANG = RU1251 RU1251
1 В
2 общем
3 почему
4 то
5 связано
6 с
7 кодировкой
8 ''

LANG = RU866 RU866
1 ‚
2 ®ЎйҐ¬
3 Ї®зҐ¬г
4 в®
5 бўп§ -®
6 б
7 Є®¤Ёа®ўЄ®©
8 ''

1 LANG = RU866
1 ‚
2 ®ЎйҐ¬
3 Ї®зҐ¬г
4 в®
5 бўп§ -®
6 б
7 Є®¤Ёа®ўЄ®©
8 ''

2 LANG = RU1251
1 В
2 общем
3 почему
4 то
5 связано
6 с
7 кодировкой
8 ''

Результат (FAR F4 -> 866):

LANG = RU1251 RU1251
1 ┬
2 юс∙хь
3 яюўхьє
4 Єю
5 ёт чрэю
6 ё
7 ъюфшЁютъющ
8 ''

LANG = RU866 RU866
1 В
2 общем
3 почему
4 то
5 связано
6 с
7 кодировкой
8 ''

1 LANG = RU866
1 В
2 общем
3 почему
4 то
5 связано
6 с
7 кодировкой
8 ''

2 LANG = RU1251
1 ┬
2 юс∙хь
3 яюўхьє
4 Єю
5 ёт чрэю
6 ё
7 ъюфшЁютъющ
8 ''

все нормально
PS.
Использование upper() и lower() работает так же, т.е. делаем
 
FOR EACH cCdp IN {"RU866", "RU1251"}
? hb_enumIndex(cCdp), "LANG =", cCdp
FOR EACH cBuf IN aBuf
cBuf := upper(hb_Utf8ToStr(cBuf, cCdp))

? hb_enumIndex(cBuf), cBuf, lower(cBuf)
NEXT
?
NEXT


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 92
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет