使用FDO封装XML&ADO实现与服务端数据通信

Android17车载音频进阶之H2XML定制Module(一百七十七) 目的:理解H2XML如何把Module接口和Key定义转换为ARC可用的元数据,并通过Graph、GKV、CKV和TKV驱动AudioReach用例配置。H2XML根据带注解的C头文件生成XML元数据。ARC使用这些元数据配置Module、Graph和参数,ACDB保存对应的Graph定义与Calibration数据,运行时由GSL和AML按Key Vector查询数据。H2XML负责生成配置所需的元数据,不负责执行CAPI Module中的算法。fill:#333;important; 阅读详情

使用FDO封装XML&ADO实现与服务端数据通信

作者:LeeFJ  

什么是FDO?我不知道别人有没有说过这个概念,反正我自己想了这个名字:Flash Data Operator,也不知道在FLASH V2组件中是不是有了。FDO是一组类,通过这组类与服务端的配合可以在Flash中非常简单的实现和服务端通信,这是我的想法。不过这个想法源字邹邹,是在Flash8论坛上的一个朋友,他有一个东西叫我改改,呵呵,诶,能力有限,看不清眼花缭乱的代码,呵呵,于是就想着做一个FDO方便的来处理服务端数据。

 

FDO第一个问题就是安全性,难道我要在客户端拼装SQL? 那是很不现实的问题,这样似乎太不安全了,很明显。所以应该使用暗号,外加参数。比如说,一个暗号:show me the money

可以对应一个SQL语句:select * from money  where user=’?’,这种写法有点类似java中的PreparedStatement 中SQL的写法,?可以用参数代入。呵呵,这是我比较幼稚的一个想法。在服务端可以建立一个暗号(Command)与sql相对应的一个表(可以用数组实现),这样当客户端有请求的时候可以根据这个暗号来查询SQL。在一定程度上避免了恶意的SQL输入。

 

其实FDO不仅仅是Flash(Client)中的FDO,她应当还要包括服务端的FDO,我这里使用了ASP,用服务端的FDO类来封装ADO,所以在服务端几乎无须涉及ADO只要调用用FDO方法或过程就可以了。

 

那就先来说说 Flash端(Client)的问题,客户端FDO可以位于FDO包中可以包含以下几个类和一个包含文件:

·包含文件:声明作者和版本信息,以及公用函数等。

·FDO.as:这个文件中定义FDO类,完成与服务器的数据交互。

·Command.as:用于生成操作命令,并提交到FDO类。

·RecordSet.as:使非常容易的获取接收到的XML中的数据,类似ADO中的RecordSet对象。它被设计成只读。

·Record.as:定义Record类,这个类主要是在更新和插入数据时作为参数输入。

 

在这里,我把RecordSetlei类设计为只读,我觉得修改它的数据没有任何意义,因为它不会主动更新数据库。其最主要的原因就是网络延时,任何一次与服务器的交互都需要等待时间。当我们把程序的主动权交给Flash Player之后(Flash Player要等待服务器反馈,然后调用onData onLoad之类的事件),只有当Player调用数据下载完成的事件以后,Flash的继续播放才是有意义的,原因很简单:如果你不给我数据,我怎么往前走!所以既然FDO类是直接与服务器交互的,那么就应该为FDO定义回调的事件,以供FDO用户重写这些事件。这些事件的目的就是:等待数据或操作(即与服务器的交互)完成后,继续驱动Flash的播放。这一点,很好理解,我们通常都会用一个下载过程在片头,等下载完成后在往后面播放。道理是一样的,没有服务器数据,播放很有可能出错,所以Flash要等到服务器数据到达以后才把主动权叫交给用户(指开发人员),用户可以重写回调函数。

与服务器的交互通常包括四种:查询、插入、更新、删除。只有查询才返回用户(开发人员)所需要的数据,其他的操作返回一个操作结果就可以了,比如说,更新了几条记录,插入数据是否成功,或者在操作过程中发生了一些不可以预测的错误,这些错误都应该返回给Flash客户端,以便开发者进一不处理,或者把错误告之应用的最终用户。这些都保证了程序的健壮性。

那么FDO类到底要如何设计呢? 我的做法是首先是两个XML对象,一个用于发送命令给服务端,一个则接收服务端返回的数据,当然这些数据、命令、结果都是XML格式的。然后还需要维护FDO状态,是空闲,还是繁忙等。FDO还应该包括三个事件供用户重写,以驱动他们的Flash继续播放:

·onLoading 事件:该时间输入一个加载的百分比作为参数,并被持续调用直到FDO与服务器的交互完成,就像onEnterFrame一样,当然调用的频度可以由FDO的设计者决定,也可以用户作为参数输入。这个事件的目的是驱动下载进度条,为最终用户提供良好的交互。

