⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 me_help.cpp

📁 吐血奉献:一套完整的DOS版软件工程
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>
#include <bios.h>
#include <string.h>
#include <graphics.h>
#include "menu_d.h"
#include "new2.h"
void help_0(void)
  {
  char *list[68]={
"一、系统简介:",
"    本仪器由一台通用微机,一块电化学分析卡,",
"一套JPY软件,一套电极系统和一台打印机组",
"成。仪器综合了现代伏安技术的最新发展成果,",
"采用了先进的计算机软、硬件技术,充分的利用",
"了计算机强大的数据处理和分析功能使电化学分",
"析更加灵敏、准确、快速、简便。本仪器共有三",
"种测技术:“差示脉冲溶出”、“差示脉冲伏安”",
"和“线性扫描伏安”。操作过程均由计算机自动",
"控制,实验结果与操作者个人的经验关系不大,",
"任何人稍加培训即可用它得到满意的效果。",
"二、主要特点",
"    1、智能化程度高,操作方便",
"    搅拌、通气动作,电极系统的富集、清洗、",
"静止时间,以及硬件测试等均可由JPY软件准",
"确、灵活地控制。",
"    2、全自动的数据处理能力",
"    JPY软件系统能实时地将测试曲线显示在",
"屏幕上,扫描结束后,根据测得的结果自动选择",
"合适的坐标比例,使波形(即测试曲线)尽可能",
"大的显示在窗口里。仪器自动找出峰的位置,并",
"显示峰的编号、求导、求出峰高,并在屏幕上显",
"示峰电位、峰电流、峰编号。",
"    系统有三种校准方法:「双标类推法」、",
"「外推加入法」、「校准曲线法」,根据仪器提",
"示输入峰电流及样品浓度,仪器会自动用最小二",
"乘法对输入的数据进行拟合,并以合适的坐标比",
"例显示校准曲线,自动求出待测物质的浓度。免",
"除数据处理的繁琐工作。",
"    3、采用先进的软,硬件技术",
"    软件采用C++和汇编语言设计,功能强、移",
"植性好、易于扩展,硬件上考虑了PC、PC/",
"XT、PC/AT总线的兼容性。",
"    系统可在MS-DOS或Windows环",
"境下运行。软件画面色彩丰富、直观,易学易用。",
"    4、系统还定义了如下热键:",
"    F1:帮助;F2:保存曲线文件;F3:",
"打开曲线文件;ALT+F2:保存数据文件;",
"ALT+F3:打开数据文件;F4:参数设置",
"F5:退出系统;F6:清屏;F7:曲线求导",
"F8:打印;PgUp、PgDn:曲线放大、",
"缩小;Tab:曲线循环缩放;+:曲线增高;",
"-:曲线降低。",
"三、主要技术指标  ",
"    ⑴、重现性:连续测试七次,其变异系数不",
"大于3%;",
"    ⑵、分辩率:能明显分辩峰电位相差35",
"mv的两种电活性物质;",
"    ⑶、抗前还原物质的能力大于3000:1;",
"    ⑷、定量检测下限:在最佳工作条件下,能",
"检出5.0×10-11M;",
"    ⑸、本系统配有汞膜电极、Ag-AgCl",
"电极和铂电极;",
"    ⑹、通气、富集、静止及搅拌时间可根椐需",
"要设定,误差不超过1%;",
"    ⑺、实验参数及测试结果均在屏幕上显示,",
"并可打印输出;",
"    ⑻、全自动数据处理:自动计算测试结果,",
"自动求导、求峰高;",
"    ⑼、可以任意存取实验参数和测试结果;",
"    ⑽、电压可调范围:±1.999V;",
"    ⑾、脉冲增量(脉冲高度):1 ̄100",
"mv;",
"    ⑿、脉冲宽度:1 ̄100ms;",
"    ⒀、间隔时间:1 ̄32s;",
"    ⒁、斜率增量:1 ̄16mv;",
"    ⒂、任意两档间的倍率偏差≤5%;",
"    ⒃、绝缘阻抗≥20MΩ。",
};
  int i=0,j=0,just_flag=0;
  int l1=30,l2=0;
  int p_flag=0;
  int temp=0;
  if((getpixel(270,420)!=8)||(getpixel(210,440)!=8)) just_flag=1;
  if(just_flag==1){
    saveimage("text.img",186+l1,88+l2,576+l1,446+l2);
    setfillstyle(1,8);
    bar(194+l1,96+l2,570+l1,436+l2);
    }
  win_board(186+l1,88+l2,574+l1,444+l2,0,7,8);
  for(j=0;(j<=16)&&(i<3);j++) disp_hz_str(194+l1,96+20*j+l2,list[17*i+j],1);
  for(;;){
    switch(bioskey(0)){
      case 18688:
	     if(i>0){
	     i--;
	     setfillstyle(1,8);
	     bar(194+l1,96+l2,568+l1,436+l2);
	     for(j=0;j<=16;j++){
	       if(17*i+j<68) disp_hz_str(194+l1,96+20*j+l2,list[17*i+j],1);
	       else break;}
	     }
	     else i=0;
	     break;
      case 16896:
	     p_flag=print_test();
	     temp=judge_print();
	     if(p_flag>=0) print_2(194+l1,96+l2,568+l1,436+l2+25*temp,1,1);
	     break;
      case 20736:
	     if(i<3){
	     i++;
	     setfillstyle(1,8);
	     bar(194+l1,96+l2,568+l1,436+l2);
	     for(j=0;j<=16;j++){
	       if(17*i+j<68) disp_hz_str(194+l1,96+20*j+l2,list[17*i+j],1);
	       else break;}
	     }
	     else i=3;
	     break;
      case 283:
	     if(just_flag==1) loadimage("text.img",186+l1,88+l2,576+l1,446+l2);
	     else{
	       setfillstyle(1,8);
	       bar(186+l1,88+l2,574+l1,444+l2);
	       }
	     return;
      case 15360:
	     if(just_flag==1) loadimage("text.img",186+l1,88+l2,576+l1,446+l2);
	     else{
	       setfillstyle(1,8);
	       bar(186+l1,88+l2,574+l1,444+l2);
	       }
	     return;
      default:
	     button("按PgUp、PgDn翻页、F8打印,ESC返回!",0,0,1,0);
     }
  }
  }
