c进度条(c 进度条)
大家好,如果您还对c进度条不太了解,没有关系,今天就由本站为大家分享c进度条的知识,包括c 进度条的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
1本文目录一览
- 1、C语言做一个百分比进度条
- 2、如何用C语言实现进度条
- 3、C语言进度条
2C语言做一个百分比进度条
p您好,sa团队给出的答案/p p(由于本人不用做百分比进度条,所以从网上找了一个,不知道对不对,仅供参考)/p p#!/bin/shbroff (){brecho -e "\e[?25l"br}bron (){brecho -e "\e[?25h"br}brgotoxy (){brecho -ne "\e[$1;$2h"br}brcharacter (){brgotoxy 0 0brecho "["brgotoxy 0 44brecho "]"brn=2brnum=0brwhile [ $n != 44 ]brdobrsleep 0.07brgotoxy 0 $nbrecho -en "\e[1;44m \e[0m"brgotoxy 0 45brecho -n "$num%"brnum=$(echo "$n * 2.3 + 1" | bc )br(( n++ ))brdonebrgotoxy 0 45brecho -n "100.0%"br}brclearbroffbrcharacter bron/p p /p p /p p这里有一个网址,提供给您(cfm补丁0.2版,增加了进度条,百分比等内容的显示 /p p): a href="" target="_blank";/a/p
3如何用C语言实现进度条
第一种,用printf模拟输出百分比,在控制台输出,实现进度监控。
代码:
#includestdio.h
#define N 20
void mBar(float fBar){
int i,j,k,m;
for ( i=0;iN+6;i++ ) printf("\b");
k=N*fBar; m=fBar*100; printf("[");
for ( i=0;ik;i++ ) printf("=");
for ( j=0;jN-k;j++ ) printf(" ");
printf("]%3d%%",m);
}
void delay(int n) { int i,j,k; for ( i=0;in;i++ ) for ( j=0;j0x07fff;j++ ) k++; }
void main()
{
float x;
int i;
for ( i=0,x=0;i100;i++,x+=0.01 ) { mBar(x); delay(1024); }
mBar(1);
}
第二种,使用窗口组件。这个要看程序工作环境,纯粹的c语言是无法实现的。可以使VC++。Visual C++中的MFC类提供了标准的进度指示器控件(CProgressCtrl)。
m_progress-GetPos(); //获取进度条的当前位置
m_progress-GetRange(int min,int max); //获取进度条控件的范围的下限和上限
m_progress-OffsetPos(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(pos500)
pos = 0;
m_Progress-SetPos(pos);
}
或者采用在某种循环体内添加不断更新进展条界面的方法
4C语言进度条
程序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:#includegraphics.h
main()
{
int gdriver=DETECT,gmod,i;
/*registerbgidriver(EGAVGA_driver);*/
initgraph(gdriver,gmod,"");
setlinestyle(0,0,2);
rectangle(3,215,637,250);
setcolor(RED);
sleep(3);
for(i=0;i632;++i)
{
if(i==631)break;
line(5+i,216,5+i,249);
delay(2888);
}
getch();
closegraph();
} 以上程序均在TC2.0下通过
文章分享结束,c进度条和c 进度条的答案你都知道了吗?欢迎再次光临本站哦!