无忧启动论坛

标题: G4D的%time%显示在菜单中如何动态更新时间? [打印本页]

作者: dsfgamesky    时间: 2019-7-20 20:27
标题: G4D的%time%显示在菜单中如何动态更新时间?
本帖最后由 dsfgamesky 于 2019-7-24 19:48 编辑

setmenu --string=3=-0=0xEEFFEE="当前系统日期:%@DATE% %@TIME%",用这个可以在右下角显示时间,但是无法动态更新,这种东西能做到吗?
作者: 2011yaya2007777    时间: 2019-7-21 21:35
现在还办不到。
作者: 2011yaya2007777    时间: 2019-7-22 14:59
本帖最后由 2011yaya2007777 于 2019-7-27 15:31 编辑
动态更新,这种东西能做到吗?

现在可以动态更新时间了!
例子:
setmenu --string=3=-0=0xEE33EE="当前系统日期:%@DATE%"
setmenu --string=28=-0=0xEE33EE="time"
作者: dsfgamesky    时间: 2019-7-24 19:45
2011yaya2007777 发表于 2019-7-22 14:59
现在可以动态更新时间了!
例子:
setmenu --string=3=-0=0xEE33EE="当前系统日期:%@DATE%"

现在终于可以动态显示时间时间了,谢谢yaya
作者: dsfgamesky    时间: 2019-7-25 00:11
2011yaya2007777 发表于 2019-7-22 14:59
现在可以动态更新时间了!
例子:
setmenu --string=3=-0=0xEE33EE="当前系统日期:%@DATE%"

还有一个小问题——日期无法同步。


干脆对setmenu --string增加一个参数,使其动态更新。或出一个动态执行命令的命令。
后者我觉得如果真出的话,也不大可能会有很多人用。
作者: 2011yaya2007777    时间: 2019-7-25 07:41
可以实现。但是只有0点才出现此问题。因为是启动界面,就停留几分钟,概率不大。如果修改的话,就同时刷新日期和时间。为了简单期间,必须同时显示日期和时间,不能只显示其中之一。
作者: dsfgamesky    时间: 2019-7-25 19:18
2011yaya2007777 发表于 2019-7-25 07:41
可以实现。但是只有0点才出现此问题。因为是启动界面,就停留几分钟,概率不大。如果修改的话,就同时刷新 ...

哦,“为了简单期间”是什么意思
作者: 2011yaya2007777    时间: 2019-7-25 19:53
不想增加太多的代码。
作者: dsfgamesky    时间: 2019-7-25 19:53
2011yaya2007777 发表于 2019-7-25 19:53
不想增加太多的代码。

哦。
作者: 2011yaya2007777    时间: 2019-7-26 15:28
本帖最后由 2011yaya2007777 于 2019-7-26 15:31 编辑

还有一个小问题——日期无法同步


setmenu --string=3=-0=0xEE33EE="当前系统日期:"
setmenu --string=18=-0=0xEE33EE="date&time"

grldr.rar

165.8 KB, 下载次数: 13, 下载积分: 无忧币 -2


作者: dsfgamesky    时间: 2019-7-26 20:16
2011yaya2007777 发表于 2019-7-26 15:28
setmenu --string=3=-0=0xEE33EE="当前系统日期:"
setmenu --string=18=-0=0xEE33EE="date&time"

yaya大佬666啊!
作者: dsfgamesky    时间: 2019-7-27 09:32
2011yaya2007777 发表于 2019-7-26 15:28
setmenu --string=3=-0=0xEE33EE="当前系统日期:"
setmenu --string=18=-0=0xEE33EE="date&time"

又遇到一个问题,设置timeout时间后,必须按上下键才会显示。
还有,http://dl.grub4dos.chenall.net/grub4dos-0.4.6a-2019-07-26.7z又坏了,提示:{"error":"Document not found"}
github上的grldr和这儿的不一样啊,用setmenu --string=18=-0=0xEE33EE="date&time"只会显示date&time
作者: 2011yaya2007777    时间: 2019-7-27 10:31
本帖最后由 2011yaya2007777 于 2019-7-27 15:31 编辑

已经修正。
这个新功能还没有发布,所以github上的grldr和这儿的不一样。

作者: dsfgamesky    时间: 2019-7-27 12:24
本帖最后由 dsfgamesky 于 2019-7-27 12:25 编辑
2011yaya2007777 发表于 2019-7-27 10:31
已经修正。
这个新功能还没有发布,所以github上的grldr和这儿的不一样。


yaya大大,又双叒叕出bug了

在开始时候(设置了timeout时间)时是正常的,

按任意键之后,date&time“蹦”了出来,遮住了版本信息,