·onData事件:该事件通常在执行查询后数据下载完成时被调用,传入从服务器获取的XML数据(也就是 XML.onLoad事件中的this引用),在RecordSet类构造时必须传如这个参数。

·onResult事件:在执行插入、更新或修改后调用该事件,告诉开发这者命令执行是否成功。

FDO类还需要一个持续调用的方法来检查下载进度,在这个方法中再调用onLoading函数。

 

      Command类主要任务是把命令和参数以一定的格式生成 XML,然后交给FDO。至于RecordSet类和Record类都是比较简单。等一下我贴部分源代码出来。

  服务端的FDO类相对简单,主要用到ADO以及 XMLDOM 大家可以参看网上的一些资料

【一步到位】Android Studio 实现安卓连接阿里云物联网云平台 最新版本目前是Android Studio Iguana | 2024.1.2,你可以到官网上去找之前的版本,手上有工作项目的不要去轻易尝试,说不定你就编译失败了,失败了也不要担心,解决就可以了。 阅读详情

相关推荐

Wireshark、Fiddler、Charles 三款抓包工具的本质差异与选型指南

抓包工具是网络调试与接口分析的基础能力,其核心在于理解OSI模型分层原理——不同工具工作在不同协议层级,解决不同维度问题。Wireshark面向网络层(L2/L3),可捕获原始数据帧与TCP握手细节,适用于DNS异常、丢包重传等底层问题定位;Fiddler和Charles则工作在应用层(L7),作为HTTP(S)代理实现HTTPS解密、请求改写与弱网模拟,是API调试与移动端测试的首选。技术价值体现在:精准匹配问题域(如证书固定需Fiddler脚本绕过,iOS调试依赖Charles证书信任链),避免‘用显微

weixin_28831341的博客 253

Flash的历史及其发展方向

第二部分   Flash的历史及其发展方向一、Flash的历史Flash 最早期的版本称为Future Splash Animator,当时Future Splash Animator最大的两个用户是微软(Microsoft)和迪斯尼(Disney)。1996年11月,Future Splash Animator卖给了MM(Macromedia.com),同时改名为Flash1.0 。这里

LeeFJ的专栏 4998

大语言模型在建筑规范自动化合规审查中的微调策略与规模效应实践

大语言模型(LLM)通过在海量文本数据上预训练,具备了强大的语言理解和生成能力。其核心原理是基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。在工程实践中,为了将这种通用能力适配到建筑、法律、金融等高度专业化的垂直领域,通常需要采用领域微调技术。微调通过使用特定领域的高质量指令数据对模型参数进行更新,使其掌握专业术语、逻辑规则和任务范式,从而解决通用模型在专业场景下知识匮乏和“幻觉”问题。结合检索增强生成(RAG)技术,将动态外部知识库作为模型的“参考手册”,能进一步提升事实准确性并降低幻

weixin_30667831的博客 362

Using_FOD(0.6beta Asp)

Using_FODWritten by LeeFJ详见上篇压缩包内文档一、概 述FDO是一套可以在Flash和服务端之间进行数据库操作的组件,它把Flash客户端和服务端整合在一起,并使用XML来完成数据交换。你可以使用FDO进行查询、更新等操作。FDO还可以进行一定的扩展,哪怕不是作数据库操作也可以使用FDO,比如说返回服务端的一些信息等。由于服务端可以采用多种技术,这样只要符合规定的数据交换格

LeeFJ的专栏 2838

保姆级教程:用TI IWR6843雷达板跑通3D人体追踪demo(附CCS/UniFlash避坑指南)

本文提供了一份详尽的TI IWR6843毫米波雷达开发板3D人体追踪demo实现指南,涵盖开发环境搭建、工程导入编译、固件烧录及可视化工具配置全流程。特别针对CCS和UniFlash使用中的常见问题给出解决方案,帮助开发者快速掌握3D People Tracking技术应用。

weixin_29159441的博客 503

YoloV8改进策略:主干网络篇|MobileNetV4主干替换YoloV8的BackBone(独家原创)

今年,轻量级王者MobileNetV4闪亮登场!在我们这篇文章里,我们把MobileNetV4加入到了YoloV8中,替换原有的BackBone。哈哈,你猜怎么着?效果超赞!文章里详细记录了改进过程,给那些正在为创新点子发愁的小伙伴们提供了满满的灵感。嘿,想要发表关于轻量级改进的论文?这篇文章绝对是你的首选参考!

m0_47867638的博客 3192

FDO_0.6Beta发布,ASP版

  因为很多人都在问Flash+asp,或者是Flash+ASP+XML的东西要怎么做、如何通信和数据传输,我花了几天时间把FDO(Flash Data Operator)做出来了,封装了XML类和数据传输过程以及服务端的数据操作过程。不过写的不是太全,有兴趣的朋友可以一起探讨一下的.简单的说,或者有些朋友喜欢听的那种说法就是:FDO是一个用Flash操作数据库的组件,它包括Flash组件和服务端

