Тема: c# to delphi
Показать сообщение отдельно
  #3  
Старый 10.09.2012, 21:59
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

angvelem, Вы не правы.
Эти методы статические, т.е. могут быть вызваны без создания экземпляра класса. Аналог в Delphi - class function.

Вопрос только в том, что первый метод в Delphi не нужен, т.к. к строке можно и так обращаться как к массиву char, а перевод в цифру - Ord(string[i]).

Второй будет выглядеть примерно так (ну и до кучи первый метод и проверка):
Код:
type
  TByteArray = array of byte;

function StringToByteArray(S : String) : TByteArray;
var
  I : Integer;
begin
  SetLength(Result,Length(S)+1);
  For I := 1 To Length(S) Do
    Result[I-1] := Ord(S[i]);
  Result[High(Result)] := 0;
end;

function ByteArrayToString(A : TByteArray) : String;
var
  I : Integer;
begin
  Result := '';
  For I := Low(A) To High(A) Do
    If A[i] = 0 
      Then break
      Else Result := Result + Chr(A[i]));
end;

begin
  WriteLn(ByteArrayToString(StringToByteArray('ABC')));
end;

Код должен вывести ABC.
Ответить с цитированием