void help_1(void)
  {
  char *list[75]={
"一、差示脉冲技术:",
"    JPY微机极谱仪在“测试方法”上采用了",
"差示脉冲技术,其基本原理为:在缓慢变化的极",
"化电压上叠加一个振幅为1─100mv的脉冲电压,",
"脉冲持续时间为50ms,当电压变化到有关电活性",
"物质还原电位时,引起的电解电流在测量电阻R",
"上产生电压降,如果在脉冲叠加前的t1取一个电",
"流值,在脉冲叠加后的t2再取一个电流值,将这",
"样的两个电流进行差分,则两者的差值△i便是",
"扣除了背景电流和电容电流的纯法拉第电流,所",
"得电流、电压曲线即为峰状伏安图。将差示脉冲",
"技术与溶出伏安法结合,就成为差示脉冲溶出伏",
"安法。",
"    差示脉冲法的优点在于能大大减少信号电流",
"中充电电流的比例,从而使测定的检出限能变得",
"更低。这一点对于溶出法中最常用的悬汞电极来",
"显得更为重要。因为悬汞电极的汞量较大,使充",
"电电流也较大,在用线性扫描时,其溶出法的检",
"出法的检出限只能在10-5M左右。而如用差示",
"脉冲法扫描,就能使检出限下降两到三个数量级",
"或更低。对于汞膜电极,由于其汞量小,充电电",
"流也小,因此差示脉冲法扫描时对降低检出限的",
"作用不大,通常降低不到半个数量级。差示脉冲",
"伏安法能够消除充电电流的主要原因是由于它在",
"缓慢增长的线性扫描电位上等间隔的一瞬间各作",
"一次电流取样,将此两次取样电流之差作为信号",
"电流,从而消除了充电电流。用该方法扫描,溶",
"出过程的峰电流关系式与线性扫描时的差别,主",
"要是由脉冲电位增量(△E)代替了电位扫描速",
"度,△E大则峰电流大,但分辨率降低。",
"二、线性扫描伏安:" ,
"    1、“线性扫描伏安”法作为一种常用方法,",
"具有以下功能:",
"    ①、能够在-1.6V~+0.2V范围内,准确选择",
"一定电位加在电解池的工作电极上,以进行富集;",
"    ②、能够从选定的电位以一定的线性扫描速",
"度向正电位方向扫描,并能在预定的终止电位结",
"束扫描;",
"    ③、能够提供电位电流曲线信号。这里直接",
"把扫描曲线及其导数曲线直观地显示在屏幕上。",
"扫描速度可通过“参数设置”中的“间隔时间”",
"和“斜率增量”调整(即:扫描速度=斜率增量",
"÷间隔时间)。",
"    如:斜率增量为2mv,间隔时间为10ms",
"时,扫描速度=2/10(mv/ms),即:",
"200mv/s。",
"    扫描速度直接影响峰电流的高低。扫描速度",
"低有利于分辨相邻的溶出峰,但峰高会降低。",
"    ④、能够同步控制搅拌、通气动作,并能够",
"精确地控制电极系统的富集、清洗和静止时间。",
"    2、线性扫描伏安法的主要非信号电流有前",
"期还原电流、充电电流和极谱极大。",
"    ①、前期还原电流是溶液中微量溶解氧、贵",
"金属离子和其它前还原物质的电解还原产生的,",
"它会使信号电流出现之前就有相当大的“残余电",
"流”。为了尊重原始扫描波形仪器不进行前期补",
"偿,只是在扫描过后在软件上将波形等比例压缩。",
"因此,在线性扫描时很容易满量程,所以此时宜",
"选用低档位。",
"    ②、在滴汞电极上进行线性扫描时,由于电",
"位和电容的变化,充电电流为:",
"    i=dQ/dt =C×(dE/dt)",
"        +E×(dC/dt)",
"    其中:Q是滴汞电极所带电量(微库仑);",
"C是滴汞电极界面电容(微法)。",
"    C×(dE/dt)决定于界面电容和电压",
"扫描速度,扫描前为0,开始扫描时突然跳至某",
"点,故称为初始充电电流。对于慢速扫描的极谱",
"法,这部分电流较小,不影响后来波形。但对于",
"快速单扫描极谱,这部分跳变则相当明显。",
"    E×(dC/dt)决定于电极电压和电容",
"变化速度,后者又与电极面积的增长速度有关,",
"表现为扫描过程中基线的倾斜和弯曲,称之电容",
"电流。为了减小电容电流的影响,仪器设有斜率",
"补偿,即用同步变化但反向倾斜的电压与之抵消。",
};
  int i=0,j=0,just_flag=0;
  int l1=30,l2=0;
  int p_flag=0;
  int temp=0;
  if((getpixel(270,420)!=8)||(getpixel(210,440)!=8)) just_flag=1;
  if(just_flag==1){
    saveimage("text.img",186+l1,88+l2,576+l1,446+l2);
    setfillstyle(1,8);
    bar(194+l1,96+l2,570+l1,436+l2);
    }
  win_board(186+l1,88+l2,574+l1,444+l2,0,7,8);
  for(j=0;(j<=16)&&(i<4);j++) disp_hz_str(194+l1,96+20*j+l2,list[17*i+j],1);
  for(;;){
    switch(bioskey(0)){
      case 18688:
	     if(i>0){
	     i--;
	     setfillstyle(1,8);
	     bar(194+l1,96+l2,568+l1,436+l2);
	     for(j=0;j<=16;j++){
	       if(17*i+j<75) disp_hz_str(194+l1,96+20*j+l2,list[17*i+j],1);
	       else break;}
	     }
	     else i=0;
	     break;
      case 16896:
	     p_flag=print_test();
	     temp=judge_print();
	     if(p_flag>=0) print_2(194+l1,96+l2,568+l1,436+l2+25*temp,1,1);
	     break;
      case 20736:
	     if(i<4){
	     i++;
	     setfillstyle(1,8);
	     bar(194+l1,96+l2,568+l1,436+l2);
	     for(j=0;j<=16;j++){
	       if(17*i+j<75) disp_hz_str(194+l1,96+20*j+l2,list[17*i+j],1);
	       else break;}
	     }
	     else i=4;
	     break;
      case 283:
	     if(just_flag==1) loadimage("text.img",186+l1,88+l2,576+l1,446+l2);
	     else{
	       setfillstyle(1,8);
	       bar(186+l1,88+l2,574+l1,444+l2);
	       }
	     return;
      case 15360:
	     if(just_flag==1) loadimage("text.img",186+l1,88+l2,576+l1,446+l2);
	     else{
	       setfillstyle(1,8);
	       bar(186+l1,88+l2,574+l1,444+l2);
	       }
	     return;
      default:
	     button("按PgUp、PgDn翻页、F8打印,ESC返回!",0,0,1,0);
     }
  }
  }
