Преобразование строки S в набор её чисел, где каждое число представляет каждый символ строкиDelphi , Синтаксис , Текст и СтрокиПреобразование строки S в набор её чисел, где каждое число представляет каждый символ строки
Автор: 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; Статья Преобразование строки S в набор её чисел, где каждое число представляет каждый символ строки раздела Синтаксис Текст и Строки может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |