
NeoBook:非程序员的编程环境
本文适用于谁?
本文主要是为那些不是专业程序员但希望能够为Windows计算机创建自己的计算机程序的人编写的。 今天的编程是一种普遍的能力,对于几乎所有专业领域的人来说,当然对于个人目的,它肯定会派上用场。 对于计算机科学和编程的老师来说,这篇文章也很有用,因为它涉及NeoBook,它是一种可视化编程环境,您可以在其中从头开始成功学习编程并创建完整的应用程序。 有经验的程序员在需要快速创建足够简单的内容时,也会使用NeoBook而不是专业的IDE。
为什么我决定写NeoBook
超过10年的NeoBook编程经验和超过5年的向学生教授该程序的经历,让我陷入了无数次思考-为什么这么少的人知道使用NeoBook可以几乎为任何目的独立创建功能强大且美观的应用程序? 此外,对于一个普通的有信心的计算机用户来说,掌握NeoBook使其达到创建有用,美观和可靠的程序的水平是一天半小时的培训时间,每天半小时(对于没有任何编程方面的初步培训的个人计算机的普通用户而言,情况就是如此)。
NeoBook中的编程可提供快速,切实的结果,这对于学习编程特别是对于现代年轻人和忙碌的人们而言至关重要。 现在是纠正这种不公正现象的时候了,向仍然选择第一门编程语言的每个人讲述NeoBook的想法-毕竟,这不仅是一种教育语言,而且还允许您编写完全专业的Windows计算机应用程序。
为什么人文编程
由于我自己不是专业程序员(我是心理学家),因此在这里简单地分享我的经验并开始描述NeoBook的功能可能是最正确的。
碰巧的是,我需要对某些东西进行计算机化处理,尤其是我自己的方法来诊断动机(欲望的力量,欲望……)。 了解了各种测试构造函数后,我开始对它们进行逐一排序,并用字母来折磨开发人员,例如“将这样的机会添加到您的精彩程序中会很好”。
与使用现成的测试构造函数时一样,一件事或另一件事都不适合我……而且我不想忍受任何限制。 最终,我想到了一个自己制作程序的聪明想法。 但是如何? 雇用专家还是自己尝试?
选择用于计算机化的技术非常简单(提出问题,将得到的分数乘以答案的形式并根据给定范围进行解释),并且聘用程序员非常昂贵,而且在我的情况下不方便(应该进行大量程序更新)。 因此,我决定自己创建一个程序,并开始阅读有关Delphi的书籍,然后阅读有关傻瓜的Delphi,然后针对学童,然后对于儿童的书籍……如果有这样的书,我可能会达到“ Delphi for babies”的水平。
由于我没有基本的编程知识,因此我无法将重要信息与中学知识区分开,并且真的无法开始练习。 像“画梯子”这样的编码练习使我处于严重的沮丧状态。 我认为相当数量的新生植物已经达到了这个阈值-这是您要放弃的那一刻。
对我来说幸运的是,我啄了一个互联网企业家的广告-他在NeoBook中提供了付费的编程课程,并将其称为“用于创建程序的程序”。 所以我找到了NeoBook。 在寻找有关她的更多信息时,我遇到了一个
新手论坛 ,他们在那里教我如何使用该程序。
NeoBook可以创建什么?
起初,我有疑问-在NeoBook中是否可以做一些值得的事情,我是在浪费时间吗? 但是现在我可以说,在与NeoBook一起工作的所有时间里,我从未遇到过我真正需要的问题,我无法解决自己或在Neo-booker社区(其中包括NeoBook的众多功能和插件的创建者)的帮助下无法解决。 对于个人和职业生涯,我做到了:
- 互动式主题和心理测验,问卷和问卷;
- 用于各种科学研究的刺激材料;
- 多媒体培训计划,以发展技能和能力;
- 诊断综合体(例如,通过电子邮件将测试结果发送给我的一系列技术);
- 具有超链接,书签和翻页效果的电子书;
- DVD和CD的交互式启动菜单;
- 带有格式文本,搜索过滤器和报告打印的插图数据库;
- 安全的网络浏览器,用于测试学生(学生通过在线考试时,他无法在网络浏览器或一般计算机上打开其他任何内容);
- 一个程序,用于监视活动和对孩子进行远程(通过电话)计算机控制(自己的父母控制);
- 方便的数据库来存储密码;
- 老年父母的屏幕截图(这样一来,他们只需单击托盘中的屏幕即可向我发送邮件的屏幕屏幕);
- 启动器,小部件,小部件,提醒,多媒体演示等等。
如果需要,您可以创建自己的简单图形或文本编辑器(例如,根据需要设计的个人日记),用于创建拼贴画或名片的程序,自己的组织者,补充菜谱的目录,作为礼物的多媒体播放器或音频转换器,简单的Web Messenger或本地网络聊天,用于收集科学研究数据并将其保存到文件(包括PDF和RTF)的科学研究程序,用于在Web服务器上处理文件的程序,视频监控程序,您可以创建自己的浏览器插件 PA和很多很多。
对于非程序员,此枚举很有用,因为它表明了NeoBook的真正强大功能,并回答了NeoBook是否值得花时间在其开发上的问题。 对于我自己,我得出的结论仍然值得! 同时,借助专业程序员积极为NeoBook编写的插件和功能,NeoBook的功能也在不断扩展。 他们真是低弓!
看看NeoBook
这是NeoBook窗口在编辑模式下的样子(视频讲座“思维逻辑的发展”的主题测试项目已打开,带有测试问题的文本对象以方形圆点突出显示):