在VBE模式也一样,不过成了个黑框。


作者: 2011yaya2007777    时间: 2019-7-27 12:54
是你设置的不妥。第0行本来是显示版本信息的地方。你非要在0行显示时间,应当先jzi
作者: 2011yaya2007777    时间: 2019-7-27 12:56
应当先禁止显示版本。
作者: dsfgamesky    时间: 2019-7-27 13:15
本帖最后由 dsfgamesky 于 2019-7-27 13:26 编辑
2011yaya2007777 发表于 2019-7-27 12:56
应当先禁止显示版本。


我并没有设置setmenu --string=0=0=0xEEFFEE="date&time"

menu.lst代码如下


timeout 10

title reboot
reboot



只有这几行,望修正bug。

可启动grub4dos的img文件
grub4dos.zip (309.44 KB, 下载次数: 3)
作者: 2011yaya2007777    时间: 2019-7-27 15:36
本帖最后由 2011yaya2007777 于 2019-7-31 16:37 编辑

确实是我这里的问题。已经修正。

grldr.rar

165.81 KB, 下载次数: 5, 下载积分: 无忧币 -2


作者: dsfgamesky    时间: 2019-7-30 21:48
2011yaya2007777 发表于 2019-7-27 15:36
确实是我这里的问题。已经修正。

yaya大神,又出来一个bug
在菜单项中用commandline进入命令行,再按ESC退出之后,setmenu --string=3==0xEEFFEE="date&time"
会不显示。
作者: 2011yaya2007777    时间: 2019-7-31 16:37

请测试

grldr.rar

165.83 KB, 下载次数: 4, 下载积分: 无忧币 -2


作者: nttwqz    时间: 2019-8-4 15:45
2011yaya2007777 发表于 2019-7-31 16:37
请测试

省略x无法居中,个人猜测你没有将时间字符长度考虑在内,像是开头居中了,现在偏右,手动指定可居中

1024*768分辨率
setmenu --string=47=26=0xffffff="date&time"
作者: 2011yaya2007777    时间: 2019-8-4 16:16
这个真没有考虑水平距中。一般人也不距中显示。现在正调试带日期和时间格式的模式。也可能有人在日期时间前面加说明字符串,距中反倒惹麻烦。
作者: dsfgamesky    时间: 2019-8-4 16:24
nttwqz 发表于 2019-8-4 15:45
省略x无法居中,个人猜测你没有将时间字符长度考虑在内,像是开头居中了,现在偏右,手动指定可居中

1 ...

除了 setmenu --string==-1=0xffffff="date&time" ,其他字符串也会这样吧

作者: nttwqz    时间: 2019-8-4 16:40
dsfgamesky 发表于 2019-8-4 16:24
除了 setmenu --string==-1=0xffffff="date&time" ,其他字符串也会这样吧

是的,2018-3-15后,省略x自动居中
作者: dsfgamesky    时间: 2019-8-4 17:00
nttwqz 发表于 2019-8-4 16:40
是的,2018-3-15后,省略x自动居中

问一下,参数X支持负数吗
作者: nttwqz    时间: 2019-8-4 19:37
dsfgamesky 发表于 2019-8-4 17:00
问一下,参数X支持负数吗

没试过,这么高端的想法你自己试试不就好了,又不麻烦。
作者: dsfgamesky    时间: 2019-8-4 19:51
本帖最后由 dsfgamesky 于 2019-8-6 06:21 编辑
nttwqz 发表于 2019-8-4 19:37
没试过,这么高端的想法你自己试试不就好了,又不麻烦。


好像不能,就是Y坐标支持负数(Y坐标的 setmenu --string=-0==0xffffff="date&time" 就是从屏幕下边显示)
作者: dsfgamesky    时间: 2019-8-8 22:13
本帖最后由 dsfgamesky 于 2019-8-8 22:14 编辑
nttwqz 发表于 2019-8-4 15:45
省略x无法居中,个人猜测你没有将时间字符长度考虑在内,像是开头居中了,现在偏右,手动指定可居中

1 ...


刚刚尝试出了一个方法,在字符串前面加入6个空格即可居中
作者: nttwqz    时间: 2019-8-8 22:41
dsfgamesky 发表于 2019-8-8 22:13
刚刚尝试出了一个方法,在字符串前面加入6个空格即可居中

我是自己计算的
作者: 2011yaya2007777    时间: 2019-8-9 05:54
现在省略x可以距中。
作者: dsfgamesky    时间: 2019-8-9 07:15
2011yaya2007777 发表于 2019-8-9 05:54
现在省略x可以距中。


