Delphiスクリプト化パスカルベースのプログラムEZGPIBの10進文字列(0〜26億の範囲)を16進文字列に変換します。インターネット上で適切なコードを見つけたようですが、EZGPIBに正しく実装するのに問題があります。多分、パスカルに堪能な人が私を助けることができますか? EZGPIBはGoogleで利用でき、インストールせずに動作します。 ":= chrです(W)S [0];" 文字列の範囲のうちで:HERESにコード:私はそれをコンパイルしようとEZGPIB:16進文字列を16進数に変換する(Delphi Scripted Pascal)
program hex_conv;
var
gwar:string;
function Hex(v: Longint; w: Integer): String;
var
s : String;
i : Integer;
hexc : array [0 .. 15] of Char;
begin
hexc[0] := '0';
hexc[1] := '1';
hexc[2] := '2';
hexc[3] := '3';
hexc[4] := '4';
hexc[5] := '5';
hexc[6] := '6';
hexc[7] := '7';
hexc[8] := '8';
hexc[9] := '9';
hexc[10] := 'A';
hexc[11] := 'B';
hexc[12] := 'C';
hexc[13] := 'D';
hexc[14] := 'E';
hexc[15] := 'F';
s[0] := Chr(w);
for i := w downto 1 do begin
s[i] := hexc[v and $F];
v := v shr 4
end;
Result := s;
end;
begin
EZGPIB_ScreenClear;
gwar:=hex(15,1);
EZGPIB_ScreenWriteLn(gwar);
gwar:=hex(1,1);
EZGPIB_ScreenWriteLn(gwar);
end.
EZGPIBコンパイラは例外RuntimeErrorをスロー私が角括弧を取り除いてs - > "s:= Chr(w);"とすると、コードはコンパイルされ、 "gwar:= hex(15,1);"の最大入力で動作します。
魅力的な作品です!どうもありがとうございました! :) – Echo88