屏幕快照显示了Russified NeoBook(版本5.8.7)的主窗口。 顺便说一句,与大多数插件一样,帮助文件也被翻译成俄语。
NeoBook具有编程环境的所有功能,它具有:
- 界面的可视化设计器 (以“我所见即所得”的原则进行设计-该程序是通过简单地拖放对象来创建的,在这一部分中,它类似于常规的文本或图形编辑器;必要的代码写在项目属性中,创建的对象的属性中以及各种可用事件的页面中) );
- 代码编辑器 (具有语法突出显示和用于设置命令选项的窗口;窗口中提供了代码编辑器,用于设置项目属性,项目页面以及使用的对象;代码以其自己的脚本语言编写-可以用非常简化的Delphi表示);
- 解释器 (在测试编译模式下工作,并且在最终编译期间也嵌入到最终应用程序中,并使将来创建的程序完全独立于NeoBook应用程序);
- 调试器 (具有查看变量和执行的命令的当前值的能力,这使您可以控制脚本的执行速度,甚至可以在暂停模式下逐行执行代码,这使得捕获错误变得非常简单)。
NeoBook的主要功能和局限性
NeoBook编程环境允许您使用带有多个窗口的扩展界面来创建简单的实用程序和程序,该界面具有任何形状的窗口以及所有标准对象(按钮,列表,下拉列表,复选框,单选按钮,滑块,图像,计时器,输入字段,题词,文本,多页文本,浏览器,容器等)。
可以使用各种事件进行编码(左键单击,右键单击,鼠标悬停,鼠标左移,拖放,计时器触发,对象状态更改,应用程序窗口状态或大小更改等); 允许您在项目中使用主菜单,上下文菜单和任务栏菜单; 您可以创建一个可以随时更改的界面(语言和外观); 提供了各种音频,视频,动画(GIF,Flash,NeoToon)手段,以及一个浏览器(基于IE或Chrome),可以将其直接集成到NeoBook应用程序中,并通过它与Internet协同工作。
NeoBook允许您与外围设备进行交互(例如,将常规的网络摄像机转换为带有运动传感器的摄像机),使用各种Internet和Intranet协议(HTTP,HTTPS,FTP,TCP,IP,UDP); 可以与Windows命令行一起使用,可以与整个文件夹,档案(zip,zlib,rar,cab)一起使用,并且可以与单独的文本,图形,多媒体,可执行文件以及系统和配置文件(包括BAT,CMD,INI,INF, SCF,CFG和Windows注册表); 可以加密和散列,调用其他程序并进行管理; 创建本地和全局键盘快捷方式(并将它们发送到其他应用程序) 可以编译一个独立的程序,不需要安装程序(便携式)exe文件,也可以使用安装程序来补充程序。
在这些限制中,应该指出的是NeoBook不支持多线程(这很大程度上可以通过可与NeoBook脚本并行工作的插件来补偿),而NeoBook不支持动态创建对象(尽管通常可以预先设置所需数量的对象)。
NeoBook语言
NeoBook语言可以归因于高级解释性脚本语言。
它由特殊词-命令组成。 使用这些命令,可以给计算机“定单”。 例如,AlertBox命令是在屏幕上显示带有标题,图片,消息文本和“确定”按钮的窗口的“命令”。 编写命令的规则称为语法。
命令序列(每个命令总是写在新行上)是程序代码,这些程序代码随后将由所谓的NeoBook播放器执行。 内置到您的程序中后,此播放器将读取代码并逐行-逐个命令执行(播放)(在测试编译期间,可在调试器窗口中观察到此过程)。
例如,如果我们在按钮的属性中编写AlertBox命令(在“左键单击”事件上),那么当用户在程序中左键单击该屏幕上的按钮时,NeoBook播放器将读取并执行该命令-即 将显示一个消息框。
玩家如何确切地执行Neobucker的操作是没有必要知道的,但是Neobuker需要玩家理解的命令列表。 当然,所有命令都在NeoBook帮助中进行了描述,并且始终可以通过代码编辑器中的“命令”菜单使用,因此您可能不知道(或不记得)这些命令,而只是从可用列表中进行选择。 幸运的是,每个团队都有一个提示。
在下面的示例中,让我们看看如何选择命令。
世界您好!
让我举一个经典的语法示例:“ Hello World!” 同时,我将展示如何通过“命令”菜单在代码编辑器中选择命令。
该链接上有一个视频剪辑(1分钟2秒,无配音),显示一个按钮创建程序的整个过程,单击该按钮会弹出一个带有给定文本的消息框(
备份链接 )。
要在监视器屏幕上显示一个简单的消息窗口,一个命令就足够了:
AlertBox " " ", !!! ))"
在初学者的第一个程序中,可以将此代码放在一个按钮上,单击该按钮即可在正在运行的程序中打开此欢迎窗口。
AlertBox命令创建的窗口的样式是从Windows借用的,默认图像可以用您自己的任何图像替换(包括透明和任意大小),就像我在这种情况下所做的那样:

AlertBox团队还支持多行文本(代码编辑器中的换行符用特殊字符-竖线表示)。 不需要记住特殊字符,因为对于非程序员,您可以通过命令设置助手窗口以更方便的方式编辑消息文本。 当您通过“命令”菜单选择命令时,此窗口自动打开(请参见下面的屏幕快照中的数字3-屏幕按钮“左击”事件的代码编辑器已打开)。
可以看出,这些团队被分为几个部分(“导航”,“消息/对话框”,“多媒体”等),单击一个部分(下面的屏幕快照中的数字4)将打开此部分中可用的命令列表。 同时,如果将鼠标悬停在列表中的命令上方(请参见屏幕快照中的数字5),则在命令列表底部的特殊黄色字段中将出现提示-命令的用途:

像使用具有
参数 (可以配置或更改的
参数)的任何其他命令一样,使用AlertBox命令单击此列表将为该命令的设置助手打开窗口。 非程序员(至少起初)更容易在这样的帮助器窗口中输入参数值-它控制语法的正确拼写(例如,不要忘记关闭引号),此外,在帮助器窗口中,只需使用Enter键就可以完成新行,就像在任何常规文本编辑器中一样:

当您单击“测试”按钮(由上面的屏幕快照中的数字3表示)时,即使没有开始对该程序进行测试编译,我们也可以看到窗口的外观:

辅助窗口可确保正确填写团队参数,从而极大地方便了初学者和老师的生活。 然后,可以随时通过任何带有参数的命令调用代码编辑器中的此帮助器窗口-只需双击该命令所在的行即可。
在代码编辑器中,AlertBox命令现在如下所示(箭头标记换行符-竖线):

给变量赋值
语法的另一个重要示例:如何将变量设置为某个值(即如何将某些内容放入存储单元)。
变量是带有名称的计算机存储位置。 名称起着地址的作用,您可以在其中找到所需的单元格。 正如我们可以将不同的东西放在行李寄存处的单元中一样,可以将不同的内容添加到计算机的存储单元中,而单元的名称保持不变。
要在NeoBook中创建变量或更改其值,使用SetVar命令就足够了。
该命令有两个参数(可以更改的参数)-这是“变量名”(可以用俄语设置,尽管程序员建议使用拉丁字母),而“新值”(可以是任何类型-数字,字符串等)。 NeoBook中的变量名总是用方括号括起来。
使用SetVar命令,我们将这样的内容(数字,文本,文件或其他任何内容)放入带有这样的名称的存储单元中。 这样可以将所需的文本行放入变量中:
SetVar "[]" " () "
同时,NeoBook不需要变量已经存在或已预先声明(如果没有变量,则将使用SetVar命令自动创建该变量),无需分配内存或设置变量类型(可能根本不知道数据类型)。如果需要,可以始终使用特殊命令设置变量的类型)。 所有这些极大地简化了NeoBook的编程。
SetVar团队支持简单的数学运算也很方便,这使得创建各种计数器(例如,测试中正确答案的计数器)变得容易:
SetVar "[VsegoBallov]" "10" SetVar "[VsegoBallov]" "[VsegoBallov]+1"
执行完这两个命令后,变量[VsegoBallov]将包含11。
通常,会有一个团队进行数学计算。
要清除变量,只需将命令的第二个参数保留为空(为变量分配一个空值):
SetVar "[VsegoBallov]" ""
代码编辑器
NeoBook代码编辑器支持自动语法突出显示。 您可以自定义颜色,默认情况下,代码注释以点开头并以灰色突出显示,代码编辑器中的变量以红色突出显示,命令以蓝色突出显示。 举例来说,我将在“结果”按钮上的“左击”事件中提供代码段(从主题测试到视频讲座):

