- 博客(9)
- 收藏
- 关注
原创 《流畅的Python》第二章列表生成器中的陷阱
结论:列表生成器中的循环变量(如#2句中的i,我不知道这么说是否规范,书中作者称其作“表达式内部的变量”,但窃以为如此并不能确指)是列表生成器的局部变量,作用域仅限于列表生成器内部。另外,为了使源代码更清晰易读,当使用列表生成器时,其中的循环变量,应该命名为一个更清晰的独立变量名。可以看到,当我们引用列表生成器中的变量i时,提示此变量未定义,那就说明,在我们引用它时,已经超出了其作用域范围!可以发现,列表生成器中的变量i,每次遍历取得的值其实就是x的各个元素。2、如下的错误提示,是不是已经能说明问题了。
2023-03-17 11:15:18
112
原创 在vb.net中使用AVICap函数库监控摄像头视频
本文代码中涉及到avicap32.dll的函数资料均来自因特网,已调试通过。现将调试中遇到的问题和心得记录如下,以备日后查阅,亦冀可供同好参考。先放上代码,代码中的注释为本人所加。Public Class Form1 '下面两个api函数及常量的声明从正常执行的VB6程序中拷贝过来,使用参数和返回值的类型原是long,执行报错,后改为integer Priva...
2019-04-26 14:24:05
1686
原创 编程语言的选择
这篇文章不针对任何人,任何观点,只是作者在编程实践中,基于解决具体的问题而选择是用脑何种语言时,所感所想。学习和使用何种语言,是每个程序员都是要首先面对的问题。每年的语言排名,也是圈里人津津乐道的一件事。但是我以为这排名和语言本身没有什么瓜葛。任何语言的优劣都是基于待解决问题的具体环境,除却这个大前提,任何孰先孰后的争论都是无稽之谈。如果回顾一下流行的编程预言的诞生,就会发现一个有意思的地...
2019-01-30 16:04:12
1155
原创 字符串变量赋值时存储地址的变化
在VB6中,我们并不关心字符串的存储问题,因为系统已经为我们处理好了这个问题。先看看下面的代码:Option ExplicitPrivate Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Pri...
2018-05-28 22:57:18
2093
原创 在VB6中使用integer数组创建一个字符串并输出(姊妹篇)
Option ExplicitPrivate Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)'在过程中声明的变量,都建立在栈上,先声明的变量在高地址,后声明的变量在低地址,而字符串中的字节排在前面的在低地址...
2018-05-13 08:26:25
669
原创 在VB6中使用integer数组创建一个字符串并输出
这在c语言中是一个自然而然的问题,然而在VB6中,因为微软有意隐藏了指针,这个操作便变得困难重重。然而这个问题的研究让我对VB6中的指针有了更清楚地认识,也彻底弄清楚了字符串(变长)在VB6中的存储格式。Sub main() '构建一个整型数组 Dim a(7) As Integer a(0) = 8 '为字符串数据之前的四个字节,存储字符串的长度 a...
2018-05-13 08:15:29
1123
原创 一次实验,弄明白了VB6中的字符串的存储格式
虽然看过《老兵新传》《VisualBasic win32编程》中介绍vb字符串的内容,但依旧对vb中的字符串如何存储不十分清楚,不像对C语言中的字符串那样,在头脑中有一个清晰的轮廓。同时对varptr(),strptr()的理解也只限于书上的那些例子。直到有一天,突然灵光一闪,动手写了下面的程序,当程序执行的结果出现时,我也终于恍然大悟。Option ExplicitPrivate De...
2018-05-06 15:52:35
1381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人