现å·ããã»ãããããã»Kenãã
æ©ãåçé ãæé£ãããããŸãã
çããã®ãææãããŠãããäžèšURLã«è²ã
æãã®ã§ãã
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=064757&back=http%3A%2F%2Fkakinotane.s7.xrea.com%2Fdelphi%2Ffaq%2Ff006.html
http://edn.embarcadero.com/jp/article/38791
http://kakinotane.s7.xrea.com/delphi/faq/f006.html
http://www.watercolor-city.net/ct_delphi/delphi_tiburon/doc_unicode/implict_convert.htm
ããäžã€çè§£ã§ããŸããã
åãã£ã¹ãã£ãŠããã倿°ãå¥ã®åã§ãªãŒããŒã©ããããã ãã ãšæã£ãŠããã®ã§ãã
Charåã«PCharã§ãã£ã¹ãããã°ããµã€ãºãéãã®ã§ãšã©ãŒã«æããããªæ°ãããã®ã§ããã
Delphiã³ã³ãã€ã©ãŒã¯ã峿 Œãªåãã§ãã¯ãè¡ã£ãŠãããã®ã«
以äžã¯ãæããã«ééãã§ãããã³ã³ãã€ã«ã¯éããŸãã
ch:Char;//ByteïŒintegerïŒint64ã®æã
p :pointer;
p := pointer(ch);
p := pchar(ch);
Charã¯ãByteãšå矩ãªã®ã§éã£ãŠããŸãæ§ãªæ°ãããŸãã
Pointeråã®ãã£ã¹ãã¯ãå¯Ÿè±¡ãæ°å€åãªãäœã§ãããã¿ããã§ããã
ã¡ãã£ãšäžçް工ãªã³ãŒãã£ã³ã°ã§ããããã£ã¹ãã«ä»ããŠçè§£ããŠãäºã詊ããŠã¿ãŸããã
procedure TForm1.Button3Click(Sender: TObject);
Type
ArChar = Array[0..10] of Byte;
var
st : string;
pc : PChar;
sa : String;
begin
St := '01234567890';
St := '01234';
sa := intTohex(integer(@st), 8);
ShowMessage('æåå倿°ã®ã¢ãã¬ã¹= '+sa);
sa := intTohex(integer(pointer(st)^), 8);
ShowMessage('æåå倿°ã®æãæååãžã®ã¢ãã¬ã¹= '+sa);
ShowMessage('æåå倿°ã®æãæååãžã®ã¢ãã¬ã¹ã®å®æ
= '
+intToHex(ArChar(pointer(st)^)[0], 2)
+intToHex(ArChar(pointer(st)^)[1], 2)
+intToHex(ArChar(pointer(st)^)[2], 2)
+intToHex(ArChar(pointer(st)^)[3], 2)
+intToHex(ArChar(pointer(st)^)[4], 2)
+intToHex(ArChar(pointer(st)^)[5], 2)
+intToHex(ArChar(pointer(st)^)[6], 2)
+intToHex(ArChar(pointer(st)^)[7], 2)
+intToHex(ArChar(pointer(st)^)[8], 2)
+intToHex(ArChar(pointer(st)^)[9], 2)
+intToHex(ArChar(pointer(st)^)[10], 2));
// äœæ
ãã567890ãç¡ããªããŸããã
St := '01234567890';
sa := intTohex(integer(@st), 8);
ShowMessage('æåå倿°ã®ã¢ãã¬ã¹= '+sa);
sa := intTohex(integer(pointer(st)^), 8);
ShowMessage('æåå倿°ã®æãæååãžã®ã¢ãã¬ã¹= '+sa);
ShowMessage('æåå倿°ã®æãæååãžã®ã¢ãã¬ã¹ã®å®æ
= '
+intToHex(ArChar(pointer(st)^)[0], 2)
+intToHex(ArChar(pointer(st)^)[1], 2)
+intToHex(ArChar(pointer(st)^)[2], 2)
+intToHex(ArChar(pointer(st)^)[3], 2)
+intToHex(ArChar(pointer(st)^)[4], 2)
+intToHex(ArChar(pointer(st)^)[5], 2)
+intToHex(ArChar(pointer(st)^)[6], 2)
+intToHex(ArChar(pointer(st)^)[7], 2)
+intToHex(ArChar(pointer(st)^)[8], 2)
+intToHex(ArChar(pointer(st)^)[9], 2)
+intToHex(ArChar(pointer(st)^)[10], 2));
Pc := Pchar(st);
sa := intTohex(integer(pointer(pc)^), 8);
ShowMessage('PCHAR倿°ã®æãæååãžã®ã¢ãã¬ã¹= '+sa);
ShowMessage('PCHAR倿°ã®æãæååãžã®ã¢ãã¬ã¹ã®å®æ
= '
+intToHex(ArChar(pointer(Pc)^)[0], 2)
+intToHex(ArChar(pointer(Pc)^)[1], 2)
+intToHex(ArChar(pointer(Pc)^)[2], 2)
+intToHex(ArChar(pointer(Pc)^)[3], 2)
+intToHex(ArChar(pointer(Pc)^)[4], 2)
+intToHex(ArChar(pointer(Pc)^)[5], 2)
+intToHex(ArChar(pointer(Pc)^)[6], 2)
+intToHex(ArChar(pointer(Pc)^)[7], 2)
+intToHex(ArChar(pointer(Pc)^)[8], 2)
+intToHex(ArChar(pointer(Pc)^)[9], 2)
+intToHex(ArChar(pointer(Pc)^)[10], 2));
ShowMessage('PCHAR倿°'+pc);
ShowMessage('åç
§ã«ãŠã³ã¿'+intToStr(PLongInt(pc - SizeOf(LongInt)-
SizeOf(LongInt))^));
ShowMessage('æåæ°'+intToStr(PLongInt(pc - SizeOf(LongInt))^));
end;
----- Original Message -----
MLããŒã ããŒãž:
http://www.freeml.com/delphi-users
----------------------------------------------------------------------
ç·Žç¿ã詊åã®äºå®èª¿æŽã¯ããšã£ãšãšæ±ºã倪éãã«ããŸããïŒ
http://ad.freeml.com/cgi-bin/sa.cgi?id=jRydC
------------------------------------------------------[freeml byGMO]--