屏幕截图显示了测试结果处理脚本的开始。 如果团队的名称拼写错误,那么这样的命令而不是蓝色将被涂成黑色。
编写代码时,编辑器窗口不必如屏幕快照中所示那样紧凑;您可以使用工具栏上的特殊按钮(请参见上面的屏幕快照中的图2)-在“插入变量”按钮(请参见图2)之间将其扩展到全屏。 1)和“命令”菜单(见图3)。 当代码很大时,在扩展的编辑器窗口中工作很方便。
在NeoBook中创建应用程序的视频示例
这里有一个视频(8分钟46秒,无配音),您可以在其中看到创建简单的主题测试以及对测试结果进行软件处理并向用户显示消息的整个过程(
备份链接 )。
创作者访谈
特别是对于本文,我能够对NeoBook的创建者David Riley(David Riley,NeoSoft Corporation,官方网站:
neosoftware.com )进行简短采访。 由于本德市(美国俄勒冈州)与秋明州(我居住的城市)相距甚远,因此我通过邮件问了我的问题,大卫也很乐意回答。
1.您是如何想到创建NeoBook的? 您何时,为何决定这样做? 如果可能,请向我们介绍一些有关您的信息。大卫:我不记得确切是NeoBook的想法是从哪里来的。 那时,人们对当时被称为“数字出版物”或“电子书”的新概念很感兴趣(今天我们称它们为电子书)。 这是NeoBook的初衷,因此被称为Neo-BOOK。 在发布第一个版本后,我们发现大多数人将其用作编程工具,而不是发布工具。 因此,NeoBook逐渐从出版书籍的方式演变为面向非程序员的开发平台。
年轻的时候,我就沉迷于编程,这是我大部分时间所做的。 随着年龄的增长,我不再对它抱有太大的兴趣。 我很少编程,尽管有时我会为自己和朋友制作一些小工具。
2.该程序的第一个公开版本在哪一年发布的? NeoBook的生日是哪一天? 您保存了她的截图吗?大卫: 1993年底发布了DOS 1.0的NeoBook的第一个版本。 我认为生日在11月下旬或12月初。 屏幕截图可能在某处,但它们可能是在装有软盘驱动器的旧计算机上,因此没有简单的方法来获取它们。 我发现了1994年的旧印刷手册,因此显然是从NeoBook的第一版或第二版中获得的。 这是演示旧DOS界面的页面扫描:
3.是什么启发和支持您创建和开发该程序的?大卫:我认为有两件事。 首先是真诚地渴望做一些人们认为有用的事情。 我们从用户和提议中收到了很多反馈,我将它们汇总在单独的列表中。 有些建议是可怕的或不可行的,但许多建议确实很好。 我制定了一系列建议,并实施了尽可能多的好建议。 激励我的另一件事是需要赚钱,以养活自己和当时的员工。
4.您是否完全自己编写了程序?大卫:实际上,我自己完成了NeoBook程序的大部分工作。 与大多数大型应用程序一样,我使用了许多商业和公共库。 我不知道如何将我从头开始编写的代码与从库和其他来源获得的代码分开。
5.您是否打算与路易斯一起以该程序的新品牌(VisualNEO Win)参与该程序的开发?大卫:我有所帮助,但我不打算在将来参与任何重大发展。
6.您想对NeoBook粉丝说些什么?大卫:谢谢您的支持。 很抱歉,我无法继续前进,但是我认为Louis将为NeoBook注入新的活力。
大卫,非常感谢!新生活
从2018年9月1日起,NeoBook被转移到西班牙程序员LuisHernándezPeña(LuisHernándezPeña,SinLios Soluciones Digitales,Becerril De La Sierra,西班牙)进行进一步开发,现在NeoBook称为VisualNEO Win(该程序的官方网站:
visualneo.com )。 在本文发布时,VisualNEO Win的功能与NeoBook 5.8.7 Professional(这是旧名称下的最新版本)没有什么不同,因此在进行重大更新之前,您可以认为这些程序是相同的。
自2014年以来,我一直在为本科心理学家教授NeoBook编程(作为“心理学的创新和传播技术”课程的一部分,并且自2016年以来,我一直在学期选修课程“人文编程基础”,该课程完全基于NeoBook,适用于所有专业的学士学位。大学秋明状态,在2016年,这一年我设法赢得
赠款弗拉基米尔波塔宁创建在线课程
“从地上爬起来的人文快速编程” (使其成为一个开放的平台
Moodle的 ),现在计划 vaniyu在NeoBook / VisualNEO赢可以完全自由,随时充电的,并了解所有那些谁希望。在这个过程中,充分展现由我的所有内容以前编写的教程,并在NeoBook的研讨会。
本课程旨在进行15-30个小时的自学(适用于14岁以上的所有个人计算机用户,无需进行编程方面的初步培训),并使您可以在短短一个月内(如果您每天学习30-60分钟)学习NeoBook,达到自学有用的水平,初始和中等复杂性级别的可靠而精美的程序。 课程的理论部分通过讲座进行介绍,实践部分通过分步说明(带有屏幕截图和简短视频)进行介绍,使您可以创建一个简单而完整的程序。
选择根据说明创建的项目顺序,以便在实践中立即将Neo-booker引入NeoBook编程环境的所有主要功能,同时为他提供回答“为什么我应该学习编程?”问题的选项。
给程序员的信息
NeoBook允许您使用外部DLL,局部和全局变量。 支持使用逻辑运算符,正则表达式,递归开发的数组; 允许您将代码格式化为例程和函数(包括使用其他编程语言创建的例程和函数:VBScript和JScript,并借助PHP,PdScript,AutoIt,Ruby和newLISP的特殊插件); 有机会调用WinAPI函数。 程序员Delphi,Visual Basic,C ++,C#,VB.NET(以及任何其他支持ActiveX控件的软件环境)可以将NeoBook编译的应用程序嵌入其软件产品中。 应该单独强调的是,借助插件,NeoBook的功能几乎可以无限扩展:支持NeoBook开发的程序员可以在各种各样的主题上创建新的插件(存在用于Delphi,C ++和PowerBasic的SDK)。 例如,使用NeoBookDBPro插件(使用ODBC和ADO技术),NeoBook项目可以使用许多数据库格式:Microsoft Access,MySQL,SQLite,Microsoft SQL Server,Oracle,PostgreSQL,Paradox,dBase等。
结论
最后,我想强调的是,易于开发和强大功能的结合使NeoBook(现在称为VisualNEO Win)成为创建程序和教学程序的非常有效的工具。 首先,对于年轻人和人文学科而言,在其培训期间通常会出现许多问题。
在NeoBook中,您可以创建完全专业的计算机程序,还可以制作程序或界面的原型。 NeoBook可以成功地用作学习的第一种编程语言(从11至14岁开始),并且可以作为一个完整的应用程序开发环境,供从事任何专业领域工作并希望自动执行任何任务的人员使用。
如果在某个时候NeoBook的功能变小(例如,如果您需要使Web应用程序在站点上运行),那么在NeoBook之后,学习任何其他编程语言已经是“技术问题”,因为到那时为止,最困难的技能将被掌握。 -“像程序员一样思考”。 这就是为什么我相信NeoBook不会降低进入编程世界的门槛,而是几乎完全消除了它。
参考文献
- NeoBook / VisualNEO Win中免费的编程在线课程: https ://distant.orgpsiholog.ru/course/view.php?id =20
- VisualNeo Win官方网站: https ://visualneo.com
- 论坛“ NeoBook的俄罗斯之家”: http ://neobooker.ru
- Lyovkin V.E. NeoBook。 从头开始为人文科学进行快速编程:一本教科书/ V.E. Lyovkin。 -M。; 柏林:直接媒体,2016年-218页 ISBN 978-5-4475-8750-5; 相同的[电子资源]。 -网址: https : //www.directmedia.ru/book_450198_NeoBook_byistroe_programmirovanie_s_nulya_dlya_gumanitariev/
- Lyovkin V.E. NeoBook。 从头开始进行快速编程的研讨会:教程/ V.E. Lyovkin-莫斯科; 柏林:Direct Media,2018年-190羽 ISBN 978-5-4475-9464-0; 相同的[电子资源]。 -网址: https : //www.directmedia.ru/book_486254_NeoBook_praktikum_po_byistromu_programmirovaniyu_s_nulya/