定义在TEXT.H文件中的字符常量都以小写开头,然后紧跟一个下划线,再接着就全是大写字母

/*
****************************************************

String Constants for EPANET Program                           
                                                                    
VERSION:    2.00                                              
DATE:       5/8/00
            10/25/00
            8/15/07     (2.00.11)
            2/14/08    (2.00.12)
AUTHOR:     L. Rossman
            US EPA - NRMRL
                                                                    
****************************************************
*/
/* ------------ Keyword Dictionary ---------- */   //一些整个系统都会用到的关键词,注意命名规则都是小写的w开头,表示是KEYWORD

#define   w_USE         "USE"
#define   w_SAVE        "SAVE"

#define   w_NONE        "NONE"
#define   w_ALL         "ALL"

#define   w_CHEM        "CHEM"
#define   w_AGE         "AGE"
#define   w_TRACE       "TRACE"

...

/* ---------Input Section Names ---------- */  //INPUT文件的段落头(Section Names),内核代码解析*.inp文件时一行行读取数据,根据这些段落头
#define   s_TITLE       "[TITL"                         //注意命名规则都是小写的s开头,表示是Section
#define   s_JUNCTIONS   "[JUNC"
#define   s_RESERVOIRS  "[RESE"
#define   s_TANKS       "[TANK"

/* ---------------- Units ---------------- */  //单位,注意命名规则都是小写的u开头,表示是Units
/*** Limit units to MAXID or less characters ***/
#define   u_CFS         "cfs"
#define   u_GPM         "gpm"

/* -------------- Curve Types ----------------- */ //曲线类型,注意命名规则都是小写的c开头,表示是Curve
#define   c_HEADLOSS    "HEADLOSS"
#define   c_PUMP        "PUMP"
#define   c_EFFIC       "EFFIC"
#define   c_VOLUME      "VOLUME"

/* ------------------  Text Phrases ------------------- */  //常用文本解释,注意命名规则都是小写的t开头,表示是Text
#define   t_ABOVE       "above"
#define   t_BELOW       "below"

/* ------------------ Format Messages ------------------*/                                        //程序的logo

#define LOGO1  \                              
"******************************************************************"
#define LOGO2  \
"*                           E P A N E T                          *"

#define FMT01  "\n... EPANET Version 2.0\n"                                                             //格式化的字符串文本
#define FMT02  "\n  o Retrieving network data"                                                         //常用格式化文本,命名规则基本上是FMT开头
#define FMT03  "\n Correct syntax is:\n epanet <input file> <output file>\n"

...

#define FMT24  "    Number of Valves .................. %-d"                                             //格式化的字符串文本,显示阀门个数等。
#define FMT25  "    Headloss Formula .................. %s"
#define FMT26  "    Hydraulic Timestep ................ %-.2f %s"

...

/* -------------------- Energy Report Table ------------------- */                             //能量方面的报告
#define FMT71  "Energy Usage:"

...

/* -------------------- Node Report Table --------------------- */                             //节点计算信息       
#define FMT76  "%s Node Results:"
#define FMT77  "Node Results:"
#define FMT78  "Node Results at %s hrs:"

/* -------------------- Link Report Table --------------------- */                             //管段计算信息

#define FMT79  "%s Link Results:"
#define FMT80  "Link Results:"
#define FMT81  "Link Results at %s hrs:"
#define FMT82  "\n\f\n  Page %-d    %60.60s\n"

/* ------------------- Progress Messages ---------------------- */                             //进度提示信息

#define FMT100 "Retrieving network data..."
#define FMT101 "Computing hydraulics at hour %s"
#define FMT102 "Computing water quality at hour %s"
#define FMT103 "Saving results to file..."
#define FMT104 "Analysis begun %s"
#define FMT105 "Analysis ended %s"

/*------------------- Error Messages --------------------*/                                         //出错信息,基本以ERR开头,并且数字编号都是大于100的。

#define ERR101 "System Error 101: insufficient memory available."
#define ERR102 "System Error 102: no network data available."
#define ERR103 "System Error 103: hydraulics not initialized."
#define ERR104 "System Error 104: no hydraulics for water quality analysis."

...

/*-------------------- Specific Warning Messages -------------------------*/                //特殊的警告信息,比如水力解算不平衡,负压等情况

