Q&A

  • 이진파일을 오픈하여 시리얼로 보내는데 에러
안녕하세요. 델파이 입문한지 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-->
2  COMMENTS
    • 김길남
    • 2005.03.07 04:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 주재환
      2005.03.08 22:09
      adoquery.sql.append 대신에 adoquery.sql.text를 써보세요....
    • 심효기
    • 2005.03.06 21:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2005.03.06 23:36
      착한천사 김경록입니다.. 혹시, MDI의 child form을 최소창으로 만드시는게 아닌지.. 그럼.. 기본적으로 ...
    • 구창민
      2005.03.07 19:03
      안녕하세요.. 혹시 F7 키로 디버깅 하시는건 아니신지요? 함수내부로 진입하지 않으시려면 F8 키를 ...
    • 남경만
    • 2005.03.05 08:17
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이규하
      2005.03.05 12:29
      만약, TQuery  를 더블 클릭 하셔서, 마우스 오른쪽 버튼으로 Add all fields 하신다음에, 해당 ...
    • 남경만
      2005.03.07 04:38
      덕분에 쉽게 해결하였습니다.. ^^ 그리고 또 다른 하나를 배웠네요.. 맨날 배워만가고.. 저도 어여 스...
    • 착한천사
      2005.03.06 23:09
      착한천사 김경록입니다. 제가 알기로는 linked list에는 많은 종료가 있다는걸로 아는데요.. N-Linked li...
    • 박진규
    • 2005.03.05 05:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 도깨비
      2005.03.23 21:58
      첨부화일을 작업중인 프로젝트 폴더에 압축해제 하시고, iodll.txt화일을 참조하시어 명령사용법은 ...
    • 델피언
    • 2005.03.05 04:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2005.03.05 08:56
      온라인 도움말의 일부내용입니다. loCaseInsensitive로 도움말을 검색해보세요. ^^; loCaseInsensit...
    • Crazy™
      2005.03.05 19:23
      주로 제가 퀀텀그리드를 쓰는데 그리드 kefield 란 부분이 안맞는 경우 이런증상이 생깁니다. 편법이지만 ...
    • Crazy™
      2005.03.05 19:09
      안녕하세요. 루프문으로 돌릴때처럼 똑같이 CompositeReport에 추가하면 됩니다. 5개의 리포트를 생성 후...
    • 송동규
      2005.03.07 17:38
      먼저 답변 감사드립니다. 하지만 똑같이 루프를 돌려서 CompositeReport를 하면 (내부적으로 reports...
    • 이상호
    • 2005.03.05 00:04
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 서해근
    • 2005.03.04 21:48
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 박지용
      2005.03.04 22:38
      TDBComboBox연결된 Dataset과 나머지 컨트롤들의 dataset이 틀릴경우 간단하게 처리할려면 두 테이...
    • 서해근
      2005.03.04 22:55
      소스를 깜빡하고 올리지 않았네요;; 테이블은 TBLDATA라고 한개를 썼습니다. procedure Tmain.Form...
    • 무심코
      2005.03.05 00:33
      거의 다 만드신것 같은데.... 소스를 보다가 이해가 안되는 부분이 있어 몇자 적습니다. 1. 내용를 보니...
    • 서해근
      2005.03.05 19:01
      가르쳐 주셔서 감사합니다 ^^
    • Crazy™
      2005.03.05 19:19
      무심코 님의 내용처럼 locate를 이용해서 찾을 수도 있지만 콤보박스가 dbcombo 인데 그냥 연결만 해도 됩...
    • 이규하
      2005.03.05 12:50
      메인에서 차일드 폼을 부를 경우 <!--codeS--> with Tchform.create(application) do Try  ...
    • 조운석
      2005.03.04 22:14
      메인폼에서 <!--CodeS--> FPopup = TFPopup.Create(Self); if (FPopup.ModalResult = mrO...
    • 김일근
    • 2005.03.04 18:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • K모씨
      2005.03.04 23:06
    • nilriri™
      2005.03.05 04:25
      코멘트가 달린거 같은데 안보이네요..^^ 어떤 내용인지 몰라서 저도 한자 적습니다.. 라이센스 부족&...
    • 용하운
    • 2005.03.04 08:55
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2005.03.04 17:21
    • 이중철
      2005.03.04 19:49
    • 정찬희
      2005.03.04 04:12
      TList에 아이템을 집어넣으면 전부다 Pointer형으로 바뀌어 들어갑니다... 가져나올때도 Pointer로만 인식...
    • 세일러문
      2005.03.04 18:41
      답변감사합니다.. 그런데요... 님께서 말씀하신대로.. TList(TList.Items[i]).Count 이대로 했는데...
    • nilriri™
      2005.03.04 19:55
      <!--CodeS-->     TList(ShapeList .Items[i]).Count; <!--CodeE--> ...
    • 주재환
    • 2005.03.03 20:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2005.03.04 00:17
      안녕하세요.. 이런 답변을 원하신게 아니시겠지만, 제가 볼때는 같은 기능을 하는 폼을 하나 만드시...
    • 석주현
      2005.03.04 17:23
    • 유효근
    • 2005.03.03 12:15
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2005.03.03 17:42
    • 무심코
      2005.03.03 18:26
    • 유효근
      2005.03.04 12:28
    • 귀폭
      2005.03.04 03:39
      소스 올립니다... 원하시는데로 고쳐서 쓰세요...
    • 유효근
      2005.03.04 12:28
      정말 감사합니다.^^
    • 유효근
      2005.03.04 02:20
      코멘트 다는 곳이 사라졌네요..^^; 혹시 코멘트 다신분~ 다시 리플로 답변해 주실수 있나요?.^^; 부...
    • 마이크로김
      2005.03.05 03:20
      formatdatetime('YYYY-MM-DD',now + 100)
    • 델피언
    • 2005.03.03 08:33
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 박지용
      2005.03.04 22:43
      sex 필드가 text 타입이기 때문이죠...^^ 필드의 타입이 문자 또는 문자열의 경우는 '   ' 로...
    • nilriri™
      2005.03.04 07:14
      저 쿼리가 맞나요? 희안하네..틀린거 맞는데요..^^;  컴터는 거짓말 안하거든요.. 야근 많...
    • 델피언
      2005.03.04 08:25
      ㅡㅡ; 아이구 내가 미챠~ 컴파일시 오류없이 넘어가길래 아무 생각없이... 예전부터 from 을 form하고...
    • nilriri™
      2005.03.04 10:52
      이것봐요..내 이러실줄 알았습니다..^^; 글쓴 시간이 23시네..ㅋㅋㅋ 하긴 저두 새벽이지만.. 구인/구직...
    • 심재용
      2005.03.03 09:55
      ADODataset1.commandtext := 'select * form people where sex=남'; 위 문장의 sex=남 부분을 sex=''남'...