![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Преобразование строки S в набор её чисел, где каждое число представляет каждый символ строкиDelphi , Синтаксис , Текст и Строки
Автор: VID { **** UBPFD *********** by delphibase.endimus.com **** >> Преобразование строки S в набор её чисел, где каждое число представляет каждый символ строки Получив строку S функция преобразует её в набор чисел, каждое из которых обозначает код текущего символа, а перед каждым числом располагается символ "#". Пусть, например, S = 'Hello'; Тогда Result = '#72#101#108#108#111'; Зависимости: system Автор: VID, vidsnap@mail.ru, ICQ:132234868, Махачкала Copyright: VID Дата: 25 апреля 2002 г. ***************************************************** } function StrToAscii(S: string): string; var I, X: Integer; RS: string; CurChar: string; begin Result := ''; if Length(S) = 0 then Exit; X := 1; for I := 1 to Length(S) do begin CurChar := '#' + Inttostr(Ord(S[I])); Insert(CurChar, RS, X); X := X + Length(CurChar); end; Result := RS; end; { **** UBPFD *********** by delphibase.endimus.com **** >> Преобразование набора чисел, предопределённых символом "#" в строку Функция преобразует набор чисел, предопределённых символом "#" в соответствующую строку. Каждое число в наборе чисел должно представлять из себя код символа по ASCII таблице. Например, если AsciiString '#72#101#108#108#111', то Result = 'Hello'; Зависимости: sysutils, system Автор: VID, vidsnap@mail.ru, ICQ:132234868, Махачкала Copyright: VID Дата: 26 апреля 2002 г. ***************************************************** } function ASCIIToStr(AsciiString: string): string; var I, X, L, Lastpos: Integer; CurDIGChar, CurrAddChar, RS: string; begin RESULT := ''; L := Length(AsciiString); if L = 0 then Exit; X := 0; LASTPOS := 1; repeat I := X; CurDIGChar := ''; repeat I := I + 1; if AsciiString[I] <> '#' then CurDIGChar := CurDIGChar + AsciiString[I]; until (AsciiString[I] = '#') or (i = l); X := I; if CurDIGChar <> '' then begin try CurrAddChar := CHR(STRTOINT(CurDIGChar)); except CurrAddChar := ''; end; Insert(CurrAddChar, RS, lastpos); LastPos := LastPos + Length(CurrAddChar); end; until (X >= L) or (I >= L); Result := RS; end; Пример использования: var X, Z: string; begin Z := StrToAscii('Hello'); // Z будет содержать '#72#101#108#108#111' X := AsciiToStr(Z); //В результате X будет содержать слово Hello end; Программное задание на языке Delphi! Код содержит два функционала: Вот подробный анализ каждой функции: StrToAscii
ASCIIToStr
Пример использования Код предоставляет простой пример, демонстрирующий использование этих двух функций:
В целом, эти функции предоставляют удобный способ конвертирования между строками и ASCII-кодированными строками в Delphi. Функция Преобразование строки S в набор её чисел, где каждое число представляет каждый символ строки, а символ '#' располагается перед каждым числом. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |