首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基础扩展 | 14. 栈结构应用基础示例

使用VBA实现栈结构》中,我们使用很简洁VBA代码就实现了栈数据结构。我们知道,栈以有序方式来控制数据输入和输出,新元素只能加到栈顶,也只能取走栈顶元素,这样实现了后进先出数据结构。...注意,示例中用到实现栈结构基础代码见《基础扩展 | 13. 使用VBA实现栈结构》。...示例1:十进制数转换成二进制 下面的代码十进制数转换成相应二进制数: Dim stkTest As New Stack '数制转换代码 Sub convert() '要转换成进制数...Dim str 'n修改为想要转换成进制 'numValue修改为想要转换数 n = 2 numValue = 1348 num = numValue...图1 可以代码中变量n修改为想要转换进制,例如n=2,表示数转换成二进制。如果n=8,那么数转换成八进制。代码中变量numValue是要转换十进制数,你可以修改为任意十进制数。

36710

Excel编程周末速成班第18课:使用用户窗体创建自定义对话框

窗体控件,包括窗体可视化和功能界面。每种控件都由其自己类表示。 用户窗体中VBA代码。严格来说,用户窗体并不总是必须包含代码,但是大多数情况下,确实需要包含代码。...窗体设计基础 要将新用户窗体添加到Excel工程,确保“工程”窗口中选择了正确工程。从VBA编辑器菜单中选择“插入➪用户窗体”,编辑器打开一个新空白用户窗体。...表18-2:设置用于UserForm对象StartUpPosition属性 ShowModal属性通常保留其默认True,这适用于大多数用户窗体,因为直到关闭窗体(例如,当窗体用于接受来自用户数据输入时...1.VBA编辑器中,选择“插入➪用户窗体”以用户窗体添加到当前工程。 2.“属性”窗口中,窗体Name属性更改为TestForm,并将其Caption属性更改为用户窗体演示”。...然后,工具箱中,单击“命令按钮”图标。 4.通过在窗体中拖动按钮放置在所需位置。 5.“属性”窗口中,按钮Name属性更改为“cmdMove”,将其Caption属性更改为“Move”。

10.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

VBA专题12:详解GetAttr函数

有时候,你可能只想检查一个字符串是否确实指向一个有效文件或目录。 VBAGetAttr函数返回文件基本属性。...注意,由于它是一个函数,因此输出一个;它不是文件对象属性,不能写入GetAttr来更改文件属性。同样,也不能使用此函数文件设为只读或隐藏文件。...表中第一列是VBA名称,相对于第二列中值更易理解。VBA程序中,可以 vbXX名称与数字互换使用。 输出 GetAttr函数输出究竟是什么呢?...为此,这些数字中任何一个加在一起永远不会“翻转一位”并延续到下一列,因为每个数字都在其自己列中完全表示。 要查看4是否是6“一部分”,可以检查4中每个1位是否6中都有对应1位。...按位运算是逐位进行,而不是位串视为一个整体,并且属性十进制表示中间隙使按位AND能够检测属性是否为真。 注:本文整理自wellsr.com,供有兴趣朋友参考。

1.8K20

Excel编程周末速成班第24课:调试和发布应用程序

换句话说,当VBA断点处停止时,包含该断点行尚未执行。也可以仅在包含可执行代码设置断点。其中不包括Dim语句。VBA不允许你不可执行设置断点。...在这种情况下,VBA显示一个警告对话框。 使用监视 监视使你能够执行期间确定程序变量。检查变量最简单方法是中断模式下。...只需将鼠标指针停留在代码中变量名称VBA就会弹出一个带有当前小窗口。如果这还不够,VBA提供了更复杂监视工具。 VBA可以程序调试期间监视任何变量或表达式。...VisualBasic“监视”窗口中显示表达式(定义监视表达式时,此窗口会自动打开)。每当程序进入中断模式时,显示都会更新。 可以指定每当表达式值更改时,程序就进入中断模式。...每个监视表达式都显示在其自己;该行左端图标标识监视类型(“监视表达式”,“值更改时中断”或“为True时中断”)。“监视”窗口中列显示以下信息: 表达式。被监视表达式

5.7K10

轻松拿捏C语言——关于 printf 和 scanf 那些事儿

二、scanf 我们可以用scanf给变量输入,然后再用printf再将其打印屏幕。...程序运行到这个语句时,会停下来,等待用户从键盘输入。 用户⼊数据、按下回车键后, scanf() 就会处理用户输入,将其存入变量。 它原型定义头文件 stdio.h 。...所以,用户输入数据之间,有一个或多个空格不影响 scanf() 解读数据。另外,用户使用回车键,输入分成几行,也不影响解读。...解读用户入时,会从上⼀次解读遗留第⼀个字符开始,直到读完缓存,或者遇到第⼀个不符合条件字符为止。...("%d\n", x); scanf("%f", &y); printf("%f\n", y); return 0; } ⾯示例中, scanf() 读取用户⼊时, %d 占位符会忽略起⾸空格

9010

AutoCAD 产品设计:图形单位

