aiTypes.pas 1006 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. unit aiTypes;
  2. interface
  3. //added for Delphi interface
  4. type
  5. TCardinalArray = array [0..0] of Cardinal;
  6. PCardinalArray = ^TCardinalArray;
  7. TSingleArray = array[0..0] of Single;
  8. PSingleArray = ^TSingleArray;
  9. type aiString = packed record
  10. length: Cardinal;
  11. data: array [0..1023] of char;
  12. end;
  13. type PaiString = ^aiString;
  14. type aiReturn = (
  15. aiReturn_SUCCESS = $0,
  16. aiReturn_FAILURE = -$1,
  17. aiReturn_OUTOFMEMORY = -$3,
  18. _AI_ENFORCE_ENUM_SIZE = $7fffffff
  19. );
  20. const AI_SUCCESS = aiReturn_SUCCESS;
  21. const AI_FAILURE = aiReturn_FAILURE;
  22. const AI_OUTOFMEMORY = aiReturn_OUTOFMEMORY;
  23. function aiStringToDelphiString( a: aiString): AnsiString;
  24. implementation
  25. function aiStringToDelphiString( a: aiString): AnsiString;
  26. var
  27. i: integer;
  28. begin
  29. result := '';
  30. if a.length > 0 then
  31. begin
  32. SetLength( result, a.length);
  33. for i := 1 to a.length do
  34. begin
  35. result[i] := a.data[i-1];
  36. end;
  37. end;
  38. end;
  39. end.