我是说省略X之后虽然居中了,但是会往左偏一点,加上6个空格正好居中。
作者: 2011yaya2007777    时间: 2019-8-9 20:32
怎么会这样。是不是使用了Tab键?不能使用它。因为在某些文本编辑器里按2个空格算,而另外的编辑器又按4个空格算,还有按8个空格算的。g4d在此函数按一个字符计算。
作者: dsfgamesky    时间: 2019-8-9 20:55
2011yaya2007777 发表于 2019-8-9 20:32
怎么会这样。是不是使用了Tab键?不能使用它。因为在某些文本编辑器里按2个空格算,而另外的编辑器又按4个空 ...

额,你误解我的意思了,我是说你没考虑字符串的长度,然后会往左偏(不应该往右偏吗。。)
哎呀,越说越乱了,就是21楼和22楼说的
作者: dsfgamesky    时间: 2019-8-9 21:02
2011yaya2007777 发表于 2019-8-9 20:32
怎么会这样。是不是使用了Tab键?不能使用它。因为在某些文本编辑器里按2个空格算,而另外的编辑器又按4个空 ...


就是这两张图片,明显不一样

代码:setmenu --string==3=0xffffff="启动菜单"

代码:setmenu --string==3=0xffffff="      启动菜单"
作者: dsfgamesky    时间: 2019-8-9 21:06
2011yaya2007777 发表于 2019-8-9 20:32
怎么会这样。是不是使用了Tab键?不能使用它。因为在某些文本编辑器里按2个空格算,而另外的编辑器又按4个空 ...

说白了,就是您的“setmenu --string==3=0xffffff="启动菜单"”没考虑字符串的长度在内,然后在菜单中会让人感觉并不居中,21#的意思是让您把字符串的长度也给算上。
作者: dsfgamesky    时间: 2019-8-9 21:27
2011yaya2007777 发表于 2019-8-9 20:32
怎么会这样。是不是使用了Tab键?不能使用它。因为在某些文本编辑器里按2个空格算,而另外的编辑器又按4个空 ...

刚刚用了下splashimage,但是无论是进VMware还是真机测试都显示不了图片,是这个XPM文件的问题还是grub4dos的问题呢?
splashimage /boot/grub/bg.xpm (bg.xpm位于\boot\grub\)

bg.zip (34.13 KB, 下载次数: 0)
作者: 2011yaya2007777    时间: 2019-8-9 21:41
距中,是距屏幕水平中心。不是距菜单行中心。菜单有起始x选项,菜单框很可能不距中。
作者: 2011yaya2007777    时间: 2019-8-9 21:53
现在不支持xpm格式。仅支持bmp jpg格式。
作者: 2011yaya2007777    时间: 2019-8-9 21:58
笑话。距中能不考虑字符串的长度?英文字符占一个字节,而中文字符在菜单中占3字节,在屏幕里占2字节。这些都要考虑到。
作者: dsfgamesky    时间: 2019-8-9 22:05
2011yaya2007777 发表于 2019-8-9 21:41
距中,是距屏幕水平中心。不是距菜单行中心。菜单有起始x选项,菜单框很可能不距中。

菜单框是距中的,那个字符串在低分辨率(640X480)下是居中的,但是在1024X860下得加6个空格,更大的分辨率也是的,这让我怀疑人生。。。。。。。。。。
作者: dsfgamesky    时间: 2019-8-9 22:07
本帖最后由 dsfgamesky 于 2019-8-9 22:14 编辑
2011yaya2007777 发表于 2019-8-9 21:41
距中,是距屏幕水平中心。不是距菜单行中心。菜单有起始x选项,菜单框很可能不距中。


我就是说这个意思,字符串说开头居中,然后字符串不居中,会偏左一点
作者: dsfgamesky    时间: 2019-8-9 22:13
本帖最后由 dsfgamesky 于 2019-8-9 22:15 编辑
2011yaya2007777 发表于 2019-8-9 21:58
笑话。距中能不考虑字符串的长度?英文字符占一个字节,而中文字符在菜单中占3字节,在屏幕里占2字节。这些 ...


这个我知道,但是在启动菜单里setmenu --string==0=0xffffff=" 主菜单"为什么看起来不是居中的,会偏左一点
一直围绕这个问题说了一大堆话。。
作者: 2011yaya2007777    时间: 2019-8-9 22:21
改变屏幕分辨率会影响字符串距中?明天试一试。
作者: dsfgamesky    时间: 2019-8-10 06:09
2011yaya2007777 发表于 2019-8-9 22:21
改变屏幕分辨率会影响字符串距中?明天试一试。


不会影响分辨率,那时候不知道怎么弄得,一下不居中了,可能那时候我改了菜单那个字符串




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3