|
정확한건지는 모르는데
일단 리프레쉬는 Form1->Refresh();
추가하니 해결된것 같아요
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption = 5;
for(int i=0; i<100; i++){
Label1->Caption = i;
Sleep(1);
Form1->Refresh();
}
}
더 좋은 방법 있으심 알려주시고....
2)번에 마이너스 출력되는 문제에 고수님들의 조언 기다립니다~~
★래미★ 님이 쓰신 글 :
: 여기서도 종료후에 증가된 숫자만 표시되네요..
: 답변좀 부탁드립니다 (__)
:
: 참고로 빌더6 사용했습니다
:
:
:
:
: ★래미★ 님이 쓰신 글 :
: : 파일 두개를 조합해서
: : 데이터를 추출하고 다른 파일에 쓰는 프로그램을 만드는데요
: : 간단할걸로 생각했는데,, 오랫만에 만지다보니 그런지 ㅠㅠㅠㅠ
: :
: :
: : 두가지 문제가 있어요~
: :
: : 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;
: : }
|