Я думаю, надо что-то своё наворачивать с использованием функций StringGetChar() и StringSetChar():
string StringUpper(string s) { int c, i, k=StringLen(s), n; for (i=0; i<k; i++) { n=0; c=StringGetChar(s, i); switch (c) { case 97: n=65; break; // a A case 98: n=66; break; // b B case 99: n=67; break; // c C case 100: n=68; break; // d D case 101: n=69; break; // e E case 102: n=70; break; // f F case 103: n=71; break; // g G case 104: n=72; break; // h H case 105: n=73; break; // i I case 106: n=74; break; // j J case 107: n=75; break; // k K case 108: n=76; break; // l L case 109: n=77; break; // m M case 110: n=78; break; // n N case 111: n=79; break; // o O case 112: n=80; break; // p P case 113: n=81; break; // q Q case 114: n=82; break; // r R case 115: n=83; break; // s S case 116: n=84; break; // t T case 117: n=85; break; // u U case 118: n=86; break; // v V case 119: n=87; break; // w W case 120: n=88; break; // x X case 121: n=89; break; // y Y case 122: n=90; break; // z Z } if (n>0) s=StringSetChar(s, i, n); } return(s); }
Осталось для русских символов добавить и сделать аналогично StringLower
Для латиницы немного проще сделал
string StringLower(string s) { int c, i, k=StringLen(s), n; for (i=0; i<k; i++) { n=0; c=StringGetChar(s, i); if (c>64 && c<91) n=c+32; // A-Z -> a-z if (n>0) s=StringSetChar(s, i, n); } return(s); } string StringUpper(string s) { int c, i, k=StringLen(s), n; for (i=0; i<k; i++) { n=0; c=StringGetChar(s, i); if (c>96 && c<123) n=c-32; // a-z -> A-Z if (n>0) s=StringSetChar(s, i, n); } return(s); }
С кириллицей проблема возникла. Строчные находятся в отрицательной области, а ПРОПИСНЫЕ некоторые имеют нулевой код.
я тоже в эту сторону думал, но думал есть что-то встроенное
спасибо за код )
спасибо за код )
Не проще ли использовать значение разницы между строчными и прописными??
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
или как привести строку к какому-то регистру?
возникла такая необходимость а в описании что-то ничего не нахожу :(
неужели невозможно?