Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];

Вниз

Перевод ANSI строки в верхний регистр.   Найти похожие ветки 

 
Riply ©   (2008-08-15 17:39) [0]

Здравствуйте !
Пытаюсь средствами Nt-функций преобразовать строку.
Все дело в том, что RtlUpperString и RtlUpperChar
соглашаются работать только с "a".."z" чарами, а с остальными, ну ни в какую :)
Временно выкрутилась таким образом:
function Rtl_UpcaseAnsiStringToAnsiString(const pAnsiDest, pAnsiSource: PANSI_STRING; AllocateDestString: BOOLEAN): NTSTATUS;
var
Us: UNICODE_STRING;
begin
Result := RtlAnsiStringToUnicodeString(@Us, pAnsiSource, True);
if NT_SUCCESS(Result) then
 try
  Result := RtlUpcaseUnicodeStringToAnsiString(pAnsiDest, @Us, AllocateDestString);
 finally
  RtlFreeUnicodeString(@Us);
 end;
end;
Но мне очень не нравяться перебрасывания в Unicode и обратно.
Подскажите, пожалуйста, может есть проще способ ?
Или может я не так использую ф-ии RtlUpperString ?


 
Riply ©   (2008-08-15 17:40) [1]

Sorry. Опять забыла выделить код.


 
Palladin ©   (2008-08-15 17:52) [2]

а зачем именно средствами Nt ? чем AnsiUpperCase/AnsiLowerCase не угодили?


 
@!!ex ©   (2008-08-15 18:13) [3]

На крайняк ничего не мешает сделать свою функцию..


 
Riply ©   (2008-08-15 18:36) [4]

> [2] Palladin ©   (15.08.08 17:52)
> а зачем именно средствами Nt ? чем AnsiUpperCase/AnsiLowerCase не угодили?

Конечно можно использовать, например, CharUpperBuff (она сразу пишет в буфер),
но мне уже стало просто интерересно как можно выкрутится с Nt. Неужели только через Unicode ?

> [3] @!!ex ©   (15.08.08 18:13)
> На крайняк ничего не мешает сделать свою функцию..

Ну изобретение велосипеда мы оставим, пока, на потом :)


 
Anatoly Podgoretsky ©   (2008-08-15 19:03) [5]


> На крайняк ничего не мешает сделать свою функцию..

Ты готов и можешь, но только именно ANSI



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.06 c
2-1218725736
BioStaR
2008-08-14 18:55
2008.09.28
Вырезание из строки


2-1218740621
Alex_Storm
2008-08-14 23:03
2008.09.28
Скрыть вкладку


15-1217906934
Slider007
2008-08-05 07:28
2008.09.28
С днем рождения ! 5 августа 2008 вторник


11-1189880255
grim
2007-09-15 22:17
2008.09.28
опять про GRush


2-1219137611
AlexanderMS
2008-08-19 13:20
2008.09.28
Нужно ли делать такие вызовы перед выходом из программы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский