



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
labview编程技巧-labview与INI文件在WIN95以前,WINDOWS还没有引入注册表的概念,WINDOWS是利用INI文件来存储计算机相关配置的,在API里,WINDOWS提供了丰富的API函数来操作INI文件,LV里也专门有个子类别封装了这些API函数,使用非常方便。, f2 f4 O0 0 a2 P6 X7 i6 A6 A+ l3 t/ I9 i% D% _7 LV使用INI文件来存储配置,应用非常广泛,生成执行文档后也自动生成一个INI文件。5 h6 X% B6 b( | T; n/ Q1 y! A& s6 i) J+ I- x4 Y, JLV主要在下列情况下使用INI文件: I( v2 O2 . P9 a/ L6 F 9 p+ |7 ) S, |4 f# q存储前面板或者前面板特定控件的默认值和当前值& l$ h- M3 ?+ Q6 h8 * v. A. D3 P7 w0 e; K8 U3 Q* s. s8 i4 F) L存储本次应用的运行结果供下一次启动是调用! l) d, . X* o ( Z# h* Q) S: Y8 P存储硬件配置文件/ c$ l5 d$ 8 ! b5 * B6 $ r- + f存储硬件配置是非常重要的,比如一般的板卡都有16个数字输出,外部接继电器来控制外部设备,继电器是比较容易损坏的,而通常16个继电器中是有备用的,如何在不改变软件和硬件的情况下把输出更改到另外的继电器上,这样,只需要简单地改动一下外部接线就可以了那,使用配置文件可以轻松实现。1 d0 u3 M/ z6 G8 L3 c: ! c$ f7 Z0 n6 n! E% bINI文件结构很简单,装了多操作系统的人都知道,WINDOWS本身有个BOOT.INI9 s2 Q# O/ I+ s6 C y+ _6 y; n! Wboot loader: 9 R0 x7 k _gtimeout=30& r3 K u( f% M# B5 e3 U0 N/ s% J9 Kdefault=multi(0)disk(0)rdisk(0)partition(1)WINDOWS Q6 x G6 Q! B3 Uoperating systems& B* B: Q! ?8 S! n0 w$ Wmulti(0)disk(0)rdisk(0)partition(1)WINDOWS=Microsoft Windows XP Professional /noexecute=optin /fastdetect+ z% Y& yg7 ) I8 C! 7 M# Q* M9 j+ n2 e U7 v% O- Y# T* , k% v2 V& , + D3 M9 Hf! L: _6 d* M7 n( s. U. U y4 z我们看一下LV软件本身也利用了INI文件来保存配置。: J4 |1 L$ r+ h5 e4 _ : A; a* x% E/ G! xwY5 p* rLabVIEW/ q# L: M- o M2 o9 g7 N& L. C- bserver.tcp.port=3363; 3 r$ u% z2 d: r. ; Userver.tcp.enabled=TRUE2 a! O. n5 |e# R$ i/ Userver.tcp.access=+! E; V7 i- N. e# |- WIsFirstLaunch=False6 F* Z9 R) 1 D U* p2 , Z$ cPaletteHidddenControlCategories_LocalHost=Modern;System;Classic;Control Design & Simulation;.NET & ActiveX;Addons;h6 T7 3 p: k j) PaletteHidddenFunctionlCategories_LocalHost=Programming;Measurement I/O;Instrument I/O;Vision and Motion;Mathematics;Signal Processing;Data Communication;Connectivity;Control Design & Simulation;SignalExpress;Addons; v) R9 A n- D( V0 C. a4 c8 nmenuSetup=default A1 Z4 o3 J* _3 S1 T5 ; s; X, L q# EsaveFloaterLocations=True) K- C/ j/ l1 A8 9 l8 ffind.viListFlags=4 d y: n6 C1 z+ |/ T DLastErrorListSize=0,0,379,486+ o, : S5 f8 J: B4 H4 C4 z+ 2 Y( ApaletteStyle=NamedIcons1 Z3 k, p& X2 q* i5 c; E0 cNoAdvice070=,CleanUpWire,FlatSequence, G& w7 K5 F/ % J qSaveChanges_ApplyToAll=True8 m! K! o: D# j/ M% O5 yPropPageBounds=398;181;884;6368 9 s0 A, U8 I: v: Z6 K2 ORecentFiles.pathList=C:Program FilesNational InstrumentsLabVIEW 8.5examplesDAQmxAnalog InMeasure Voltage.llbAcq&Graph Voltage-Int Clk.vi;C:Program FilesNational InstrumentsLabVIEW 8.5examplesDAQmxAnalog InMeasure Voltage.llbAcq&Graph Voltage-Ext Clk-Analog Ref.vi;C:Documents and SettingsAdministratorLocal SettingsTemporary Internet FilesContent.IE57M9NS8HFchart%20right%20to%20left1.vi;C:Documents and SettingsAdministratorMy Documentswindows_environment_variable_reader_writerWindows Environment Variable Reader Writer.vi;C:Documents and SettingsAdministratorMy DocumentsMDI.llbSimple MDI Demo.vi;D:Control 1.ctl;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libtreeTree Sorter.llbJoin.vi;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitynotifier.llbCreate Notifier.vi;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitynotifier.llbWait On Notification.vi;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilityinputDevices.llbAcquire Input Data.vi+ VW# v, F# B4 eShowBufferAllocationsArrays=True3 j! R+ F# i 5 X9 PShowBufferAllocationsClusters=True/ ; P ?2 m0 9 A& x s+ q* VShowBufferAllocationsStrings=False3 N8 A I. P) , j0 r8 w$ l3 3 WShowBufferAllocationsPaths=False8 s6 , # x6 S3 & sShowBufferAllocationsScalars=False2 & T0 W2 S# I! C2 G, dShowBufferAllocationsVariants=False0 7 k3 f2 a% s5 l: oShowBufferAllocationsOther=False g, D G( a7 R0 y S2 v$ G4 LNewDlgRecentMainTemplates.pathList=C:Program FilesNational InstrumentsLabVIEW 8.5templatesFrameworksDesignPatternsProducerConsumerEvents.vit/ k. X2 IqJ$ n$ NewDlgBounds=700;4800 T) a( G6 Q _- T$ # E8 2 DNewDlgRecentTemplates.pathList=2 9 v- N0 T; g: U2 t7 CNewDlgLastSelected=8E4D36AD-F776-4C48-97C6-C1D85EFE889F; C. s8 E* 5 t% C4 j$ 6 NewDlgSmall=False) p! V: O, / p0 F2 x, UNewDlgCollapsed=77E350A8-F9AA-43FF-85E2-454279EBB9A7/Frameworks 3F7CF7A8-5E4D-4EDC-AA25-FA4A326988EF 8E4D36AD-F776-4C48-97C6-C1D85EFE889F3 7 P7 G2 g* S7 XSuperSecretPrivateSpecialStuff=True3 v* m2 V/ |- h: U, BTcolorHistoryItemA=00000BFF, J! l4 5 e( d) N! oRecentFjectPathList=C:Documents and SettingsAdministratorMy Documentsxcontrol eventsxcontrol eventsXControl Events Project.lvproj;C:Program FilesNational InstrumentsLabVIEW 8.5examplesgeneralxcontrolsDual Mode ThermometerSimple Dual Mode Thermometer XControl.lvproj;C:Program FilesNational InstrumentsLabVIEW 8.5exampleslvdscXControlsSpinnerSpinner.lvproj;C:Documents and SettingsAdministratorMy DocumentsLinked_List_ProjectLinked ListLinked_List_Project.lvproj;D:TESTUntitled Project 1.lvproj;C:Documents and SettingsAdministratorMy DocumentsScripting_Tools_0.16.02Scripting ToolsScripting Tools.lvproj;C:Documents and SettingsAdministratorMy DocumentsIconEditor_85_V2.2IconEditor.lvproj;C:Documents and SettingsAdministratorMy Documents第一名_何凌_公司问题第一名 何凌 公司问题SrcVI company.lvproj1 O+ l3 f; / X; zProjectExplorer.ClassicPosition=143,53,543,415# p* I) o4 q U9 q; fcolorHistoryItemB=009A85748 R8 ) e8 e! ?Ap$ ? neditRecentPaths=C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitysysinfo.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitysemaphor.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitymiscctls.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilityGetType.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilityinputDevices.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libUtilitynotifier.llb;C:Program FilesNational InstrumentsLabVIEW 8.5vi.libtreeTree Sorter.llb( C! K1 Y# R: _. B3 fLLBMgr_ActivePlugins=6 h+ V( X% |9 _x3 qLLBMgr_RecentPath=C:Documents and SettingsAdministratorMy DocumentsMDI.llb A; J H, N$ |( tcolorHistoryItemC=00FF8242 O& u. _% dautoerr=2( c 4 e N( OcolorHistoryItemD=00000FDC) H# O) T9 Y _colorHistoryItemE=003100DC m* ?+ . j H+ RcolorHistoryItemF=00FFFFFF0 Y8 O- , b; c5 * colorHistoryItemG=00FF3D006 s% N* s% _& S ycolorHistoryItemH=000F00DC( z: e: M, e# / N% CHcolorHistoryItemI=004AFF420 I d; F5 h7 E5 4 AcolorHistoryItemJ=00C88E00; q& ?& Y+ U7 a T% c3 McolorHistoryItemK=000025FF4 r! JE3 F$ C4 r$ d% s! MexoticControls=TRUE- ! Y0 % v& |5 r+ O( F) |) qNoAdvice080=,ClassBrowser, t$ q. d$ 9 d& 9 A1 lSuperPrivateScriptingFeatureVisible=True l/ c. Q6 X+ b( & : uSuperSecretPrivateSpecialStuff=True0 U F* S. c4 s( e8 d y& NsuperPrivateScriptingFeatureSichtbar=True 9 J) Mp# O$ E( _( o, sFPFont=0 182 t& ( x |! w K% hBDFont=0 18 m; y H3 T$ zVtoolPaletteLoc=494,22,645,1009 j& U! l# G+ f5 W1 hLVLibraryThemeColor=006699FF# K. - X3 T6 8 t, r E) L+ Z; e1 v: a$ Wini文件非常简单,是文本文件,可以用WINDOWS记事本直接打开,组成结构是一个简单的树型结构,说明如下:; z( l2 N2 TQ9 m t6 O! F, . + C1 B5 rsection1! 8 p. t0 B0 Q9 Q) , S* Vm0 w! Z; t6 I% u; S W/ U0 okey1_section1=VALUE& v$ d) d! F$ lkey2_section2=VALUE7 e$ D$ ?: Q: J+ J% Ykey3_section3=VALUE( a# z( c2 J9 W1 A5 |, P, b$ % k2 u! e# / q3 ysection2* C! b0 F5 U1 Zkey1_section2=value* n7 B, h m! I3 S( f! u2 tkey2_section2=value5 / q! n& C, x8 Q: ukey3_section2=value- D, s8 R9 a( S7 f( L( 9 N R2 j& h5 I+ q5 G; 2 a& 4 d0 j O3 b可以看出结构非常简单,每个INI文件又一个或者多个SECTION组成,每个SECTION又一系列键和键值组成,值的类型可以是BOOLEAN ,DOUBLE,I32,U32,STIRNG,PATH等等! c/ z8 # ?1 p/ P* h) 5 V+ $ g1 * m( ZLV专门提供了一组节点来处理INI文件:- x$ H- m b4 _* z) 4 j$ _1 B. b: z+ q7 x! kI: J2 f; k6 N5 Q- H# o3 w1 G9 p. Z$ j) kB8 x( a上排的是操作INI的节点,下排的是读取INI本身信息的节点# i8 F* E3 i; j6 Y2 E5 r- ; W3 V) N8 n2 pc8 A% 操作INI节点包括:打开,读键值,写键值,删除键值,删除分类(SECTION),关闭。0 u( P. , g# N5 2 g: q- 信息节点包括: 取得所有分类中的键名称,取得所有分类名称,判断文件是否是配置文件。6 1 l2 ) u8 h: v4 h( u$ - 4 / q* q3 QYf2 F) p% U7 X) n* 具体操作和其他文件操作类似,打开(注意路径问题)-读或者写-关闭/ v( O. 3 y- m8 h8 I* t 8 G6 N6 Q# n. W# I8 a2 U$ yLV提供的INI节点非常基本,数据类型也是基本的数据类型,我们实际工作更常用的是数组和簇类型,OPENG为我们作好了这些,并且是开放原代码,看看它提供的节点:; I- p2 J! w. c7 q+ Z! t& Z* k g5 E2 5 k# D! K8 P# u) B. G9 3 m8 q7 b& Bb& C/ K C4 Z. b3 Q这里的OPEN和CLOSE就是LV本身提供的节点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社会工作个案社会工作
- 高级讲师自我介绍课件
- 背诵量大的职业考试题及答案
- 北京高压电工考试试题及答案
- 北京高二数学月考试卷及答案
- 北航复试模拟考试题目及答案
- 保险高管考试题库及答案c类
- 保卫室的考试题及答案是什么
- 电焊使用知识培训内容课件
- 包头中考考试试题分析及答案
- GB/T 24218.3-2010纺织品非织造布试验方法第3部分:断裂强力和断裂伸长率的测定(条样法)
- 系统工程原理 - 国防科技大学信息系统与管理学院
- 华为IPD流程管理全部课件
- 当代世界社会主义现状课件
- 2021年唐山迁安市教师进城考试笔试试题及答案解析
- 《给排水科学与工程概论》全套教学课件
- 电工考核评分表(月度)
- 三菱变频器d700说明书
- 大象版(新版教材)三年级上册小学科学全册教学课件
- 涉外导游英语口语实训教程整套课件完整版PPT教学教程最全电子讲义教案(最新)
- 新疆新昊诚保温材料有限公司年产万吨岩棉生产线项目可
评论
0/150
提交评论