void help_2(void)
  {
  char *list[48]={
"定量分析中应用的校准方法:",
"一、单标样直接比较法:",
"    用该方法作定量分析时,峰高(Y)和浓度",
"(X)应满足关系:Y=A+BX(A=0)",
"即:峰高与浓度呈正比。在相同测量条件下,用",
"一标准样品的已知浓度Xs和峰高Ys可求得斜率",
"B,于是未知浓度为:X=(Xs/Ys)/Y。",
"二、双标样类推法:",
"    由两个标准样品的测数据点(X1,Y1)和",
"(X2,Y2)唯一地决定一条直线,据此求出未",
"知浓度:",
"      (X1(Y2-Y)-X2(Y1-Y))",
"  X=─────────────────",
"                  Y2-Y1",
"三、多标样校准曲线法:",
"    该法是由多个标准样品的实测数据点(X1, ",
"Y1)、(X2,Y2)......、(Xn,Yn),",
"根据基于最小二乘法原理导出线性回归方程。",
"然后将用未知样测得的峰高代入该式,即可求得",
"其浓度。",
"四、外推加入法",
"    上述的校准曲线法并不限定构成标准系列的",
"空白溶液是否含有待测离子,实际上由回归直线",
"在浓度轴X上的截距可直接得到空白的浓度。如",
"果将未知样当作“空白”,并以此形成浓度系列",
"进而通过确定“空白”浓度得出未知样浓度,这",
"就是外推加入法。",
"五、曲线校直",
"    以上都是基于峰高与浓度的线性关系所采用",
"的校准方法。然而在某些测量条件下,线性模式",
"的理论前提并不都能得到满足。如变价离子在其",
"连续反应过程中,如果相继反应贡献的电流不能",
"保持相同的比例时,测得的峰高与浓度将会偏离",
"线性关系。浓度过高或范围过宽也会有类似情况。",
"这时需要采用非线性校准模式。",
"    在非线性校准模式中,以幂函数的曲线校直",
"方法最为简单,这时峰高Y与浓度X的关系被描",
"述为:Y=A+BXf(1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -