您将学习到: 如何迈出 X# 的第一步 如何在 X# 中访问DBF文件 如何在 X# 中使用类、表单等 简介 在2019 年的Southwest Fox 会议上,我介绍了 X#,涵盖了X# 的起源、发展以及截止到那时的状态...完整的阅读它将为您奠定良好的基础。 X# 已经开发很多年了,但是X# 更新中令人兴奋的无异于它对Visual FoxPro 方言的支持。...这种支持使得从Visual FoxPro 开发人员的角度来学习X# 变得很容易,例如,一旦您了解意大利语就可以学习西班牙语(这是一个猜测-我自己都不知道?)...在本次会议中,我遇到的最大困难不是语言本身,而是Visual FoxPro 和Visual Studio 开发环境之间的差异。...如果您有过使用Visual Studio 的经验,那么您就可以克服这个最大的障碍。当然,如果您有在Visual Studio 中开发C# 应用程序的经验,那么您可能会发现X# 非常容易使用。
如果您不熟悉Visual Studio ,那么在X# 帮助文件中您可以找到如何在Visual Studio 中使用X#。...图5:项目模板中的开始代码 Visual Studio 允许开发人员创建自己的项目模板,就像Word 和Excel 允许您为文档和电子表格创建自己的模板一样。...作为FoxPro 开发人员,图3中显示了三个我们特别感兴趣的项目模板: · Class Library FoxPro Dialect:这种项目将在General 属性中预先设置FoxPro 方言(参看图...需要特别注意的是 Visual FoxPro Compatibility/Inherit from Custom Class 设置。如果您希望代码像在VFP 中那样工作,那么你就要将其设置为True。...所有的代码均以文本形式完成,这在源代码控制方面是一个巨大的优势,因为不需要在VFP中实现序列化二进制文件所需的多种解决方法。
大家好,又见面了,我是你们的朋友全栈君。 Gizmos菜单 在现场查看和游戏视图都有一个小玩意儿菜单。点击小玩意儿场景视图或游戏视图访问工具栏中的按钮,小玩意儿菜单。...该小玩意儿在场景视图按钮 场景视图和游戏视图窗口顶部的Gizmos菜单 属性 功能 3D Icons 3D图标 该3D图标复选框控制是否组件图标(如那些灯光和相机)通过在场景3D模型编辑器绘制。...Show Grid 显示网格 该显示网格复选框切换场景视图上的标准场景测量网格(选中)和关闭(未选中)。要更改网格的颜色,去团结 > 首选项 > 颜色,改变网格设置。...单击此按钮显示图标选择器菜单,您可以在其中更改脚本的图标。 注意:如果在列表中的项目有一个小物件,但没有图标,没有在图标列的选项。...注意:如果在列表中的项目都有一个图标,但没有小发明,没有在此列没有复选框。
他们的系统在页面中放置一个正方形网格,鼠标沿对角线穿过网格到达「我不是机器人」按钮。如果成功,则给予正面强化;如果失败,则给予负面强化。该系统学会了控制正确的移动方法以欺骗 reCAPTCHA 系统。...他说道:「本文试图展示的攻击仅仅是从页面中的随机起点移至复选框。这是用户在实践中与实际页面产生交互的非常具体和有限的子集(如填写表格、与多页面元素交互以及跨越更复杂模式等)。」...Akrout 认为谷歌可以通过这项技术(特别是根据用户点击按钮花费的时间),使用更简单的方法来保护 reCAPTCHA。Akrout 表示,「该智能体点击复选框花费的时间比人类更多。...我们将 reCAPTCHA v3 视为一个网格世界,智能体在这个世界里学习如何移动鼠标并点击 reCAPTCHA 按钮获得高分。...我们提出的方法在 100 × 100 的网格中实现了 97.4% 的胜率,在 1000 × 1000 的屏幕分辨率上实现了 96.7% 的胜率。
引言 上一篇文章UI自动化 --- 微软UI Automation中,介绍了UI Automation能够做什么,且借助 Inspect.exe 工具完成了一个模拟点击操作的Demo,文章结尾也提出了自己的一些想法...控件视图是原始视图的一个子集。它包括原始视图中的所有UI项,这些项被用户理解为可交互,或对UI中的控件的逻辑结构起作用。...网格中某项的属性 GridItemPattern GridItemPatternIdentifiers 网格的属性 GridPattern GridPatternIdentifiers 具有多个视图的元素的当前和支持的视图...例如,您可以使用 Invoke 控件模式来处理可以调用的控件(如按钮),并使用 Scroll 控件模式来处理带有滚动条的控件(如列表框、列表视图或组合框)。...GridPattern IGridProvider 用于支持网格功能(如调整大小和移动到指定单元格)的控件。
我们的示例应用程序 ? 图1:FoxToDos 原始的FoxPro 应用程序是一个简单的待办事项管理器FoxToDos。...您可以在我的 GitHub 账户https://github.com/eselje/FoxToDos. 获得 FoxToDos的源码。 在源码中包含此处显示的所有内容。...同时我们有一个用户界面控件cntToDo,用于将所有任务以一致的方式呈现在表单中。最后,我们有一个使用先导生成的简单报表,将这些转换为X# 应该足以让我们获得完整的X# 体验。...· ToDoMain.prg,一个简单的主程序。 转换策略 我们将使用以下步骤将此Visual FoxPro 应用程序转换为X#: 1. 在Visual Studio 中创建一个新的解决方案 2....将ToDoClasses.prg 中的类重写为 X# 类 3. 在Visual Studio 中对业务对象进行单元测试 4.
开发多种类型的程序 C# 语言不仅能开发在控制台下运行的应用程序,也能开发 Windows 窗体应用程序、网站、手机应用等多种应用程序,并且其提供的 Visual Studio 2015 开发工具中也支持多种类型的程序...2)通过工具箱中的label标签,button按钮,comboBox下拉按钮,直接在拖拽到窗体中;按钮的单击事件直接双击可以跳到对应的方法中进行代码编辑;还需要修改对应标签属性中的Name,方便后续的编辑...控件直接拖到 Windows 窗体中即可;如果需要指定图片和文字,可以通过属性中的DisplayStyle设置 9)DataGridView 在网格中可以用自定义数据的行和列 10)事件...可以通过属性中的Click指定不同按钮的相同事件 11)容器 在容器中可以放入需要的组件 12)属性 Anchor属性可以将内部容器窗体的拉伸大小随外部窗体的改变而改变...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
通过缓冲,可以方便地检测并解决数据更新操作中的冲突:当前记录被复制到由 Visual FoxPro 管理的内存或磁盘区域。其他仍然可以同时访问原来的记录。...当离开该记录或以编程方式更新该记录时,Visual FoxPro 尝试锁定该记录、检验没有被其他用户修改、然后写入变化。在尝试更新数据之后,也必须解决阻止将该变化写入原始表的冲突。...Visual FoxPro 具有两种缓冲类型:记录(行)缓冲和表缓冲。 单行记录每次要访问、修改和写入单个记录,选择记录缓冲。...选择锁定模式:保守或开放 Visual FoxPro 以两种锁定模式提供缓冲:保守和开放。 在F/S共享文件架构中,大家打开的是同一个表,所以对缓冲的了解和掌握更加必要。...坏处是:效率较低 开放缓冲 开放缓冲锁定只在写入记录时获得,因次减少了共享文件夹F/S架构任何单个用户独占系统的时间。当在视图上使用记录或表缓冲时,Visual FoxPro 强制使用开放锁定。
Windows 10 21H1开启&关闭卓越模式 摘要: 本篇博客将向您介绍如何在Windows 10 21H1中开启和关闭卓越模式。...如果您希望在某些应用程序或任务中获得最佳性能,启用卓越模式可能是一个不错的选择。本文将向您展示如何在Windows 10 21H1中开启和关闭卓越模式。...在电源选项窗口左侧,点击"选择电源按钮的功能"。 在接下来的页面中,滚动至底部,找到"启用卓越模式"选项。 点击"更改当前不可用的设置"链接。 勾选"启用卓越模式"复选框。...点击"保存更改"按钮。 关闭卓越模式: 重复以上步骤,进入"选择电源按钮的功能"页面。 取消勾选"启用卓越模式"复选框。 点击"保存更改"按钮。...e54c093a-1abe-4878-9550-34341f4d6be1 (卓越性能) PS C:\WINDOWS\system32> 总结: 通过开启卓越模式,您可以在Windows 10 21H1中获得更好的性能和资源管理
AC Report 的历史、功能简介,在本文所附的《Anycell Report应用开发手册》中有详细的介绍,这里需要重复说明的一点:在AC Report 的诸多版本中,从 2.1 版开始,该报表工具由一个...一 关于本文 本文将以 1.84 版和3.2.12 版为基准,描述 AC Report 在 VFP 中的应用方法。...二 开发环境 操作系统:Window 7 专业版(32位) 编程语言:Visual Foxpro 9 (7423版) 三 创建AC Report 实例的基本方法 1 2.1 之前的版本 我们使用Object...打开“Options”对话框,并单击对话框的“Controls”标签 第二步:通过点击“Add...”按钮注册 OCX 控件 第三步:选择 ACRptEngine 第四步:点击“OK”或者“Set As...Default”按钮 ?
“ 本文介绍了 ChristofWollenhaupt 的 DMULT.DLL - 一个为你的Visual FoxPro应用程序提供多线程功能的 "辅助 "工具。...他的答复:这个问题有一个明确的答案。这取决于(你认为什么是多线程应用程序)。 从VFP6 ServicePack 3开始,我们就有能力在Visual FoxPro中创建多线程的DLLs。...但这并不意味着我们在创建多线程应用程序,我们只是在创建多线程的DLLs。当你实例化一个位于DLL中的COM服务时,Visual FoxPro只能将其加载到与主程序相同的线程中。...实质上,如果你的DLL正在执行 "一个漫长的处理过程",Visual FoxPro(你的应用程序)必须等待 "一个漫长的处理过程 "完成才能继续。...依据我在书本、文章和无数谷歌搜索中看到的关于多线程的所有定义,多线程就是:在一个应用程序中同时执行多个活动的能力。如今,随着我们的多核CPU的出现,这一点更加真实。
如果网格包含带有用于选择行的复选框的列,则该键可以用作在焦点不在复选框时勾选框的快捷方式。 Control + A: 选择所有单元格。...组合部件的布局栅格 grid 模式可被用于组合一组可交互元素,例如链接、按钮、和复选框。由于整个网格只有一个元素包含在tab序列中,所以使用网格进行分组可以显著减少页面上的tab步骤。...Shift + Space: 选择包含焦点的行。如果网格包含用于选择行的复选框的列,当焦点不在复选框上时,可作为选中复选框的快捷键。 Control + A: 选择所有单元格。...这些小部件的示例包括链接,按钮,菜单栏,切换按钮,单选按钮(不是单选按钮组),开关和复选框。 一个单元格包含文本或一个单独的图形,网格导航键在单元格上设置焦点。...下面样例部分中包含的参考实现,给出了让其他单元格设计尽可能可访问的一些策略,但是使用以上两种模式,才能获得最大程度的无障碍体验。
XMLUPDATEGRAM函数定义 将 XML 文本转换到 Visual FoxPro 临时表或表中。...cCursorName 指定要存储结果的临时表名,并在当前工作区中创建该临时表。如果临时表名已经存在或已被打开,Visual FoxPro 将关闭该临时表并在未使用的工作区中创建一个新的。...如果 cCursorName 为空串(""),Visual FoxPro 会将 XML 导出到当前工作区打开的表或临时表中。...在结果临时表中,XSD 数据类型的值被映射为 Visual FoxPro Currency 数据类型。 4096 1000000000000 废止 base64 解码。...在 Visual FoxPro 中,base64 解码只是提供给二进制数据解码使用。
此外,还可以按照指定的行或列结构排列元素。 它有一个非常易于理解的用户界面,在其中你可以通过容器中的“+”和“-”按钮添加行和列。还可以通过添加多个网格单元来扩展网格项。...现在在第一步中,您可以使用“+”按钮更改列数和行数,在之前和之后添加容器。 在第二步中,您可以添加任意多个分区,并自定义每个分区的颜色。...此外,它拥有简洁的用户界面,使得理解和学习这个CSS网格生成器变得非常容易。 例如,你可以通过简单地点击“+”和“-”按钮来轻松地在网格中添加或删除行和列,并且它会在网格中的相邻位置添加一个元素。...此外,你可以通过点击生成代码来在右侧面板中获取HTML和CSS代码。...它是一个开源项目,可在GitHub上获得,帮助您创建响应式布局。 此外,它具有非常简单的界面,使您可以通过将鼠标悬停在网格的角落上来更改每个等级的大小。此外,您可以拖放网格项以更改其位置。
在本文中,我们将详细解释如何在 Tkinter 窗口中添加复选框,并如何获取用户所做的选择。 什么是 Tkinter 复选框( Checkbutton )?...完整示例代码 以下是一个完整的示例代码,演示如何创建一个 Tkinter 窗口并在其中添加一个复选框,并在按钮点击时获取复选框的值: import tkinter as tk # 创建Tkinter窗口...我们定义了一个名为 button_click 的按钮点击事件处理程序,它会在按钮被点击时执行。在这个示例中,我们使用 get() 方法获取复选框的值,并根据值更新标签的文本。...我们创建了一个按钮 button ,设置了按钮上的文本为"获取复选框值",并将事件处理程序 button_click 与按钮的点击事件关联。...结论 在本文中,我们学习了如何在 Tkinter 窗口中添加复选框,并如何获取用户所做的选择。复选框是 GUI 应用程序中常用的元素,用于提供二进制选择。
同时,改变的设置不应该在用户点击命令按钮(标记为“前进”或“保存”为例)前生效。如果用户点击返回或取消按钮,任何在该单选按钮组所做的更改都应该被丢弃而且回到初始状态。...用户能够很快看到有几个选项以及每个选项是什么,而不用点击或其他操作再去发现这些信息。 8、避免嵌套 避免嵌套单选按钮和其他单选按钮或复选框。应该把所有选项置于同一层级避免用户困惑。...然而,复选框只适合真对一个选项是开启还是关闭,单选按钮则可以被用到完全不同的选项中。 你应该记住如下两种情情况如果两个解决方案都有可能: 替代选项。如果复选框无法完全清晰的表明意义,则使用单选按钮。...在例子中,选项是对立的因此使用单选按钮是更好的方案。 设置向导。你应该在向导页面上使用单选按钮使选项明确,即使一个复选框也是可以接受的。一个有默认值的单选设计恩狗给用户一个很好的建议。...默认选项可能引导用户做出最好的决定,并提升它们在草错过程中的信心。 简单的是或否的答案。当你有一个简单的问题而用户只需回答是或否的时候,使用复选框还是正确无误的。
01 什么是数据科学 数据科学通常被描述为统计和编程的交集。在本文中,我们讲介绍如何在你的电脑上设置立专业数据科学环境,这样你就可以开始动手实践与流行的数据科学库! 什么是专业的数据科学环境?...编辑:Jupyter Notebook——有很多很棒的文本编辑器可以用来编辑Python代码,比如Visual Studio Code则是一个流行的免费选择。...我们今天介绍的是如果在Windows系统下安装 ? 02 安装过程 点击Python 3的“下载”按钮。 ?...在下一个屏幕上,确保选中“添加anaconda到我的路径环境”复选框。它会告诉你不推荐这样做,但是这是能够从命令行访问Anaconda所必需的,它会给你在项目中工作时最大的灵活性。然后单击“安装”。...点击“下一个"。你可以跳过Microsoft Visual Code Studio或PyCharm的安装。 ? 最后点击“完成”。 ? 它会打开一个浏览器窗口,你可以直接关闭。 ?
单击工作簿左上角的“文件”,然后单击“打印”,在右边底部,单击“无缩放”右侧的下拉按钮,选择“将所有列调整为一页”,如下图1所示。 ?...打印工作表网格线 默认情况下,虽然可以看到工作表中的网格线,但是在打印预览或者打印工作表时,不会显示工作表网格线。...要打印工作表网格线,可以在“页面设置”对话框中,选取“打印”下的“网格线”复选框“,如下图6所示。 ? 打印工作簿中的所有工作表 通常,我们一次只能打印工作簿中的一个工作表。...其实,要一次打印工作簿中的所有工作表很简单,只需要在点击打印命令前,选取所有的工作表。 在底部的工作表标签中单击右键,选取快捷菜单中的”选定全部工作表“命令,将所有工作表选中,如下图7所示。 ?...或者,按住Ctrl键点选所有工作表,将其全部选中。 接下来,点击打印按钮,就可以打印所有工作表了。 仅打印所在的表 如果工作表中有表格,可以只打印这个表格而不管工作表中的其他内容。
文章背景: 在工作中,有时需要在表格内插入几个复选框,让用户去勾选,如下图所示。这种通过点击方框,自动打上对勾的效果如何实现呢?下面介绍一种方法。...操作步骤如下: (1)在Word中的开发工具菜单栏,选择带勾号的复选框,插入到word中。 此时复选框既可以勾选,也可以取消勾选,但是勾选后是叉号(×),不是我们要的勾号(√)。...(2)选中复选框,点击属性,弹出Content Control Properties对话框。...(3)点击更改按钮,弹出Symbol对话框,选择字体Wingdings 2,找到我们想要的勾选框,然后点击确定。 (4)回到Content Control Properties对话框,点击确定。...这样,点击复选框后,就是我们想要的勾号。 延伸阅读: 如果不使用控件箱中带勾号的复选框,如何在Word中插入一个带勾号的方框呢?下面介绍两种方法。
Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分。 Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口、标签、按钮、文本框等。...常用的简单的基本组件: # 组件 描述 1 JLabel 标签 2 JButton 按钮 3 JRadioButton 单选按钮 4 JCheckBox 复选框 5 JToggleButton 开关按钮...(null); // 把窗口位置设置到屏幕中心 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 当点击窗口的关闭按钮时退出程序...创建一个基本组件(按钮),并添加到 面板容器 中 JButton btn = new JButton("测试按钮"); panel.add(btn); // 4....本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
领取专属 10元无门槛券
手把手带您无忧上云