aardio语言的通用数据表维护

news2025/1/10 11:43:58

import win.ui;
/*DSG{{*/
var winform = win.form(text="通用数据表维护";right=617;bottom=427;bgcolor=15780518)
winform.add(
buttonAdd={cls="button";text="增加空行";left=469;top=40;right=564;bottom=80;flat=1;z=2};
buttonDel={cls="button";text="选择删除";left=469;top=240;right=564;bottom=280;flat=1;z=3};
buttonDown={cls="button";text="选择下移";left=469;top=190;right=564;bottom=230;flat=1;z=11};
buttonEdit={cls="button";text="双击修改";left=469;top=90;right=564;bottom=130;disabled=1;flat=1;z=12};
buttonSave={cls="button";text="保存";left=469;top=290;right=564;bottom=330;flat=1;z=4};
buttonUp={cls="button";text="选择上移";left=469;top=140;right=564;bottom=180;flat=1;z=10};
comboboxFile={cls="combobox";left=135;top=349;right=395;bottom=370;edge=1;items={};mode="dropdown";z=8};
comboboxMenu={cls="combobox";left=136;top=378;right=272;bottom=399;edge=1;items={};mode="dropdown";z=6};
listbox={cls="listbox";left=52;top=39;right=455;bottom=340;ah=1;aw=1;border=1;dt=1;items={};msel=1;vscroll=1;z=1};
static={cls="static";text="通用数据表维护";left=53;top=6;right=204;bottom=29;color=32768;dt=1;font=LOGFONT(h=-19;name='微软雅黑';weight=700);transparent=1;z=5};
staticFile={cls="static";text="请选择文件";left=53;top=353;right=127;bottom=375;transparent=1;z=9};
staticKey={cls="static";text="请选择类型";left=54;top=382;right=128;bottom=404;transparent=1;z=7}
)
/*}}*/

import console;
import fsys;

//列表编辑框
import win.ui.listEdit;
var listEdit = win.ui.listEdit(winform.listbox);

//全局变量
homeDir = io.fullpath("."); //当前主目录
winform.path = homeDir;
if _STUDIO_INVOKED winform.path = "D:\1_aardio"; //开发者调试路径
menuFile,menuTab,fileType = null,null;

//文件
winform.configPath = winform.path++"\config";
var fileList,dirList = fsys.list(winform.configPath,,{"*.*"});
for(i=1;#fileList;1){
    winform.comboboxFile.add(fileList[fileList[i]]);
}

//初始化
winform.comboboxFile.selIndex = 1;
menuTab = eval(string.load(fileList[fileList[1]]));
winform.comboboxMenu.clear();
for k,v in menuTab{
    winform.comboboxMenu.add(k);
}

//选择文件
winform.comboboxFile.onOk = function(){ 
    if !#winform.comboboxFile.selText return ;
    menuFile = winform.comboboxFile.selText
    menuTab = eval(string.load(menuFile));
    winform.comboboxMenu.clear();
    for k,v in menuTab{
        winform.comboboxMenu.add(k);
    }
}

//选择类型
winform.comboboxMenu.onOk = function(){ 
    if !#winform.comboboxMenu.selText return ;
    fileType = winform.comboboxMenu.selText
    if type(menuTab[fileType])="table" winform.listbox.items = menuTab[fileType];
}

//单击事件
winform.listbox.onSelChange = function(){
    if !winform.listbox.selText return ;
}

