Kod: Tümünü seç
program pTavsiye;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
type
TConverter = record
public
class function IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean; static;
end;
var
YourStatus : TBytes;
YourMessage: String = '';
{ TConverter }
class function TConverter.IsEqual(const Value1 : TBytes; const Value2 : TBytes) : Boolean;
var
N : Integer;
PLen : PInteger;
Size : Integer;
begin
N := 0;
PLen := @Value1[0];
Dec(PLen);
Size := PLen^;
while (N < Size) and (TBytes(Value1)[N] = TBytes(Value2)[N]) do Inc(N);
Result := N = Size;
end;
var
cStatus,
cMessage : TBytes;
pCurrent,
pLast : PByte;
begin
try
cStatus := TBytes.Create($41, $43, $45, $4d, $49);
cMessage:= TBytes.Create($4f, $4e, $43, $45, $20, $4f, $47, $52, $45, $4e, $20, $53, $4f, $4e, $52, $41, $20, $4b, $4f, $44, $4c, $41);
YourStatus := TEncoding.ASCII.GetBytes('ACEMI');
if TConverter.IsEqual(YourStatus, cStatus) then
begin
pCurrent := @cMessage[Low(cMessage)];
pLast := @cMessage[High(cMessage)];
while pCurrent <= pLast do
begin
YourMessage := YourMessage + Chr(pCurrent^);
Inc(pCurrent);
end;
Writeln(YourMessage);
Readln;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.