Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2009, 00:43   #1
Krax
 
Регистрация: 27.03.2009
Сообщений: 5
Восклицание Преобразование текста в числовой код

Помогите пожалуйста написать програмку желательно в Delphi что бы например когда я вводил слово "Русский" она мне выводила "\208\243\241\241\234\232\233"

каждая буква имеет свой собственный номер с '\' перед ним

Если можно по-подробней, я-начинающий, но очень нуждающийся....

Зарание благодарю...

Последний раз редактировалось Krax; 27.03.2009 в 09:58.
Krax вне форума Ответить с цитированием
Старый 27.03.2009, 00:51   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Непонятно, как согласуются буквы слова "Русский" с приведенными числами.
Jeni вне форума Ответить с цитированием
Старый 27.03.2009, 01:00   #3
Krax
 
Регистрация: 27.03.2009
Сообщений: 5
По умолчанию

только мне это не по учебе((
сервер настроить пытаюсь...
а он русский только так воспринимает, в кодах....
Krax вне форума Ответить с цитированием
Старый 27.03.2009, 01:15   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Можно так:
Код:
function str_in_ord(const s:string): string;
var i: integer;
begin
  result:='';
  for i:=1 to length(s) do
    result:= result + '\' + copy(inttostr(ord(s[i])),2,2);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  caption:= str_in_ord('Русский');
end;
В цикле проходим по всем символам строки переданной в функцию, сначала преобразуем символ в порядковый код который он занимает в ASCll таблице ord(s[i]), потом убираем функцией copy первый символ, остальное надеюсь понятно
Gorychev вне форума Ответить с цитированием
Старый 27.03.2009, 01:21   #5
Krax
 
Регистрация: 27.03.2009
Сообщений: 5
По умолчанию

проблема в том что у меня коды не табличные, а так сказать свои...
то есть к каждой букве привязан свой случайный неменяющийся код
Krax вне форума Ответить с цитированием
Старый 27.03.2009, 02:09   #6
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Перекодирование русского текста

(Наконец-то понял, как увидеть кнопку в Вордах после 2003: щёлкнуть Надстройки в главном меню документа.) Понимаю, что не суперудобно, но зато перекодирует русский текст именно так, как вам нужно.

Цитата:
Сообщение от Krax Посмотреть сообщение
код мне программа выдает...
но мне удобней чтоб код я мог изменять для каждой буквы...
Коды букв можно менять: по альт-F11 в приложенных документах Word.

Код:
Sub RussianTextForServer()
With Selection.Find
    Do
        .Text = "([А-яЁё])"             'очередная русская буква в документе'
        .MatchWildcards = True          'отмечен флажок Подстановочные знаки'
        .Execute Replace:=wdReplaceNone 'поиск, пока без замены (на случай Not .Found)'
            If .Found Then
            .Replacement.Text = WhatToWhat  'вычисляем (наш) код найденной буквы'
            Else: Exit Sub
            End If
        .Wrap = wdFindContinue              'перейти (после замены) к очередному символу'
        .Execute Replace:=wdReplaceOne  'выполнение замены'
    Loop Until Not .Found
    
    .Text = ""                               'очистка поля Найти:'
    .Replacement.Text = ""          'очистка поля Заменить на:'
    .MatchWildcards = False         'сброс флажка Подстановочные знаки'
    .Execute                                  'выполнение очистки'
End With
End Sub

Function WhatToWhat()
WhatToWhat = Hex(Asc(Selection.Text))
End Function
В приложенных файлах (как и вообще в приложениях MS Office с программной средой) код открывается по альт-F11. Запускается кнопкой FORRUS (она появляется, в последних «моделях» Word, после выбора, вверху окна, ярлыка Надстройки).

В случае если кнопки не видать, можно (в любом Word) нажать альт-F8 — и дабл-кликнуть название моей парограммы (RussianTextForServer).

Не вынесла душа: сделал то же самое, но с шестнатеричной кодировкой. Знаете, оно как-то понятнее. И проще.
Вложения
Тип файла: doc Lucubration.doc (40.0 Кб, 7 просмотров)
Тип файла: doc HexRusLetters.doc (40.0 Кб, 9 просмотров)

Последний раз редактировалось Sasha_Smirnov; 28.03.2009 в 02:08.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 27.03.2009, 08:49   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Krax
то есть к каждой букве привязан свой случайный неменяющийся код
Krax,
А на чём Вы пишете код?! (какой язык программирования?)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.03.2009, 09:27   #8
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

так сделайте тогда так:
Код:
type 
  TSymbolCode = record
    Symbol: Char;
    Code: Byte;
  end;
const
  SymbolCodes: array[1..33] of TSymbolCode = (
                                                                 (Symbol: 'А'; Code: 1),
                                                                 (Symbol: 'B'; Code: 2),
                                                                 (Symbol: 'C'; Code: 3),
                                                                 {и т.д.}
                                                                 );
{а дальше пишете так}
function StrToCodes(S: String): String;
var
  I, J: Integer;
begin
  result := '';
  for I := 1 to Length(S) do
  begin
    for J := 1 to 33 do
      if SymbolCodes[J].Symbol = S[I] then
        Result := Result + '\' + IntToStr(SymbolCodes[J].Code);
  end;
end;
От знаний ещё никто не умирал, но рисковать не стоит.

Последний раз редактировалось XuTpbIu; 27.03.2009 в 11:38.
XuTpbIu вне форума Ответить с цитированием
Старый 27.03.2009, 09:32   #9
Krax
 
Регистрация: 27.03.2009
Сообщений: 5
По умолчанию

код мне программа выдает...
но мне удобней чтоб код я мог изменять для каждой буквы...
Krax вне форума Ответить с цитированием
Старый 27.03.2009, 11:38   #10
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

Ну я и говорю что ты в массиве SymbolCodes можешь каждой букве поставить в соответствие её код
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование текста программы в RTF Kostj@n Общие вопросы Delphi 3 27.12.2011 11:44
Преобразование текста konkonych Помощь студентам 3 24.03.2009 14:00
Перевод текста в код Морзе (Delphi) pomoshnic Помощь студентам 6 21.03.2009 18:04
анализ и преобразование текста строки Черная тень Паскаль, Turbo Pascal, PascalABC.NET 6 10.01.2009 17:33