//增加行
winform.buttonAdd.oncommand = function(id,event){
    if !#winform.listbox.items return ;
    winform.listbox.add("-");
    winform.listbox.update();
    table.push(menuTab[fileType],"-"); //向上向下移动
    winform.listbox.ensureVisible(#winform.listbox.items)
    
}

//移动
winform.lineMove = function(index,tmpPos){
    var text = menuTab[fileType][tmpPos]
    menuTab[fileType][tmpPos] = menuTab[fileType][index]
    menuTab[fileType][index] = text;
    winform.listbox.items = menuTab[fileType];
    winform.listbox.setSelected(tmpPos);
}

//向上
winform.buttonUp.oncommand = function(id,event){
    if !#winform.listbox.items return ;
    index = winform.listbox.selIndex; //当前行
    if index>1 winform.lineMove(index,index-1)
    winform.listbox.ensureVisible(); //行号或焦点
}

//向下
winform.buttonDown.oncommand = function(id,event){
    if !#winform.listbox.items return ;
    index = winform.listbox.selIndex; //当前行
    if index<#winform.listbox.items winform.lineMove(index,index+1)
    winform.listbox.ensureVisible(); //行号或焦点
}

//删除行
winform.buttonDel.oncommand = function(id,event){
    if !#winform.listbox.items return ;
    for(i=#winform.listbox.items;1;-1){
        if(winform.listbox.getSelected(i)){
            winform.listbox.delete(i)
            //table.remove(menuTab[fileType],i);
            menuTab[fileType] = winform.listbox.items;
        }
    }
}

//修改行
winform.listbox.onSelChange = function(){
    menuTab[fileType] = winform.listbox.items;
}

//保存数据表
winform.saveFile = function(){
    if !#winform.listbox.items return ;
    menuTab[fileType] = winform.listbox.items;
    string.save(menuFile,table.tostring(menuTab));
    winform.msgbox("完成")
}

//保存
winform.buttonSave.oncommand = function(id,event){
    winform.saveFile()
}


winform.show();
win.loopMessage();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1002845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应用在触控一体机触摸屏中的电容式触控芯片

从智能手机出现以来&#xff0c;触控一体机行业迎来了飞速的发展&#xff0c;这种人机交互的方式&#xff0c;迅速改变了人们的生活&#xff0c;一时之间&#xff0c;触控无处不在&#xff0c;从智能手机延伸到平板电脑&#xff0c;再到商业领域的诸多触控产品&#xff0c;可以…

浅析三维模型3DTile格式轻量化处理常见问题与处理措施

浅析三维模型3DTile格式轻量化处理常见问题与处理措施 三维模型3DTile格式的轻量化处理是大规模三维地理空间数据可视化的关键环节&#xff0c;但在实际操作过程中&#xff0c;往往会遇到一些问题。下面我们来看一下这些常见的问题以及对应的处理措施。 变形过大&#xff1a;压…

【C++】详解std::mutex

2023年9月11日&#xff0c;周一中午开始 2023年9月11日&#xff0c;周一晚上23&#xff1a;25写完 目录 概述头文件std::mutex类的成员类型方法没有std::mutex会产生什么问题问题一&#xff1a;数据竞争问题二&#xff1a;不一致lock和unlock死锁 概述 std::mutex是C标准库中…

2024苹果手机软件备份软件工具iMazing

很多人都会忘记备份iOS 资料&#xff0c;或者因为设置备份时间、位置等不到位&#xff0c;导致需要用的时候找不到备份。接下来&#xff0c;小编就来教大家iMazing软件备份功能的几个设置小技巧&#xff0c;都在软件界面的“选项”内调整&#xff0c;减少备份过程中的出错。 图…

【Electron】electron与cljs的处理

实现效果: 前言&#xff1a; 如何用cljs的方式&#xff0c;编写electron应用&#xff0c;可以实现多窗体应用 要使用ClojureScript&#xff08;CLJS&#xff09;编写一个 Electron 应用程序&#xff0c;并实现多窗体功能&#xff0c;您可以按照以下步骤进行操作&#xff1a; …

管易云与金蝶云星空对接集成仓库查询打通仓库新增

管易云与金蝶云星空对接集成仓库查询打通仓库新增 接通系统&#xff1a;管易云 管易云是金蝶旗下专注提供电商企业管理软件服务的子品牌&#xff0c;先后开发了C-ERP、EC-OMS、EC-WMS、E店管家、BBC、B2B、B2C商城网站建设等产品和服务&#xff0c;涵盖电商业务全流程。 对接目…

KEIL5工程改名3步骤

实际上无法另存&#xff0c;通过复制改名方式来间接完成。 如下3个步骤可以完成改名 &#xff08;1&#xff09;直接修改FX3U_STM32F407.uvprojx 文件名称&#xff0c;体现在左上角第一行&#xff0c;Project&#xff1a;xxxx &#xff08;2&#xff09;点开工程option&#…

SEO和SEM的区别与联系:优化和推广的艺术

SEO和SEM的区别与联系&#xff1a;优化和推广的艺术 在当今商业竞争日益激烈的市场环境下&#xff0c;企业对于网站的建设和管理越来越重视。为了吸引更多的潜在客户&#xff0c;企业不得不花费大量时间和资源来进行SEO优化和SEM推广。虽然二者都是提高网站流量的有效方法&…

如何像 Sealos 一样在浏览器中打造一个 Kubernetes 终端?

作者&#xff1a;槐佳辉。Sealos maintainer 在 Kubernetes 的世界中&#xff0c;命令行工具&#xff08;如 kubectl 和 helm&#xff09;是我们与集群交互的主要方式。然而&#xff0c;有时候&#xff0c;我们可能希望能够在 Web 页面中直接打开一个终端&#xff0c;执行这些命…

【前端项目】博客系统(页面设计)

文章目录 一、预期效果二、实现博客列表页三、实现博客正文页四、实现博客登录页五、实现博客编辑页 一、预期效果 代码详情见&#xff1a;gitee链接 &#x1f495; 博客列表页效果 &#x1f495; 博客详情页效果 &#x1f495; 博客登录页效果 &#x1f495; 博客编辑页效果…

2招教你解决:iPhone微信黑名单怎么恢复好友

前几天和男朋友吵架了&#xff0c;一气之下就把他拉黑了。现在想把他恢复回来&#xff0c;但是一直找不到他的聊天对话框&#xff0c;所以想问问大家该怎么将他移出黑名单。 无论是情侣吵架、朋友吵架还是与家人之间有矛盾&#xff0c;大家很容易在怒火的刺激下将对方拉入黑名单…

通过阿贝云免费云服务器部署vue3+vite项目

通过阿贝云免费云服务器部署vue3vite项目 阿贝云&#xff1a;https://www.abeiyun.com 首先访问阿贝云登录后申请服务器&#xff0c;需要关注微信公众号绑定 然后我们给服务器安装操作系统&#xff0c;这里我使用了centos7.6 这里我使用finalshell 连接服务器 我们首先配置ng…

apple pencil的替代品买啥比较好?平价电容笔排行榜

电容笔作为现在当下热销的数码配件&#xff0c;国内许多品牌商也加入其中&#xff0c;导致许多小伙伴购选的难度加大&#xff0c;太多品牌&#xff0c;看得眼花缭乱&#xff0c;更不知道哪些功能比较好&#xff0c;要想在这么多品牌中找到适合自己的&#xff0c;更是难上加难。…

2024年java面试--mysql(3)

系列文章目录 2024年java面试&#xff08;一&#xff09;–spring篇2024年java面试&#xff08;二&#xff09;–spring篇2024年java面试&#xff08;三&#xff09;–spring篇2024年java面试&#xff08;四&#xff09;–spring篇2024年java面试–集合篇2024年java面试–redi…

【前端开发】JS Vue React中的通用递归函数

文章目录 前言一、递归函数的由来二、功能实现1.后台数据2.处理数据3.整体代码 总结 前言 大家好&#xff0c;今天和大家分享一下在前端开发中js&#xff0c;vue&#xff0c;react的通用递归方法。 递归是指一个函数在执行过程中调用自身的行为。通过递归&#xff0c;可以将一…

SpringBoot 基于 MongoTemplate 的工具类

一、 什么是MongoDB MongoDB基于分布式文件存储的数据库。由C语言编写。MongoDB是一个高性能&#xff0c;开源&#xff0c;无模式的文档型数据库&#xff0c;是当前NoSql数据库中比较热门的一种。 他支持的数据结构非常松散&#xff0c;是类似json的bjson格式&#xff0c;因此…

SAP GUI 8.0 SMARTFORMS 使用SCR LEGACY TEXT EDITOR GUI8.00 禁用MSWORD

Smartforms使用WORD作为编辑器是很痛苦的一个事情&#xff0c;不支持拖拽&#xff0c;还很慢&#xff0c;各种不习惯&#xff0c;总之是非常的不舒服&#xff0c;能导致失眠。 在S/4以前的系统&#xff0c;可以使用TCODE I18N或者程序RSCPSETEDITOR或者暴力党直接改表TCP0I来…

SAP-ABAP-底表的创建和应用-01

1、创建底表SE11 给底表起个名字&#xff0c;点击创建 输入描述&#xff0c;选择交付类A&#xff0c;表视图维护选择&#xff1a;X允许显示维护。如果选择N&#xff0c;就不能维护数据了。 点击字段页签,维护字段 维护完自己需要的字段&#xff0c;点击激活&#xff0c;或触发…

Oracle(1):Oracle简介

1 什么是 ORACLE ORACLE 数据库系统是美国 ORACLE 公司&#xff08;甲骨文&#xff09;提供的以分布式数据库为核心的一组软件产品&#xff0c;是目前最流行的客户/服务器(CLIENT/SERVER)或B/S 体系结构的数据库之一。 ORACLE 通常应用于大型系统的数据库产品。 ORACLE 数据…

Java基于SpringBoot+Vue的 4S店车辆管理系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2 技术栈3 功能总览4 系统设计4.1 系统设计主要功能4.2 数据库设计4.2.1 数据库设计规范4.2…