IDE工具RAD Studio 13 Florence重磅发布:64 位 IDE + AI 组件全面升级!
近日,Embarcadero 正式宣布推出 RAD Studio 13 Florence,同时发布了 Delphi 13 与 C++Builder 13。这一版本带来了 全新的 64 位 RAD Studio IDE、更新的 C++Builder Clang 编译器、全新 Delphi 语言扩展、AI 组件与 AI 助手,并对现有功能进行了全面增强,重点聚焦在&nb ...
HTB_Bike练习记录——SSTI
目标ip:10.129.64.117
一、信息收集
ping 10.129.64.117
nmap -sV -sC -v 10.129.64.117
-v:增加详细程度,让 Nmap 打印有关正在进行的扫描的更多信息。
扫描显示 22 端口(SSH)已打开,但由于我们没有可用于身份验证的凭证或密钥,因此我们暂时忽略它。
我们还打开了 80 端口,该端口正在运行 HTTP Node.js 服务器并使 ...
一步一步学习使用FireMonkey动画(6) 用实例理解动画的运行状态
虽然在过去的几节课中,已经详细的介绍了不少的属性和方法以及事件,本节来看一看动画的执行状态。
回顾一下前面的几节内容,可以看到,每一个动画都具有如下的属性和方法,请仔细阅读下面的属性或事件的作用,在接下来的案例中将会使用到它们:
1. 动画的属性和事件
Duration:该属性表示动画的持续时间(以秒为单位)。 ...
一步一步学习使用FireMonkey动画(5) 动画图解11种动画插值类型
如果学习过《一步一步学习使用FireMonkey动画》系列的前几课,可以看到不止一次的使用了动画的Interpolation属性指定插值。
插值(Interpolation),在数学和计算机图形学中,是一种在两个已知值之间估算中间值的方法。简单来说,就是给定一个起点 A 和一个终点 B,插值能计算出从 A 到 B 的平滑过渡中的所有“中间点”。
...
一步一步学习使用FireMonkey动画(4) 使用Delphi的基本动画组件类,路径和位图列表动画 弹跳小球和奔跑的小人示例
在《一步一步学习使用FireMonkey动画(3)》中,介绍了TAnimation的多数子类,本节将对TRectAnimation、TPathAnimation和TBitmapListAnimation这3个子类进行介绍。
本节将介绍的主题如下:
使用TPathAnimation创建路径跟随的小球。
使用TBitmapListAnimation打造奔跑的小人动画
使用TRectAnimation打造内外边距移动动画
1 ...
一步一步学习使用FireMonkey动画(3) 使用Delphi的基本动画组件类
本课将介绍如何使用TAnimation的子类,比如TFloatAnimation、TColorAnimation来创建动画。
本课的主要内容:
认识TAnimation的子类
使用TAnimation的动画子类创建动画。
使用TFloatKeyAnimation关键帧创建弹跳球动画
使用TColorKeyAnimation关键帧动画眩目背景变换
事实上多数动画是通过在指定时间范围(Duration)内操控 ...
一步一步学习使用FireMonkey动画(2) 使用TAnimator类创建动画
在开始研究FireMonkey提供的动画组件前,回顾一下多数时候,只是想给控件加一些突出的提醒或点缀,所以无须真的添加一个动画组件。FMX(FireMonkey的简称)提供了一系列便利的操作。
本节将介绍:
使用TFmxObject的动画函数。
使用TAnimator对象快速创建动画。
TAnimator与其他的TAnimation动画组件的区别。
1. 使用FmxOb ...
一步一步学习使用FireMonkey动画(1) 使用动画组件为窗体添加动态效果
FireMonkey提供了一系列的动画控件,为基于FMX(FireMonkey的简称)的应用程序开发提供了较大的灵活性。在VCL上面创建动画,需要开发人员用一个TTimer组件,然后不断的移动目标物体的位置,使得目标对象看起来像是动了一样,这需要编写大量的控制代码,而且效果并不是特别理想。
本课将介绍如下的内容:
使用传统TTimer创 ...
一步一步学习使用LiveBindings(14)TListView进阶使用(2),打造天气预报程序
在《一步一步学习使用LiveBindings(12)》课中,非常详细的介绍了如何在设计时手工的编辑DynamicAppearance类型的项,大大方便了构建自定义的列表项。但是很多情况下,仍然要面对编程创建列表项的情形,特别是当要实现自定义的列表项时,将不得不面对编程创建列表项的挑战。
注意:更理想的自定义列表项的的方法是为 TList ...
一步一步学习使用LiveBindings(13) TListView的进阶使用(1)
在《一步一步学习使用LiveBindings(12)》中,介绍了如何通过设计面板来定制TListView中Item的显示,虽然方便,但是重用性确也是一个问题;此外,当列表项的内容不固定时,如何能显示完整的内容,就涉及到动态列表项的问题。
本课将介绍如何创建自适应高度的列表项,不但列表项的高度自适应,还演示了如何在列表项中进行图 ...
一步一步学习使用LiveBindings(12) LiveBindings与具有动态呈现的TListView
在《一步一步学习使用LiveBindings(3)》中,曾经简单介绍过TListView的绑定,在那一课中,将TListView的ItemAppearance.ItemAppearance属性设置为ImageListItemRightButton,这将使用预设置的TListViewItem的项外观。
在这一课中,将学习如下的内容:
1.TListView.ItemAppearance外观基础。
2.使用DynamicAppearance进行 ...
一步一步学习使用LiveBindings(11) 绑定到自定义外观的ListBox
虽然在Firemonkey中,TListView是与LiveBindings绑定最为友善的。但是ListBox在一些短平快的中小型的选项列表中也是非常不错的选择。
在本课中,将学习到:
如何自定义ListBox的外观。
如何使用LiveBindings绑定到具有自定义外观的ListBox。
请将你在《一步一步学习使用LiveBindings(10)》中的项目复制一份,然后开启这 ...
# 一步一步学习使用LiveBindings(10) LiveBindings绑定到漂亮的TCombobox
这一课,将演示如何绑定到TCombobox,这个控件通常用来给用户提供选项列表。它们具有比VCL控件较强的定制性,可以使用样式窗口对每一个项进行外观的定制。
如果读者已经看过《一步一步学习使用LiveBindings(9)》,那应该会比较熟悉这一课的案例,因为笔者将上一节的案例LiveBindings_BindFormat的源代码复制到了这一节作 ...
一步一步学习使用LiveBindings(9) LiveBindings图像绑定与自定义绑定方法(2)
这是《一步一步学习使用LiveBindings(8)》的接续,本章将学习如下知识点:
为TGrid应用列格式。
创建自定义的绑定方法。
实现表单级别的格式化方法。
上一节使用向导将TGrid绑定到ProtoTypeBindSource,它会创建TLinkGridToDataSource这个绑定链接。向导创建的绑定只是将PrototypeBindSource1的*与TGrid的*进行了绑定, ...
一步一步学习使用LiveBindings(8) 使用向导创建用户界面,绑定格式化入门(1)
在多数真实的应用场景中,用户对于显示是比较挑剔的。比如货币要显示货币符号,日期要显示成特定的格式,可能要根据字段值显示图片等等。
本课程包含如下知识点:
完全使用向导生成应用程序
为绑定定义格式化表达式。
在这个课程中,将构建一个简单的雇员列表程序,这个程序将向用户展式员工名称、入职时间、薪资和、薪资 ...
一步一步学习使用LiveBindings(7) 实现对JSON数据的绑定
本课将介绍如何从JSON中获取绑定数据源,并且将更新也写回JSON。可以设想一下有一台远端服务器提供JSON数据,Delphi客户端可以接收这些JSON数据,然后转换成数据绑定对象,在应用程序中处理完数据后,将更新的数据序列化为JSON传回远端服务器,很多移动应用使用了这种模式处理服务器端的数据。好了废话少说,开始打开Delphi ...
一步一步学习使用LiveBindings(6) 实现Master-Detail主从关系的绑定
主从式数据在应用程序的开发中是非常常见的,比如员工和电子邮件地址记录,一个员工可能对应到多个邮件地址,这就形成了一对多的关系。在VCL中,数据控件处理主从式绑定非常方便简洁,在这个示例中,学习如何使用LiveBindings的TProtoTypeBindSource控件来实现对象间的主从式的数据绑定。
注意:这个示例来自《Delphi Cookb ...
一步一步学习使用LiveBindings(5) 使用TAdapterBindSource实现对象绑定
在本系列的第1课介绍过TBindSourceDB绑定到TFDMemTableo数据库组件,也介绍了使用TPrototypeBindSource提供样本数据源。接下来看一个新的BindSource组件TAdapterBindSource,如其名所暗示,它是一个桥接器绑定控件,主要用来将自定义的对象与数据源进行绑定。
TAdapterBindSource有一个Adapter属性,它可以接收一个继承自TBi ...
一步一步学习使用LiveBindings(4) 使用LiveBindings同步多个控件的数据
假定有一个TStringGrid控件和一个TListBox控件,想要同步两个控件的数据显示,比如在TStringGrid上输入一个字段串,在TListBox控件上马上看到更新,这通常需要编写事件处理代码。LiveBindings提供了双向数据绑定,让开发人员可以分分钟实现一个多控件同步的程序,这个示例的运行效果如下图所示:
请按如下的步骤来实现这个 ...
一步一步学习使用LiveBindings(3) 绑定到ListView,用TProtoTypeBindSource创建样例数据
FireMonkey(简称FMX)是一个跨平台的应用程序设计框架,这个框架其实不再将开发的重心放在PC端,毕竟Windows PC上还有强大的VCL框架。FMX重心还是在移动端多一些,而移动端的小屏设备使用Grid的场景很少,屏小数据多,体验应该并不佳,使用ListView这种列表式控件就非常常见。
为了测试ListView的外观,常常需要测试数据, ...