Автор | Сообщение |
|
| постоянный участник
|
Пост 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 |
|
|
|
|
Ответов - 10
[только новые]
|
|
|
| постоянный участник
|
Пост N: 7513
Зарегистрирован: 12.09.06
|
|
Отправлено: 13.08.23 14:11. Заголовок: А в чём это выражает..
А в чём это выражается ? У меня работает.
|
|
|
|
| постоянный участник
|
Пост 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 |
| Так и делаю. Надо базу конвертировать. Без изменений или ошибка в строке
|
|
|
|
| постоянный участник
|
Пост N: 852
Зарегистрирован: 13.10.05
|
|
Отправлено: 13.08.23 14:31. Заголовок: У тебя работает в кл..
У тебя работает в клиппере или Харборе. Собрал консольный проект в МиниГуи для проверки - не работает
|
|
|
|
| постоянный участник
|
Пост N: 853
Зарегистрирован: 13.10.05
|
|
Отправлено: 13.08.23 14:34. Заголовок: Весь проект состоит ..
Весь проект состоит буквально из двух строк , которые в ОПИСАНИИ приводятся
|
|
|
|
| постоянный участник
|
Пост 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 = ...
|
|
|
|
| постоянный участник
|
Пост N: 854
Зарегистрирован: 13.10.05
|
|
Отправлено: 13.08.23 14:53. Заголовок: Ок, спасибо, Андрей...
Ок, спасибо, Андрей. В вызове функции в МиниГуи нашел ошибочку, а в утилитке (которой лет 10) на хХарборе, вроде все правильно, но не работает. Сейчас перепишу на МиниГуи .
|
|
|
|
| постоянный участник
|
Пост N: 855
Зарегистрирован: 13.10.05
|
|
Отправлено: 15.08.23 12:27. Заголовок: А добавьте кирилицу ..
А добавьте кирилицу на любой кодовой странице
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|
| постоянный участник
|
Пост 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
|
|
|
|