夜分になってしまいすいません。
非常に詳細に追試していただいてありがとうございます。
すばらしいです!
丁寧なアドバイスに
とてもとても学ばせてもらい、助かりました。
下記のButton3Clickを作って動かしてみて、
AnsiStringToArrayAnsiCharと
Button4Clickで、汎用化しておきました。
お世話になりました。
procedure TForm1.Button3Click(Sender: TObject);
var
SourceStr: AnsiString;
ArrayAnsiChar1: array [0..1023] of AnsiChar;
ArrayAnsiChar2: array [0..5] of AnsiChar;
BufferStr: AnsiString;
BufferSize: Integer;
begin
SourceStr := 'TestString123';
//文字列からAnsiChar配列への変換
begin
BufferSize := Length(ArrayAnsiChar1);
BufferStr := SourceStr;
if (BufferSize - 1) < Length(BufferStr) then
begin
SetLength(BufferStr, BufferSize - 1);
end;
StrLCopy(ArrayAnsiChar1, PAnsiChar(BufferStr), BufferSize - 1);
ArrayAnsiChar1[ BufferSize - 1 ] := #0;
Check('TestString123', AnsiString(ArrayAnsiChar1));
end;
//文字列からAnsiChar配列への変換
begin
BufferSize := Length(ArrayAnsiChar2);
BufferStr := SourceStr;
if (BufferSize - 1) < Length(BufferStr) then
begin
SetLength(BufferStr, BufferSize - 1);
end;
StrLCopy(ArrayAnsiChar2, PAnsiChar(BufferStr), BufferSize - 1);
ArrayAnsiChar2[ BufferSize - 1 ] := #0;
Check('TestS', AnsiString(ArrayAnsiChar2));
end;
end;
procedure AnsiStringToArrayAnsiChar(Str: AnsiString; var ArrayValue:
array of AnsiChar);
var
BufferSize: Integer;
I: Integer;
begin
BufferSize := Length(ArrayValue);
if (BufferSize - 1) < Length(Str) then
begin
SetLength(Str, BufferSize - 1);
end;
StrLCopy(ArrayValue, PAnsiChar(Str), BufferSize - 1);
ArrayValue[ BufferSize - 1 ] := #0;
end;
procedure TForm1.Button9Click(Sender: TObject);
var
SourceStr: AnsiString;
ArrayAnsiChar1: array [0..1023] of AnsiChar;
ArrayAnsiChar2: array [0..5] of AnsiChar;
begin//
SourceStr := 'TestString123';
AnsiStringToArrayAnsiChar(SourceStr, ArrayAnsiChar1);
Check('TestString123', AnsiString(ArrayAnsiChar1));
SourceStr := 'TestString123';
AnsiStringToArrayAnsiChar(SourceStr, ArrayAnsiChar2);
Check('TestS', AnsiString(ArrayAnsiChar2));
end;
2014年6月27日 9:52 7of9 <
delphi...@freeml.com>:
自分に合った趣味イベントに参加して新しい仲間を見つけませんか?
■■ freeml姉妹サイト IRORI(イロリ) ■■
http://ad.freeml.com/cgi-bin/sa.cgi?id=lzUpj
------------------------------------------------------[freeml byGMO]--