首页 > 其他分享 >图文解说ChinaCock日期组件CCDateTimePicker(二)

图文解说ChinaCock日期组件CCDateTimePicker(二)

时间:2024-04-28 14:23:04浏览次数:30  
标签:begin end CCDateTimePicker1 self CCDateTimePicker ChinaCock WeekNames 图文

上文,介绍了CCDateTimePicker基本用法,实现日期、时间等各种日期格式的输入,用法简单,代码简洁。

能不能用这个控件,来实现自定义的输入格式呢?答案是能。比如:我的需要求就遇到这样的情况,用户要选择星期几的方式,如下图,是已经实现的结果:

 接下来看看如何实现的?

第一步,先定义一个数组:

    const WeekNames:array[0..6] of  string=('星期一','星期二','星期三','星期四','星期五','星期六','星期日');

通过这个WeekNames来定义要显示的星期几。

第二步,初始化CCDateTimePicker:

  CCDateTimePicker1.Reset;
  self.CCDateTimePicker1.ShowToolbar := false;
  //自定义年作为星期1-7
  self.CCDateTimePicker1.MinYear := 1;
  self.CCDateTimePicker1.MaxYear := 7;
  //只显示年
  self.CCDateTimePicker1.PickerType := TCCDateTimePicker.TPickerType.Year;
  if not InRange(self.CCDateTimePicker1.Year, 1, 7) then
  begin
    self.CCDateTimePicker1.Year := System.math.ifthen(DayOfWeek(now) = 1, 7, DayOfWeek(now) - 1);
  end;

看代码,就是让CCDateTimePicker选择年份,并且输入范围为1-7。

第三步,利用事件OnSetCustomText定义CCDateTimePicker显示内容:

procedure TInputWeekItem.CCDateTimePicker1SetCustomText(ASender: TObject; AItem: TCCDateTimePickerItem;
  var AText: string);
begin
 if AItem.ItemType = TCCDateTimePickerItem.TItemType.ItemType_Year then
  begin
    AText:=  WeekNames[AItem.Value-1];
  end;
end;

最后一步,显示CCDateTimePicker并应用返回的结果:

  self.CCDateTimePicker1.Show(
    //
    procedure(AResult: TModalResult; ADateTime: TDateTime)
    begin
      if AResult = mrOK then
      begin
        edtValue.Text:= WeekNames[YearOf(ADateTime)-1];
      end
      else
      begin
        //showmessage('取消选择');
      end;

    end);

至此,一个星期选择器就实现完成了!

利用这个方法,相信你也能想到,可以实现任意类型的列表了!

 

标签:begin,end,CCDateTimePicker1,self,CCDateTimePicker,ChinaCock,WeekNames,图文
From: https://www.cnblogs.com/kinglandsoft/p/18163664

相关文章

  • 图文结合手把手教你创建SpringCloud项目
    前言什么是SpringCloud?SpringCloud是一系列框架的有序集合,它利用SpringBoot的开发便利性简化了分布式系统的开发,比如服务注册、服务发现、网关、路由、链路追踪等。SpringCloud并不是重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成......
  • WPF RICHTEXTBOX 和数据库读写图文的方法。
    存入数据库。publicstringtoxaml(){//Streams=newMemoryStream();//其他的什么Stream类型都没问题XamlWriter.Save(MemoryStreams=newMemoryStream();TextRangedocumentTextRange=newTextRange(thi......
  • 图文总结:正向代理与反向代理
    1介绍在计算机网络领域,代理服务器扮演着至关重要的角色,它在服务器与客户端之间充当中间人的角色,有效地提高系统的安全性、性能和可扩展性。其中正向代理和反向代理是两种最为常见的代理方式。本文将详细介绍这两种代理方式的概念、特点、使用场景以及用途,帮助读者更好地理解它......
  • 模板和图文集
    问题:保存文字中已设置好格式的表格解决:文档另存为,文件类型修改为模板,之后只需要双击该模板就可以新建一个保留模板上所有内容的新文档另外,可以使用图文集保存固定格式、表格、内容等的内容选取指定内容》插入》自动图文集》将所选内容保存到自动图文集,需要重复使用时可以从自......
  • C++算法题解 - 递归实现排列型枚举 - 递归法 (图文) (递归搜索树)
    题目:递归实现排列型枚举把1∼n这n个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据......
  • Python数据分析大作业(ARIMA 自回归积分滑动平均模型) 2000+字 图文分析文档 疫情分析
    资源地址:Python数据分析大作业2000+字图文分析文档疫情分析+完整python代码数据分析数据来自法国疫情数据时间序列是由四种因素组成的:长期趋势、季节变动、循环变动、随机波动。当我们对一个时间序列进行预测时,应该考虑将上述四种因素从时间序列中分解出来。分解之......
  • SQL执行流程图文分析:从连接到执行的全貌
    SQL执行总流程下面就是MySQL执行一条SQL查询语句的流程,也从图中可以看到MySQL内部架构里的各个功能模块。MySQL的架构共分为两层:Server层和存储引擎层,Server层负责建立连接、分析和执行SQL。MySQL大多数的核心功能模块都在这实现,主要包括连接器,查询缓存、解析......
  • 运维系列(创建windows服务,亲测有效):Windows 安装Redis(图文详解)
    Windows安装Redis(图文详解)Windows安装Redis(图文详解)一、Redis是什么数据库?二、安装Redis1、下载地址2、安装过程2.1将下载的压缩包解压到一个文件夹中:2.2打开cmd指令窗口,进入到解压的那个文件夹里:2.3输入redis-serverredis.windows.conf:2.4部署Redis在windows下的......
  • 新零售SaaS架构:客户管理系统架构设计(万字图文总结)
    什么是客户管理系统?客户管理系统,也称为CRM(CustomerRelationshipManagement),主要目标是建立、发展和维护好客户关系。CRM系统围绕客户全生命周期的管理,吸引和留存客户,实现缩短销售周期、降低销售成本、增加销售收入的目的,从而提高企业的盈利能力和竞争力。CRM系统以客户数据为......
  • 强大专业的 AI 营销内容文案创作工具,支持内容一键生成、自动配图、图文转视频等
    推荐一款AI营销内容创作工具,它可以一键生成多种类型的营销内容,如营销文本、配图和短视频等。它可以智能生成大量的营销文案,可适应国内及海外的各类营销平台的风格,覆盖丰富的产品类型。只需输入关键词,便可快速生成原创的软文,可在各大媒体和自媒体平台发布,极大地提高了创作效率......