#define WARN01 "WARNING: System unbalanced at %s hrs."                                      //出错信息,基本以WARN开头
#define WARN02 \
"WARNING: Maximum trials exceeded at %s hrs. System may be unstable."
#define WARN03a "WARNING: Node %s disconnected at %s hrs"
#define WARN03b "WARNING: %d additional nodes disconnected at %s hrs"
#define WARN03c "WARNING: System disconnected because of Link %s"
#define WARN04  "WARNING: Pump %s %s at %s hrs."
#define WARN05  "WARNING: %s %s %s at %s hrs."
#define WARN06  "WARNING: Negative pressures at %s hrs."

/*-------------------- General Warning Messages -------------------------*/                //普通警告信息

#define WARN1 "WARNING: System hydraulically unbalanced."
#define WARN2 "WARNING: System may be hydraulically unstable."
#define WARN3 "WARNING: System disconnected."
#define WARN4 "WARNING: Pumps cannot deliver enough flow or head."
#define WARN5 "WARNING: Valves cannot deliver enough flow."
#define WARN6 "WARNING: System has negative pressures."

EPANET头文件解读系列1——TEXT.H的更多相关文章

  1. EPANET头文件解读系列2——ENUMSTXT.H

    在前一系统中介绍了text.h,回顾下,该文件包含了EPANET中所有字符串常量的定义,而ENUMSTXT.H文件则是以text.h中定义的字符串常量为基础,来对这些字符串常量进行合理的分组,形成字符 ...

  2. EPANET头文件解读系列7——MEMPOOL.H

    //EPANET应用程序使用了大量的节点与管段数据,而且每个对象数据又有不同时段的数据,这些数据占用了大量内存,而mempool.h就是一个简单快速的内存分配相关的头文件/***  mempool.h ...

  3. EPANET头文件解读系列6——HASH.H

    该文件是EPANET中HASH.C的头文件,下面列出了该文件的源码以及我的中文注释 /* HASH.H**** Header file for Hash Table module HASH.C***/ ...

  4. EPANET头文件解读系列4——EPANET2.H

    该头文件的功能与系列3中的TOOLKIT.H类似,而且内容也几乎一致,所以也就不再详细介绍.

  5. EPANET头文件解读系列3——TOOLKIT.H

    /******************************************************************** TOOLKIT.H - Prototypes for EPA ...

  6. EPANET头文件解读系列5——TYPES.H

    /************************************************************************                            ...

  7. EPANET头文件解读系列9——VARS.H

    /*************************************************************************            Global Variabl ...

  8. EPANET头文件解读系列8——FUNCS.H

    /***************************************************************************                         ...

  9. 【QT相关】类头文件解读、QT编辑模式、读取text文本

    Wizard产生的头文件类包含了必须的#include文件.构造函数.析构函数和UI对象: #include <QMainWindow> namespace Ui {class Notep ...

随机推荐

  1. Django 的 Form组件

    Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 Form类的使用: 1.定义规则: from ...

  2. Python开发【笔记】:concurrent.futures 平行运算

    平行运算 前言: 编写Python程序时,我们可能会遭遇性能问题,即使优化了代码,程序也依然有可能运行的很慢,从而无法满足我们对执行速度的要求,目前的计算机,其cpu核心数越来越多,于是,我们可以考虑 ...

  3. IT运营新世界大会:广通软件开启双态运维大时代

    10月28日,第一届“IT运营新世界大会”在北京成功举办.大会上由10家ITOM领域的标杆企业宣布结成“ITOM联盟”. 广通软件(证券代码:833322)作为大会的创始成员全程推动见证了这一历史时刻 ...

  4. python面向对象(类和对象及三大特性)

    类和对象是什么 创建类 新式类 和 经典类 面向对象三大特性 继承 封装 多态   面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...

  5. django后台获取相同name名的数据

    django后台获取相同name名的post数据html: <form method="post"> <input type="text" n ...

  6. UML Diagrams Using Graphviz Dot

    Introduction Background This article is about using the dot tool from the Graphviz package to automa ...

  7. mysql 约束条件 unique key 唯一的键

    如果不设置unique 会出现两条相同的记录 mysql)); Query OK, rows affected (0.01 sec) mysql ,,'mike'); Query OK, rows a ...

  8. HDFS中的读写数据流

    1.文件的读取 在客户端执行读取操作时,客户端和HDFS交互过程以及NameNode和各DataNode之间的数据流是怎样的?下面将围绕图1进行具体讲解. 图 1 客户端从HDFS中读取数据 1)客户 ...

  9. [svc]堡垒机模型设计初步

    models from django.contrib.auth.models import AbstractUser from django.db import models # Create you ...

  10. Visual Studio Code常用设置

    Visual Studio Code常用设置 • 自动保存设置 ▶ 文件(F) -> 首选项(P) -> 用户设置(U) ▶ 将"files.autoSave": &q ...