• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            c 進度條(c進度條控件)

            更新時間:2023-03-01 00:21:45 閱讀: 評論:0

            如何用C語言實現進度條

            給題主一個簡單的進度條程序吧~

            #include<stdio.h>
            #include<stdlib.h>
            #include<conio.h>
            #include<windows.h>

            #defineLEN10/*進度條長度*/

            intmain(void){
            floatp;/*進度條刻度*/
            floatprogLen;/*程序總耗時*/
            inti,j;
            progLen=15.0;
            for(i=1;i<=progLen;i++){
            system("cls");
            p=(i/progLen)*LEN;/*計算程序當前進度之于進度條的比例*/
            for(j=1;j<=(int)(p+0.5);j++)/*打印已執行刻度*/
            printf("■");
            for(j=1;j<=LEN-(int)(p+0.5);j++)/*打印待執行刻度*/
            printf("□");
            printf("%.1f%%",(i/progLen)*100);/*計算程序當前進度的百分比*/
            Sleep(150);
            }
            putchar('\n');
            getch();
            return0;
            }

            運行結果


            如何用C語言實現進度條

            第一種,用printf模擬輸出百分比,在控制臺輸出,實現進度監控。

            代碼:

            #include<stdio.h>
            #defineN20
            voidmBar(floatfBar){

            inti,j,k,m;
            for(i=0;i<N+6;i++)printf("\b");
            k=N*fBar;m=fBar*100;printf("[");
            for(i=0;i<k;i++)printf("=");
            for(j=0;j<N-k;j++)printf("");
            printf("]%3d%%",m);
            }
            voiddelay(intn){inti,j,k;for(i=0;i<n;i++)for(j=0;j<0x07fff;j++)k++;}
            voidmain()
            {
            floatx;
            inti;
            for(i=0,x=0;i<100;i++,x+=0.01){mBar(x);delay(1024);}
            mBar(1);
            }

            第二種,使用窗口組件。這個要看程序工作環境,純粹的c語言是無法實現的??梢允筕C++。Visual C++中的MFC類提供了標準的進度指示器控件(CProgressCtrl)。

            m_progress->GetPos(); //獲取進度條的當前位置
            m_progress->GetRange(int min,int max); //獲取進度條控件的范圍的下限和上限
            m_progress->OfftPos(int nPos); //用指定的增量推進進度條控件的當前位置,重繪進度條反映新位置
            m_progress->SetBkColor(COLORREF clrNew); //設定進度條的背景顏色
            m_progress->SerPos(int nPos); //設定進度條控件的當前位置,重繪進度條反映新位置
            m_progress->SetRange(int min,int max); //設定進度條控件的范圍的下限和上限
            m_progress->SetRange32(int min,int max); //設定進度條控件的范圍的下限和上限
            m_progress->SetStep(int nStep); //指定進度條控件的步進增量
            m_progress->StepIt(); //通過步進增量,推進進度條控件的當前位置,重繪進度條反映新位置

            應用:
            CProgressCtrl *m_progress; //頭文件中聲明
            在OnInitDialog初始化
            {
            m_progress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
            m_progress->SetRange(0,1000);
            m_progress->SetPos(0);
            UINT m_timer =(UINT) SetTimer(1,200,NULL);
            }

            采用在定時器的消息處理函數WM_TIMER內添加不斷更新進度條界面的方法
            OnTimer (nIDEvent)
            {
            pos = pos + 50;
            if(pos>500)
            pos = 0;
            m_Progress->SetPos(pos);
            }
            或者采用在某種循環體內添加不斷更新進展條界面的方法


            進度條的C語言

            (來自網絡) #include <windows.h>
            #include <commctrl.h> //InitCommonControls
            //過程函數的返回值都是LRESULT,類型都是CALLBACK
            LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);
            int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpszCmdLine,int nCmdShow)
            {
            HWND hwnd; //主窗口句柄,在CreateWindow中賦值
            MSG msg; //消息變量,在GetMessage中使用
            WNDCLASS wndclass; //窗口類
            TCHAR* szAppName = TEXT(ProgressBar); //類名和窗口名
            wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //窗口背景
            wndclass.hCursor = LoadCursor(NULL,IDC_ARROW); //鼠標
            wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION); //圖標
            wndclass.lpszClassName = szAppName; //類名
            wndclass.cbClsExtra = 0; //類的額外參數
            wndclass.cbWndExtra = 0; //窗口的額外參數.用于基于同一窗口類的窗口各自區分.
            //在自定義對話框類時必須指定為DLGWINDOWEXTRA的大小
            wndclass.lpszMenuName = NULL; //菜單名.可以用作子窗口的id
            wndclass.style = CS_HREDRAW | CS_VREDRAW; //窗口風格
            wndclass.lpfnWndProc = WndProc; //窗口過程
            wndclass.hInstance = hInstance; //包含窗口過程的實例句柄
            if( !RegisterClass(&wndclass) ) //注冊窗口類
            return 0;
            hwnd = CreateWindow( //創建窗口
            szAppName, //窗口類名
            szAppName, //窗口標題
            WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX, //窗口風格
            CW_USEDEFAULT, //初始的x坐標
            CW_USEDEFAULT, //初始的y坐標
            480, //初始的寬度
            200, //初始的高度
            NULL, //父窗口
            NULL, //菜單
            hInstance, //和窗口相關的實例句柄
            NULL //額外參數
            );
            ShowWindow( hwnd,nCmdShow ); //顯示窗口
            UpdateWindow( hwnd ); //更新窗口
            while( GetMessage(&msg,NULL,0,0) ) //消息循環
            {
            TranslateMessage(&msg); //將WM_XXXKEYXXX消息翻譯為WM_CHAR消息
            DispatchMessage(&msg); //傳遞消息到窗口過程
            }
            return msg.wParam; //返回
            }
            DWORD WINAPI PBThreadProc( LPVOID lpParameter )
            {
            HWND hwndPB = (HWND) lpParameter; //進度條的窗口句柄
            PBRANGE range; //進度條的范圍
            SendMessage( hwndPB, PBM_SETRANGE, //設置進度條的范圍
            (WPARAM)0, (LPARAM)(MAKELPARAM(0,100)) );
            SendMessage( hwndPB, PBM_GETRANGE, //獲取進度條的范圍
            (WPARAM)TRUE, //TRUE 表示返回值為范圍的最小值,FALSE表示返回最大值
            (LPARAM)&range );
            while(TRUE)
            {
            SendMessage( hwndPB, PBM_DELTAPOS, //設置進度條的新位置為當前位置加上范圍的1/40
            (WPARAM)((range.iHigh-range.iLow)/40), (LPARAM)0 );
            if( SendMessage( hwndPB, PBM_GETPOS, (WPARAM)0, (LPARAM)0 ) //取得進度條當前位置
            == range.iHigh )
            {
            SendMessage( hwndPB, PBM_SETPOS, (WPARAM)range.iLow, (LPARAM)0 ); //將進度條復位
            }
            Sleep(1000); //每1秒更新一次進度條
            }
            }
            LRESULT WINAPI WndProc( HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam )
            {
            static HWND hwndPB;
            switch( message )
            {
            ca WM_CREATE:
            {
            InitCommonControls(); //確保已注冊了進度條類PROGRESS_CLASS
            hwndPB = CreateWindowEx(
            0,
            PROGRESS_CLASS,
            NULL,
            WS_CHILD | WS_VISIBLE,
            0,0,0,0, //位置和大小在WM_SIZE中設置
            hwnd,
            (HMENU)0,
            ((LPCREATESTRUCT)lParam)->hInstance,
            NULL);
            CreateThread( //操作進度條的線程
            NULL,
            0,
            (LPTHREAD_START_ROUTINE)PBThreadProc,
            hwndPB,
            0,
            0
            );
            return 0;
            }
            ca WM_SIZE:
            {
            RECT rc;
            GetClientRect(hwnd, &rc);
            MoveWindow(
            hwndPB,
            rc.left,
            (rc.bottom - rc.top )/4,
            rc.right - rc.left,
            (rc.bottom - rc.top )/10,
            TRUE
            );
            return 0;
            }
            ca WM_DESTROY:
            PostQuitMessage(0);
            return 0;
            }
            return DefWindowProc( hwnd,message,wParam,lParam );
            } 可以用到資源文件(.rc)
            //
            // SUPPORT FOR WINDOWS XP THEMES:
            // THIS WILL MAKE THE PROGRAM USE THE COMMON CONTROLS
            // LIBRARY VERSION 6.0 (IF IT IS AVAILABLE)
            //
            1 24 CtrlProgressBar.exe.Manifest


            C語言進度條

            程序1:#include "stdio.h"
            #include <dos.h>
            #include <conio.h>
            /*去光標函數*/
            void no_text_cursor(void)
            {
            union REGS r;
            r.h.ah=1;
            r.h.ch=32;
            int86(0x10,&r,&r);
            }
            main()
            {
            int i;
            int bfb;
            char b=219;
            char c='%';
            for(i=1;i<=60;i++)
            { gotoxy(i,1); /*為了能在進度條和百分比之間變動*/
            no_text_cursor();
            delay(45000);/*前后兩個delay是為了讓滾動更好看,流暢*/
            printf("%c",b);
            delay(45000);
            gotoxy(31,2); /*為了能在進度條和百分比之間變動*/
            bfb=((i*10)/6);
            printf("%d",bfb);
            gotoxy(34,2);
            printf("%");
            }
            printf("\nLoading Successful!");
            getch();
            }程序2:#include<graphics.h>
            main()
            {
            int gdriver=DETECT,gmod,i;
            /*registerbgidriver(EGAVGA_driver);*/
            initgraph(&gdriver,&gmod,"");
            tlinestyle(0,0,2);
            rectangle(3,215,637,250);
            tcolor(RED);
            sleep(3);
            for(i=0;i<632;++i)
            {
            if(i==631)break;
            line(5+i,216,5+i,249);
            delay(2888);
            }
            getch();
            clograph();
            } 以上程序均在TC2.0下通過

            C語言做一個百分比進度條

            <p>您好,sa團隊給出的答案</p> <p>(由于本人不用做百分比進度條,所以從網上找了一個,不知道對不對,僅供參考)</p> <p>#!/bin/sh<br>off (){<br>echo -e "\e[?25l"<br>}<br>on (){<br>echo -e "\e[?25h"<br>}<br>gotoxy (){<br>echo -ne "\e[$1;$2h"<br>}<br>character (){<br>gotoxy 0 0<br>echo "["<br>gotoxy 0 44<br>echo "]"<br>n=2<br>num=0<br>while [ $n != 44 ]<br>do<br>sleep 0.07<br>gotoxy 0 $n<br>echo -en "\e[1;44m \e[0m"<br>gotoxy 0 45<br>echo -n "$num%"<br>num=$(echo "$n * 2.3 + 1" | bc )<br>(( n++ ))<br>done<br>gotoxy 0 45<br>echo -n "100.0%"<br>}<br>clear<br>off<br>character <br>on</p> <p> </p> <p> </p> <p>這里有一個網址,提供給您(cfm補丁0.2版,增加了進度條,百分比等內容的顯示 </p> <p>): <a href="https://wenwen.sogou.com/login/redirect?url=http%3a%2f%2fclub.noahedu.com%2fthread-116262-1-1.html" target="_blank">http://club.noahedu.com/thread-116262-1-1.html</a></p>

            C語言做一個百分比進度條

            1.c和js通信 可以用xml來解決,這個就不詳細講了 2.進度條,使用css百分比做,比如: html code <div id="warp" style="width:100px;height:10px;border:1px solid #eee;background:#000;overflow:hidden"><!-#warp用以包裹進度以及顯示這個進度條-><div id="point" style="width:[color=#ff0000]90%[/color];background:#44a;height:10px;"></div><!-#point利用百分比控制實現和進度條一直的效果,后面需要的是利用js做width的值的賦值操作如果你的c中不斷有當前進度進行輸出,那可以在頁面中不斷調用js函數讀取該輸出變量,然后調整進度條,

            本文發布于:2023-02-28 19:10:00,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/167760130553343.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:c 進度條(c進度條控件).doc

            本文 PDF 下載地址:c 進度條(c進度條控件).pdf

            上一篇:失落的寶藏
            下一篇:返回列表
            標簽:進度條   控件
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 99er久久国产精品先锋| 精品熟女日韩中文十区| 亚洲精品在线二区三区| 精品无人乱码一区二区三区| 亚洲大片中文字幕久久| 国产精品大片中文字幕| 成在人线av无码免费高潮喷水| 欧美性猛交xxxx免费看| 伊人蕉久影院| 免费中文字幕无码视频| 无码AV无码免费一区二区| 邻居少妇张开腿让我爽了在线观看| 日韩免费码中文在线观看| 老鸭窝在线视频| 18禁无遮拦无码国产在线播放| 色 亚洲 日韩 国产 综合| 97久久超碰国产精品2021| 熟女系列丰满熟妇AV| 夜夜爽夜夜叫夜夜高潮漏水| 国产一级精品在线免费看| 日韩国产成人精品视频| 高潮精品熟妇一区二区三区| 久久久久无码精品国产h动漫| 国产精品人成视频免费播放| 丰满人妻一区二区三区高清精品| 免费国产综合色在线精品| 久女女热精品视频在线观看| 国产午夜精品理论片小yo奈| 精选国产av精选一区二区三区| 曰本超级乱婬Av片免费| 精品亚洲国产成人av在线| 亚洲av无码专区在线亚| 国产精品疯狂输出jk草莓视频| 国产97人人超碰CAO蜜芽PROM| 国产永久免费高清在线观看| 亚洲国产成人av国产自| 曰韩亚洲AV人人夜夜澡人人爽| 最新亚洲人成无码WWW| 婷婷涩涩五月天综合蜜桃| 国产精品区一区第一页| 三级黄片一区二区三区|