안녕하세요. 델파이 입문한지 2개월도 안된 생짜입니다.
일주일동안 매달려도 해답이 나오지 않아 이렇게 문의를 드립니다.
다름이 아니라 시리얼 Com32컴포넌트를 통해 이진파일을 오픈하여 파일을 보내는 프로그램을 짜고있습니다.
bin 파일에 용량은 128kbyte인데 시리얼로 데이타를 1k밖에 보내지 않습니다. 이것저것 짜집기 했는데 도무지 이해가 되지않습니다. 어디를 손봐야 될지 잘모르겠습니다.
제가 작성한 소스를 첨부합니다. 고수님들 도와주세요.
<!--CodeS-->
type
PFileBuffer = ^TFileBuffer;
TFileBuffer = array[0..150000] of byte;
var
FileBuffer : PFileBuffer;
HLowFile, : File ;
HFilename : String;
HStr, s ,Senddata : String;
HNumRead, Hexflag, NumWritten : Integer;
HResult : Integer;
HexResult : LongInt;
idata : String;
FilePointer, i : Longint;
begin
if OpenDialog1.Execute then
begin
HFilename := OpenDialog1.Filename;
AssignFile(HLowFile,HFilename);
Reset(HLowFile,1);
GetMem(FileBuffer, SizeOf(TFileBuffer));
While not EOF(HLowFile) do
begin
BlockRead(HLowFile, FileBuffer^, SizeOf(TFileBuffer), HNumRead);
for i:= 0 to HNumRead-1 do
begin
FileBuffer[i]:= FileBuffer[i];
end; //for
Writedata2 := PChar(FileBuffer);
RComm.WritecommData(WriteData2,StrLen(WriteData2));
end; //while
closeFile(HLowFile);
end;
FreeMem(FileBuffer);
end;
<!--CodeE-->