LeeFJ的专栏 2613

20、基于图神经网络的脱氢焓预测方法研究

本文研究了基于图神经网络(GNN)的液态有机氢载体(LOHC)材料脱氢焓预测方法。通过分析现有GNN方法的局限性,提出了一种新的聚合自节点表示(AWS)方法,并结合丰富的原子特征和集成学习策略,显著提高了预测性能。实验结果表明,AWS在脱氢焓预测和多个基准化学性质预测任务中均优于现有GNN方法。此外,基于分子结构的集成方法进一步提升了模型的鲁棒性和准确性。研究展示了该方法在筛选LOHC材料中的潜力,并为未来预测更多化学性质奠定了基础。

pp12345的博客 103

今天晚上好冷,写一篇JSFL的东西来取暖

今天晚上好冷,写一篇JSFL的东西来取暖,我也是刚入门,这里的东西也是根据MM的 文档翻译的,有兴趣的同学,可以看看~JSFL概述JSFL是在Flash编辑环境下使用的一种语言,使F lash编辑环境执行某些操作,比如选种某个对象,关闭某个已经打开的文档等等。JSFL包括一系列的顶级函数(top-level functions)和一个顶级对象(top-level Objec

LeeFJ的专栏 2380

Android 中 app freezer 原理详解(二):S 版本

在之前的两篇博文《Android 中app内存回收优化(一)》和《Android 中app内存回收优化(二)》中详细剖析了 Android 中 app 内存优化的流程。这个机制的管理通过 CachedAppOptimizer 类管理,为什么叫这个名字,而不叫 AppCompact 等?freezer,一个针对应用进程长期处于 Cached 状态的优化。在之前博文《app freezer 原理 R 版本》

私房菜 3610

01 - 什么是SVM

摘要:SVM(共享虚拟内存)技术使CPU和GPU能共享同一虚拟地址空间,简化异构计算编程。传统模型需手动管理CPU/GPU内存和拷贝数据,而SVM允许直接传递指针,自动处理页面迁移和一致性维护。其核心包括统一地址空间、按需迁移、页面故障处理和一致性管理,显著降低编程复杂度并提升性能。通过HMM框架、MMU通知和GPU页面异常等机制实现高效内存共享,支持复杂数据结构,为异构计算带来便利。

图形/计算GPU的驱动与虚拟化技术分享园地 3128

Flash 组件应用与开发

第五部分  Flash 组件应用与开发一、Flash 组件概述组件是带有参数的电影剪辑,这些参数可以用来修改组件的外观和行为。每个组件都有预定义的参数,并且它们可以被设置。每个组件还有一组属于自己的方法、属性和事件,它们被称为应用程序程接口(Application Programming Interface,API)。使用组件,可以使程序设计与软件界面设计分离,提高代码的可复用性。Flas

LeeFJ的专栏 2269

基于MATLAB的PDT DMR物理层仿真

PDT DMR物理层仿真的目标是评估系统的误码率(Bit Error Rate,BER),以及验证和优化各种调制方案、编码方案和信道模型。下面将介绍如何进行PDT DMR物理层的仿真,并提供相应的MATLAB源代码。通过上述步骤,我们可以进行基于MATLAB的PDT DMR物理层仿真,并评估系统的性能。根据实际需求,我们可以修改仿真参数和添加更复杂的信道模型,以更全面地评估系统性能。最后,我们可以将仿真结果进行可视化和分析。首先,我们需要设置仿真的参数,包括调制方案、编码方案、信道模型和信噪比等。

TechPulseZ的博客 458

Flash 组件应用与开发(下)

              Flash 组件应用与开发(下)四、Flash V2组件开发在Flash MX Professional 2004中,开发人员开可以在项目中自己创建新的V2组件。在开始开发V2组件之前,首先要了解MovieClip类、UIObject类和UIComponent类,因为它们是Flash V2组件的基类,所有Flash自带的组件都是它们的直接或间接子类。开发一个组件

LeeFJ的专栏 2003

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何突破Class中的范围限制[Flash8 Guys]

Poster: Super-Tomato 我想学习过Class的朋友都会遇到一些范围方面的限制,例如在Class当中使用onKeyDown等事件无法调用别的函数,几乎很多网页也都只是单纯的解说方法而没有提到这点。在这里就教大家一个小技巧突破这个范围 class testing {   function testing() {      trace(this); //在这里的this

LeeFJ的专栏 1982

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Flash Actionscript 2.0中的函数与事件 之 函数类(Function Class)

Flash Actionscript 2.0中的函数与事件  之  函数类(Function Class) 作者:LeeFJ        函数是什么,在面向对象里面通常称为方法(Method),但是在AS2.0里面它却被定义为一个类。在我刚刚开始接触Flash的时候,我就是这样理解的,但是,问题是,他不是这样的,所以有点郁闷了。诶于是就翻看了MM的资料,终于知

LeeFJ的专栏 1974

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

AS 数据类型的一些探索(1)

AS 数据类型的一些探索(1)无聊的时候随便看看MM Flash的文档,在Actionscript_ref中看到了int这个关键字,以前因为习惯了C和java的写法,在写AS的时候也会错写到int,我知道它是AS的关键字,但是一直不知道它的作用,这回我仔细的看了看。intAvailabilityFlash Player 4. This function was de

LeeFJ的专栏 1876

Flash 的媒体组织方式(上)

第三部分  Flash 的媒体组织方式(上)一、资源管理库(Library)是Flash文档的资源管理器,所有可被Flash利用的资源都可以放在库中,并接受库的管理。在使用Flash进行创作设计或软件开发之前,首先要将媒体内容添加至Flash文档,当然也可以在 Flash 中直接创建矢量图或文本。或者从外部导入矢量图、位图、视频和声音;可以创建元件,即可重用的媒体内容。在运行时,也可以

LeeFJ的专栏 1650

发布几个坐标系组件

--> 发布几个坐标系组件,做课件的朋友有用 点击浏览该文件 组件列表:CDT_standard  标准的数轴CDT_anydir 任意方向的数轴CDT_2D_standard 平面直角坐标系----------------------------------------------参数列表:alpha: 数轴透明度,对文字无效;bottom_len: 若数轴则 dir为y 时

LeeFJ的专栏 1545

Flash 的媒体组织方式(下)

三、深度(Depth)深度(Depth)仅仅需要一个数字描述,Flash Player 使用这个数字来指定对象的层叠位置。所谓层叠是指一种显示时的的遮盖关系。深度值较大则显示较前,深度值较小则显示较后,较后的要被较前的遮盖。深度具有可比性但仅限于兄弟节点,所以同一父节点下的兄弟具有不同的深度,同时这个深度也描述了他们之间的层叠关系。属于不同父节点的子节点可以有相同的深度,但他们不具有可比性。

LeeFJ的专栏 1530

mx.utils包 之 ObjectCopy 类

-->ObjectCopy 类ObjectCopy 类是一个静态类,它包括一个静态方法copy,我在http://livedocs.macromedia.com找到了它的解释:Static class with methods for performing copies of in memory objects including nested property a

LeeFJ的专栏 1457

mx.utils 包 之Collection&Iterator

 mx.utils 包  之Collection&Iterator    在 mx.utils包中,包括了不少类,直接可以在安装目录下找到的是Delegate类,其他的还包括Collection接口,CollectionImpl类,ErrorStrings类,Iterator接口,IteratorImpl类,ObjectCopy类,StringTokenParser类,XMLString类。其

LeeFJ的专栏 1399

mx.utils 包 之 Delegate类 应用

mx.utils 包  之 Delegate类 应用关于Delegate类,可以在Flash的安装目录中找到。Delegate顾名思义就是代理,呵呵不是顾名思义,应该是翻译,哈哈。这个类就是要代理,呵呵,那么如何代理呢?这里有一个例子:1、  创建一个新的Fla文档,然后在第一帧的脚本中定义一个函数:function showHeart(){ t

LeeFJ的专栏 1333

OPC UA 地址空间导入实践|XML 与 CSV 两条路径

部署OPC UA服务器时,核心瓶颈在于数据注入——地址空间结构设计与时间序列模拟。XML定义节点结构,需注意命名空间索引(应基于URI而非运行编号)及父子关系双向声明,改动后必须重启生效;CSV注入时序,按SourceTimestamp分组批量写入,建议使用nsu=URI;s=名称格式避免索引错位。推荐使用Prosys仿真服务器,结合UaModeler建模,实现高效、稳定的仿真部署。

MotroEngineer的博客 258

JS XML验证及格式化处理

该代码提供XML验证、格式化及转换功能:isValidXML通过jQuery解析判断字符串是否为合法XML;formatXML对XML进行缩进美化,支持标签、文本、CDATA和注释;xmlToString将XML文档对象转为字符串;escapeHtml用于HTML转义。整体实现简洁,适用于前端XML处理场景。

程序就是世界 163

Spring 框架AOP与 XML 基础

本文涵盖AOP配置文件方式与注解方式、JDBC模板技术、模拟转账开发、XML语法与约束、DOM4J与XPath等内容,并附核心易错点速查表。

既然你都点开这里了,那可以给我点个关注吗?可以吗?可以吗? 274
上一篇: Flash Actionscript 2.0中的函数与事件 之 函数类(Function Class)
下一篇: mx.utils 包 之Collection&Iterator
9116
博客等级 码龄23年 1粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值