某个圆半径,在数据是 12.3456,但我们给长度单位配置为 “科学计数法类型”,精度为 2(即保留两位小数),特性面板或其他显示界面上,它需要显示为 1.23E+01。...例子 比如设置线性单位类型设置为科学计数法(对应 1),精度为 2。 数据是十进制 12.345678, UI 上会转换为 1.23E+01 进行显示。...如果在 UI 层输入框将其改为 1.23E+02,失焦时会将这个字符串转换为十进制小数格式 123,保存回数据层。...其实更准确描述是 “度”,而不是 “角度”。 该配置用于 UI 层显示对应类型角度单位,数据层保持原来角度,并且 UI 层修改对应格式数据也会转回弧度,保存回数据层。...例子 假设角度单位类型设置为弧度(对应 3),精度为 2,旋转方向为 false(逆时针),基准角度为 0。 数据是十进制 180, UI 上会转换为 3.14r 进行显示。

30660

VBA程序报错,用调试三法宝,bug不存在

案例:根据左侧「C列」富豪榜身价数据,利用右侧「G列」判断标准,判断后「富豪尊称」填入「D列」 image.png 正式分享上述案例之前,先插播一条关于美化宏按钮信息。...image.png 一对比上图,很明显左侧宏按钮颜值更高。 就像同样多金2个男人,要是我,肯定选择更帅那个,不是吗? 那么,左侧颜值更宏按钮如何设置呢?...VBA编辑器中,依次点选「调试」-「逐语句」,当然最高效方法是使用快捷键「F8」 image.png (4)鼠标悬停变量处,自动显示当前变量 代码过程中,我们鼠标悬停在变量VBA编辑器将自动提示当前变量取值...「变量i」变化,「表达式」文本框填入「i」,然后点击「确定」 image.png 然后,我们就可以看到VBA编辑前底部会生成一个名为「监视窗口」窗体,上面显示了监控相关内容。...果然是单元格判断条件写错了,才导致了这次翻车事件~ image.png 然后,修改代码后,发现代码执行结果正常。

2.8K00

VBA程序报错,用调试三法宝,bug不存在

案例:根据左侧「C列」富豪榜身价数据,利用右侧「G列」判断标准,判断后「富豪尊称」填入「D列」 正式分享上述案例之前,先插播一条关于美化宏按钮信息。...一对比上图,很明显左侧宏按钮颜值更高。 就像同样多金2个男人,要是我,肯定选择更帅那个,不是吗? 那么,左侧颜值更宏按钮如何设置呢?...VBA编辑器中,依次点选「调试」-「逐语句」,当然最高效方法是使用快捷键「F8」 (4)鼠标悬停变量处,自动显示当前变量 代码过程中,我们鼠标悬停在变量VBA编辑器将自动提示当前变量取值...(4)「添加监控」让VBA调试更贴心 我们VBA选项卡依次点选「调试」-「添加监控」 弹出「添加监控」表达式填写需要监视内容即可,然后点击右侧「确定」按钮,比如:本案例中需要监控「变量i」变化...果然是单元格判断条件写错了,才导致了这次翻车事件~ 然后,修改代码后,发现代码执行结果正常。

24910

c语言输入输出格式

其功能是按用户指定格式,把指定数据显示到显示器屏幕。 一、printf函数调用一般形式 printf函数是一个标准库函数,它函数原型头文件“stdio.h”中。...后面专门给予讨论。 非格式字符串输出时原样照印,显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型应该一一对应。...本例中,由于scanf函数本身不能显示提示串,故先用printf语句屏幕输出提示,请用户输入a、b、c。执行scanf语句,则退出TC屏幕进入用户屏幕等待用户输入。...scanf语句格式串中由于没有非格式字符“%d%d%d”之间作输入时间隔,因此入时要用一个以上空格或回车键作为每两个输入数之间间隔。...3.TC屏幕下运行含本函数程序时,退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。

2.8K20

C语言输入与输出

如果不满5位,对应前面会添加格。 输出默认是右对齐,即输出内容前面会有空格;如果希望改成左对齐,输出内容后面添加空格,可以占位符 % 后面插入一个 - 号。...“2”:是指定输出宽度数字。在这个例子中,宽度为2,如果输出数字不足两位,则用0填充。 “d”:是指定输出数据类型为十进制整数。 因此,"%#02d"表示一个十进制整数以指定格式输出。...第二个参数 &i 表示,将用户从键盘输入整数存入变量 i。 运算符(指针变量除外),因为 scanf() 传递不是,而是地址, 即将变量 i 地址指向用户输入。...所以,用户输入数据之间,有一个或多个空格不影响 scanf() 解读数据。另外,用户使用回车键,输入分成几行,也不影响解读。...解读用户入时,会从上一次解读遗留第一个字符开始,直到读完缓存,或者遇到第一个不符合条 件字符为止。

3000

巧用python“int”函数

