C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[66148] 데이터 수 증가시켜 폼에 표출하고 싶어요
★래미★ [jackey9] 992 읽음    2012-02-03 16:51
파일 두개를 조합해서
데이터를 추출하고 다른 파일에 쓰는 프로그램을 만드는데요
간단할걸로 생각했는데,, 오랫만에 만지다보니 그런지 ㅠㅠㅠㅠ


두가지 문제가 있어요~

1) Label2->Caption 에 추출한 데이터 수를 표출하는데
폼이 리프레시가 안되고,, 중간에 캡션이 바뀌질 않아요
(중간에 확인해보면 캡션의 데이터는 올라가있구요)
파일사이즈가 커서 너무 오래 걸려,, 작업과정을 보고싶은데....
전에 코딩된거 봐도 특별한거 없이 그냥 이런식으로 쓴거 같은데
뭘 빠트린건지요??


2) 아웃풋 파일에 마이너스 값이 찍히는데요
1140019500  1140010500  1140006200  64
1140019600  1140019400  1140005300  32
1140019600  1140019400  1140005800  64
1140019600  1140019400  1140015300  128
1140019700  -1728884536  1140005500  32
1140019700  -1728884536  1140006000  64
1140019800  -1728884536  1140005600  32
1140019800  -1728884536  1140006600  64

unsigned long integer에서 바이트오더가 달라,, htonl()로 한번 변환시켜 출력하였습니다
마이너스가 아니어야 정상데이터인데 왜 마이너스값이 나올까요 ㅠㅠ




void __fastcall TForm1::LinkTrafficInfoMatchWithSourceFile()
{
Screen->Cursor = crHourGlass;
    FILE *fp1;
    ulong linkID1, nNode1;
    unsigned short int travelTime;
    int nnode_count;
    int i,j;
    ulong a=0,b,c;
    bool is_data=false;

    FILE *fp2;
    ulong linkID2, fNode2, tNode2;
    ulong trash;
    char tmpchar;
    char LinkStream[25];

    FILE *fp3;

    if((fp1 = fopen(Edit1->Text.c_str(), "rb"))==NULL) return;
    if((fp2 = fopen(Edit2->Text.c_str(), "rb"))==NULL) return;
    if((fp3 = fopen(Edit3->Text.c_str(), "wt"))==NULL) return;

    Label2->Caption = "3";             //<------------------------ 강제로 세팅해봐도 표출이 안되네요 ㅠㅠ

    while(!feof(fp1)){
        fscanf(fp1, "%c", &tmpchar); //BOR
        nnode_count = GetBitField(tmpchar, 0, BIT_3);
        fscanf(fp1, "%4c", &linkID1);
        if(linkID1==0) continue;
        //is_data=false;
        fseek(fp2, 0, SEEK_SET);

        while(!feof(fp2)){
            fgets(LinkStream, 21, fp2);
            sscanf(LinkStream, "%4c", &linkID2);
            if(linkID1 == linkID2){
                sscanf(LinkStream, "%4c%4c", &fNode2, &tNode2);
                for(i=0; i<nnode_count; i++){
                    fscanf(fp1, "%4c%2c", &nNode1, &travelTime);
                    //a = htonl(nNode1); b=htonl(fNode2); c=htonl(tNode2);
                    if(nNode1==0) break;






                    fprintf(fp3, "%ld  %ld  %ld  %d\n", htonl(fNode2), htonl(tNode2), htonl(nNode1), htons(travelTime)); //<------------------ 아웃풋 파일에 쓰는 부분입니다




                    //is_data = true;
                    Label2->Caption = a++;              //<--------------------캡션에 증가시켜 뿌리는 부분입니다







                }
                break;
            }
            //if(feof(fp2) && is_data==false){fseek(fp2, 0, SEEK_SET);continue;}
        }
        fscanf(fp1, "%c", &tmpchar); //EOR

    }

    fclose(fp1);
    fclose(fp2);
    fclose(fp3);
Screen->Cursor = crDefault;
}

+ -

관련 글 리스트
66148 데이터 수 증가시켜 폼에 표출하고 싶어요 ★래미★ 992 2012/02/03
66151     Re:데이터 수 증가시켜 폼에 표출하고 싶어요 ★래미★ 1077 2012/02/03
66149     Re: 수 증가 샘플 프로젝트입니다 ★래미★ 952 2012/02/03
66150         Re:Re: 수 증가 샘플 프로젝트입니다 ★래미★ 1022 2012/02/03
66152             Re:Re:Re: 수 증가 샘플 프로젝트입니다 로더 984 2012/02/03
66154                 Re:Re:Re:Re: 수 증가 샘플 프로젝트입니다 아리나스 947 2012/02/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.