Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.28;
Скачать: CL | DM;

Вниз

Перевод 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
3-1206604343
Petrovsky
2008-03-27 10:52
2008.09.28
CommandTimeout в ADOStoredProc


3-1206518870
DelphiN!
2008-03-26 11:07
2008.09.28
Выборка только 1ой записи, удовлетворяющей условие


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


15-1217821033
Slider007
2008-08-04 07:37
2008.09.28
С днем рождения ! 4 августа 2008 понедельник


1-1198970356
booratino
2007-12-30 02:19
2008.09.28
как смотреть дамп в hex