需要注意是,base省略时,缺省默认为10。...字符串“123”,先转为数字123,再按照十进制输出,就是291。这里123是16进制123,输出时是10进制,所以实际是0x123=291。...如果把代码中“16”改为“17”,程序正确,输出288,即十七进制GG转为十进制是288。 注意:在这里base范围是2~36!!!...(或者说base赋值以后,x只能代表字符串)  2.当x为字符串时,用print输出,需要将字符串按照base转为十进制,最终显示结果一定是十进制。...但是如果按照计算机思路思考,变得十分简单。第一个格子放1粒,第二个放2粒,第三个放4粒,以此类推……这个问题实际就是一个二进制数转为十进制。 如果只有两个格子,一共就需要1+2=3粒米。

2.7K20

干货 | Office文档钓鱼实战和免杀技巧

,目的是让用户文档中一些任务自动化。...思路: 编写一个带有宏代码DOTM文档,上传服务器 编写一个能够远程连接DOCX文档 将该文档压缩找到并更改settings.xml.rels文件中内容,将其中target内容修改为服务器DOTM...Web服务,放在其目录下, http://192.168.2.148:8000/hello.doc 制作 docx 直接下载份简历 下载简历文件后缀 docx 改为 zip,解压....可以IYQ简单理解成内置excel中一种特殊‘web浏览器’(不能加载脚本),通过IQY【即web查询】语句,可以直接各类web列表数据轻松引入到当前excel中,而正是因为这样,从而给了我们利用...A0 接下来就是按照之前方法,来拉取我们自己服务器payload文件 导入 点击是,即可弹出计算器 文件保存,放在靶机打开 点击启用内容,继续点击是,即可弹出计算器。

6.4K21

mysql事务前世今生-什么是redo日志

比如,某个事务user表中第6条纪录第8个字段由1修改为2,而假设物理地址第6个页面中偏移量为88处,只需要记录: user表空间第6号页面中偏移量为88处值更新为2....为了节约空间,作者type中也做了区分,分别是: MLOG_1BYTE(type对应十进制数字为1):页面某个偏移量写入1个字节redo日志类型。...如下: MLOG_REC_INSERT(type对应十进制数字为9):插入一条使用非紧凑行格式(REDUNDANT)记录。...MLOG_COMP_PAGE_CREATE(type对应十进制数字为58):创建一条存储紧凑行格式页面。...MLOG_COMP_REC_DELETE(type对应十进制数字为42):删除一条使用紧凑行格式记录。

29221

Excel编程周末速成班第21课:一个用户窗体示例

excelperfect 引言:这是知识星球App完美Excel社群中发表Excel VBA编程系列文章中一篇,使用一个示例来讲解用户窗体基础应用。...长时间盯着工作表行和列网格可能会导致疲劳并增加出错机会,设计良好用户窗体使查看更容易。 更高准确性。你可以编写代码以确保每一项数据放置工作表中合适位置,手动输入更容易出错。 数据验证。...3.选择插入➪用户窗体一个新用户窗体添加到工程中。 4.使用属性窗口窗体Name属性更改为frmAddresses,并将其Caption属性更改为“地址输入”。...9.添加第三个命令按钮控件,将其Name属性更改为cmdCancel,将其Caption属性更改为“取消”,并将其Cancel属性更改为True。 现在,所有必需控件都在窗体。...如你第20课中所学习,此事件接收一个参数,该参数标识所按下键。如果该键可以接受,则将其传递;否则取消。 VBA联机帮助中KeyCode列表中,你可以看到键0到9代码为48到57。

6K10

51单片机系列有哪些类型_51单片机1602液晶显示原理

大家好,又见面了,我是你们朋友全栈君。 Lcd液晶屏幕带有背光显示,可选择蓝光白光黄光三种背光颜色屏幕,它更具有美光性,实际生活中有广泛应用。...入 : c * 出 : 无 * 说 名 : 该函数是12MHZ晶振下,12分频单片机延时。...P0口高四位,所以传送高四位不用改 Lcd1602_Delay1ms(1); LCD1602_E = 1; //写入时序 Lcd1602_Delay1ms(5); LCD1602_E = 0; LCD1602...位总线转为4位总线 LcdWriteCom(0x28); //四位线下初始化 LcdWriteCom(0x0c); //开显示不显示光标 LcdWriteCom(0x06); //写一个指针加...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站立刻删除。

70810

告诉你什么是Excel VBA对象模型及如何引用对象

标签:VBA,对象模型 要编写Excel VBA程序,必须知道对象。可以认为,VBA基于面向对象编程,这意味着VBA程序主要是处理(或操控)对象。...基本说来,Excel VBA对象模型是编程时可以使用对象层次结构,它使得引用要操控对象更容易。 对象层次结构如下: 层级1:最顶端,只有一个对象。....)每个VBA对象连接到上一个对象(对象父对象)。...这样,上面的代码可修改为: Worksheets(1) 或者: Sheets(1) 好了,解释清楚这些后,我们回过去看如何引用具体Range对象。...实际,可以简化对象引用,使代码更简短。 之所以能够简化完全限定引用,是因为Excel VBA对象模型有一些默认对象,当没有明确输入时,Excel会假设你引用是这些对象。

4.3K30
领券