ld2文件是二进制文件,和读取txt、dat文件有区别,我没有用过vb,但是可以给你说一下用C语言读取文件的细节,希望对你有所帮助。
首先,你提到的txt,dat文件,这些是一般的文本文件,你可以用写字板之类的程序打开,但是ld2文件不能这样打开开,首先就是它有128个字节的数据头,所以你得查查用vb怎么读取二进制文件。你先读取那128个字节,其中有很多信息,你可以看看给你的程序的publich文件,有两个变量要注意,就是这个ld2文件的行数和列数,如果这两个数据读出来是400*300,表示这个ld2文件所表示的图像信息有400行,300列,这就有120000个数据点,其中每个数据占两个字节,所以你想读第一个通道的数据,就要从第129个字节开始,一直读到128+240000个字节的地方,读取出来的数据全部除10,即是真实数据。读取第二个通道的数据从129+240000字节开始一直到128+240000+240000字节处,整个ld2文件中有多少通道,可以在128字节的数据头中读出来。
C的写法:
1
int fp=open(file_path,mode);
2
read(fp,buffer,buffer_size);//这里先读取128字节,所以buffer长度也是128字节
3
从数据头中取得相应的信息,比如卫星号,时间,数据大小,通道数等等
4
read(fp,data_buffer,data_buffer_size);//这里正式开始读取数据信息,data_buffer大小要根据前面所说来的换算
5
读取完毕以后你就可以保存成你想要的格式,比如dat、txt等等。
6
close(fp);//关闭文件
LD2文件文件头,是128个字节。用VC++语言,表述如下:
/ 局地文件头记录结构,记录长度为128。/
typedef struct tagLDFFileHeader
{
short int wFileID; // 文件标识 局地文件为"LA"
short int wSatelliteID; // 卫星标识, NOAA-14: 14, NOAA-12: 12 FY-1C:103 TERRA:1001
short int wOrbitNo; / 轨道号 /
short int wUporDown; / 升降轨标记, 1: 升轨, 0: 降轨 /
short int wYear; / 年 /
short int wMonth; / 月 /
short int wDay; / 日 /
short int wHour; / 时 /
short int wMinute; / 分 /
short int wDayorNight; / 白天黑夜标识, 0: 白天, 1: 黑夜 /
short int wChannelNums; / 通道数/
short int wProjectType; / 投影方式, 0: 不投影, 1: 等角投影 2: 麦卡托投影, 3: 兰布托投影 /
/ 4: 极射赤面投影, 5: 艾尔伯斯投影 /
short int wWidth; / 列数 /
short int wHeight; / 行数 /
float fLonPrecision; / 经度分辨率 -- 等角投影 /
/ x分辨率 -- 麦卡托、兰布托、极射赤面投影 /
float fLatPrecision; / 纬度分辨率 -- 等角投影 /
/ y分辨率 -- 麦卡托、兰布托、极射赤面投影 /
float fStandardLat1; / 标准纬度1 -- 麦卡托、兰布托、极射赤面投影有效 /
float fStandardLat2; / 标准纬度2 -- 兰布托投影有效 /
float fEarthR; / 地球半径 -- 麦卡托、兰布托、极射赤面投影有效 /
/ 对于艾尔伯斯投影,fMinLat, fMaxLat, fMinLon, fMaxLon /
/ 分别对应于最小y, 最大y, 最小x, 最大x /
float fMinLat; / 最小纬度 /
float fMaxLat; / 最大纬度 /
float fMinLon; / 最小经度 /
float fMaxLon; / 最大经度 /
float fStandardLon; / 圆锥投影中心经线 (LAMBERT,POLAR,ALBERS) /
float fCenterLon; / 图象中心点的经度 /
float fCenterLat; / 图象中心点的纬度 /
BYTE bChIndex[40]; / 通道索引 /
WORD wComposedDays; //已合成天数
WORD wVersion; //版本号
unsigned char NDVIOffSet;
bool bCloudMask;//WORD wBytes;
unsigned char ucFlag1;
//目前由于头文件过短。使用这个字符表示是否包含太阳天顶角,太阳方位角,高度,卫星天顶角,卫星方位角,地表特征
//第一位为太阳天顶角,1表示包含太阳天顶角数据,0表示没有
//第2位为太阳方位角,1表示包含太阳方位数据,0表示没有
//第3位为海拔高度,1表示包含海拔高度数据,0表示没有
//第4位为卫星天顶角,1表示包含卫星天顶角数据,0表示没有
//第5位为卫星方位角,1表示包含卫星方位角数据,0表示没有
//第6位为地表特征,1表示包含地表特征数据,0表示没有
unsigned char ucFlag2;
float fSkipLength;/ 局地文件头记录的后面填充字段长度 /
}tagLDFFileHeader;
其中,行列数对于读数据至关重要,经纬度画图的时候不可或缺。别的相对次要点。
读的时候。用指针,跳过128个字节,从129个字节开始读,按行列提取出每个通道的信息,然后加以保存。
注意,在matlab里面,通道数据格式是‘int16’,我在这里尝试了很久。
还有,缺省值为-2,不是NaN。
接下来画图的时候,直接读出来的数据是顺时针转了90度的了。
所以,最后一步是要翻转数据(也就是所谓的矩阵了)。
matlab语言为 ch1=fliplr(ch1');
就是把矩阵逆时针转90度。
到了现在,基本上的坎都已经过了。
剩下来的无非是对通道的简单运算,或是对通道进行一个季节变化的统计分析等工作。
%------------1seperate the Channels in ld2 files
fid1 = fopen('F:\Modis\read\TERRA_2007_01_21ld2','r');
status=fseek(fid1,128,'bof'); %read from the 129 bytes
for i=1:36
stat1=fread(fid1,[3000,4000],'int16'); %be attantion the int16
stat1=fliplr(stat1'); %eddy the matrix
fid2=fopen(['F:\Modis\read\TERRA_2007_01_21_',num2str(i),'dat'],'w');
fwrite(fid2,stat1,'float'); %write to purpose files
fclose(fid2);
end
fclose(fid1);
win10安装了itunes后安装成功了但是无法打开,是设置错误造成的,解决方法如下:
1、首先在程序里面搜索Microsoft Store,点击并打开商店。
2、在搜索框中输入iTunes,点击第一个搜索结果,进行安装。
3、在主页里面点击“系统要求”,便可查看此自己的电脑是否可以安装此软件。
4、点击安装安装成功后,点击“启动”按钮,启动iTunes程序。
5、最后打开iTunes后,依次点击“帐户”、“登录”按钮,开始使用Apple ID登录帐户,就可以了。
win2000的得意之作GPO,即group policy object,win2000把以前NT要通过修改注册表或者运行poleditexe修改Ntconfigpol文件才能达到配置政策的目的,通过GPO来实现一个超强功能的中央集权的组政策,此政策是建立在活动目录(Active Directory)基础之上的1轻松完成windows客户机明文传送密码
众所周知,linux的samba服务是采用非加密的密码传送,而windows系列默认采用加密的密码传送而samba服务通常采用user用户模式:需要提供用户名和密码,那么就只好把windows的加密的密码传送改为非加密的密码传送只有通过修改注册表
对于:windows95/98
在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Vxd\VNETSUP
增加一个新的DWORD键值enableplaintextpassword 0X01
对于:Windows NT
在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\parameters
增加一个新的DWORD键值enableplaintextpassword 0X01
是不是很麻烦,win2000的GPO可以轻松帮组你完成把windows的加密的密码传送改为非加密的密码传送点击开始-程序-管理工具-Active Directory用户和计算机,右击所在域(本例是wupanlancom)-属性-组政策,点击default domain policy,选择编辑进入GPO窗口。选择计算机配置-windows设置-本地策略-安全选项,将“发送为加密的的密码连接到第三方samba服务器"选项设置为enableRegsvr 32命令是Windows中控件文件(如扩展名为DLL、OCX、CPL的文件)的注册和反注册工具。
命令格式
Regsvr32 [/s] [/n] [/i[:cmdline]] dllname
/u 卸载安装的控件,卸载服务器注册;
/s 注册成功后不显示 *** 作成功信息框;
/i 调用DllInstall函数并把可选参数[cmdline]传给它,当使用/u时用来卸载DLL;
/n 不调用DllRegisterServer,该参数必须和/i一起使用。
简单实例
要手工注册“E:\CPCWdll”,只需在“开始→运行”中键入“Regsvr32 E:\CPCWdll”,单击“确定”按钮后会d出提示信息“DllRegisterServer in CPCWdll succeeded”,说明组件注册成功;如果要卸载此组件,在“开始→运行”中键入“Regsvr32 /u E:\CPCWdll”即可
Windows系统提供的Regsvr32命令也许很多朋友都见过可能还不知道怎么用,它可是一个很实用的功能。
一、能够帮你轻松修复IE浏览器
很多经常上网的朋友都有过这样的遭遇:IE不能打开新的窗口,用鼠标点击超链接也没有任何反应。这时重装IE一般能解决问题。其实不必这么麻烦,使用Regsvr32命令就可以轻松搞定。
在“开始→运行”中键入“regsvr32 actxprxydll”命令,点击“确定”按钮,这时会d出一个信息对话框“DllRegisterServer in actxprxydll succeeded”,点击“确定”;然后再在“开始→运行”中键入“regsvr32 shdocvwdll”命令,单击“确定”即可。重新启动后IE已经被轻松修复了。
二、解决Windows无法在线升级的问题
Windows的漏洞很多,每隔一段时间就需要使用“Windows Update”升级程序进行在线升级,不过“Windows Update”经常出现无法使用的情况,这时,我们可以使用Regsvr32来解决这个问题。
在“开始→运行”中键入“regsvr32 wupdinfodll”,点击“确定”按钮,这样在系统中就重新注册了“Windows Update”组件,重新启动后问题已经解决。
三、防范网络脚本病毒有新招
网络脚本病毒嵌在网页中,上网时在不知不觉中机器就会感染上这种病毒。笔者认为单纯使用杀毒软件并不能有效地防范这些脚本病毒,必须从病毒传播的机理入手。网络脚本病毒的复制、传播都离不开FSO对象(File System Object,文件系统对象),因此禁用FSO对象就能有效地控制脚本病毒的传播。 *** 作方法很简单:
在“开始→运行”中键入“regsvr32 /u scrrundll”就可以禁用FSO对象;如果需要使用FSO对象,键入“regsvr32 scrrundll”命令即可。
四、卸载Win XP自带的“鸡肋”功能
Win XP以功能强大而著称,但有些功能却常常令人有“鸡肋”之感,比如Win XP自带的ZIP功能和预览功能,不仅占用了系统资源,功能也远不如第三方软件强大。其实用Regsvr32命令可以很容易地卸载这些功能。
在“开始→运行”中键入“regsvr32 /u zipfldrdll”,单击“确定”按钮,d出卸载成功信息框后就完成了ZIP功能的卸载;要恢复ZIP功能,键入“regsvr32 zipfldrdll”即可。同样,卸载预览功能也很简单,在“开始→运行”中键入“regsvr32 /u thumbvwdll”即可;如果要恢复该功能,只须键入“regsvr32 thumbvwdll”。
这里有很多Regsvr32命令,看了后就明白了Regsvr32命令修复系统故障实例使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32exe的程序,它就是windows自带的activex注册和反注册工具。
2000系统的regsvr32exe在winnt\system32文件夹下;
WInXP系统的regsvr32exe在windows\system32文件夹下
regsvr32的用法为:
"regsvr32 [/s] [/n][/u] dllname”。其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用
执行该命令的方法:
1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可
2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。
二、Regsvr32错误消息的说明
当 使用 Regsvr32exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。如果此尝试成功,Regsvr32exe 会显示一个指示成功的对话框。如果此尝试失败,Regsvr32exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。
以下列表介绍了 RegSvr32 错误消息和可能的原因。
Unrecognized flag:/invalid_flag
键入的标志或开关组合无效(请参阅本文中的“Regsvr32exe 的用法”一节)。
No DLL name specified
未包括 dll 文件名(请参阅本文中的“Regsvr32exe 的用法”一节)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found
Dllname不是dll 或ocx 文件。例如,键入 regsvr32 wjviewexe 就会生成该错误消息。
例 如,键入regsvr32 icwdialdll 后就会返回该错误消息,因为 Icwdialdll 文件不能自行注册。如果您怀疑内存中有损坏的Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 40 资源工具包 中的 Kill 或 Pview 工具。有关其他信息,请单击以查看以下 Microsoft 知识库文章:197155 如何终止孤立进程OleInitialize failed (or OleUninitialize failed)
Regsvr32 必须先初始化COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。
一、轻松修复IE浏览器
regsvr32 Shdocvwdll
regsvr32 Oleaut32dll
regsvr32 Actxprxydll
regsvr32 Mshtmldll
regsvr32 Urlmondll
regsvr32 browseuidll
作用:
1、同时运行以上命令不仅可以解决IE不能打开新的窗口,用鼠标点击超链接也没有任何反应的问题;
2、还能解决大大小小的其它IE问题,比如网页显示不完整,JAVA效果不出现,网页不自动跳转,打开某些网站时总提示‘无法显示该页’等。
二、解决Windows无法在线升级的问题
regsvr32 wupdinfodll
作用:
Windows的漏洞很多,每隔一段时间就需要使用“Windows Update”升级程序进行在线升级,不过“Windows Update”经常出现无法使用的情况,这时,我们可以使用Regsvr32来解决这个问题。
三、防范网络脚本病毒有新招
regsvr32 /u scrrundll
作用:
网络脚本病毒嵌在网页中,上网时在不知不觉中机器就会感染上这种病毒。笔者认为单纯使用杀毒软件并不能有效地防范这些脚本病毒,必须从病毒传播的机理入手。网络脚本病毒的复制、传播都离不开FSO对象(File System Object,文件系统对象),因此禁用FSO对象就能有效地控制脚本病毒的传播。
如果需要使用FSO对象,键入“regsvr32 scrrundll”命令即可。
四、卸载Win XP自带的ZIP功能
regsvr32 /u zipfldrdll
作用:
Win XP以功能强大而著称,但有些功能却常常令人有“鸡肋”之感,比如Win XP自带的ZIP功能和预览功能,不仅占用了系统资源,功能也远不如第三方软件强大。其实用Regsvr32命令可以很容易地卸载这些功能。
五、修复无法缩略图查看文件问题
2000: 开始→运行,输入regsvr32 thumbvwdll
XP: 开始→运行,输入regsvr32 shimgvwdll
六、让WMP播放器支持RM格式
很多朋友喜欢用Windows Media Player(以下简称WMP)播放器,但是它不支持RM格式,难道非得安装其它播放软件吗笔者有办法。
以Win XP为例,首先下载一个RM格式插件,解压缩后得到两个文件夹: Release(用于Windows 9x)和Release Unicode (用于Windows 2000/XP);将Release Unicode文件夹下的RealMediaSplitterax文件拷贝到“系统盘符\WINDOWS\System32\”目录下;在“开始→运行 ”中键入“regsvr32 RealMediaSplitterax”,点击“确定”即可。接着下载解码器,如Real Alternative,安装后就能用WMP播放RM格式的影音文件了。
七、让WMP9的播放器出现
有些音乐网页的在线点歌需要用到Media Player,有的朋友明明安装了WMP9,但在线听音乐却只看到枯燥的WMP6播放器面板,想让漂亮的WMP9面板出现,当然没问题的。
常见问题的 *** 作系统多数WIN 98,先关闭IE,再在“开始→运行”中键入“regsvr32 wmpdxmdll”,点击“确定”即可。
八、解决打开系统功能时无反应
regsvr32 shdocvwdll
作用:
有时从开始菜单里点击XP系统的搜索功能、帮助和支持或管理工具等,但就是无任何反应,这是它们的打开方式缺少关联,所以我们只要用regsvr32注册它们需要调用的动态连接库文件就行了。
九、添加/删除程序打不开了
regsvr32 appwizcpl
regsvr32 mshtmldll
regsvr32 jscriptdll
regsvr32 msidll
regsvr32 "c:\program files\common files\system\ole db\oledb32dll"
regsvr32 "c:\program files\common files\system\ado\msado15dll"
regsvr32 mshtmleddll
regsvr32 /i shdocvwdll
regsvr32 /i shell32dll
作用:
当打开控制面板中的添加/删除程序时,双击它的图标后无反应,或者打开后自动关闭了,尝试使用以上命令可以解决。
十、XP的用户帐户打不开regsvr32 nusrmgrcpl
regsvr32 mshtmldll
regsvr32 jscriptdll
regsvr32 /i shdocvwdll
十一、防范网络脚本病毒有新招
regsvr32 /u scrrundll 禁用FSO对象
regsvr32 scrrundll 使用FSO对象
十二、解决Windows无法在线升级补漏洞的问题
regsvr32 wupdinfodll
以下症状我把它称作IE的活动脚本漏洞,虽然这两个命令能修复,但治标不治本,我建议遇到此问题的朋友到微软网站进行IE安全更新,即打漏洞补丁。
regsvr32 jscriptdll
regsvr32 vbscriptdll
作用:
1、跟上面讲的修复IE浏览器方法配合使用(可以不配),可以很好的解决浏览某些网页无法正常显示和功能不正常,如:
a不显示某些验证码
b不显示某些动态
c不显示某些论坛的帖子列表
d论坛快速跳转功能无用
e论坛发贴时按Ctrl+Enter提交无反应
2、修复个别窗口空白,如XP的‘搜索’功能的搜索助理 *** 作面板空白、系统还原页面空白和用户帐户页面空白等。(可修复把握度100%)
3、解决windows media player 9或以上版本打开时提示‘出现内部应用程序错误’。(可修复把握度100%)
4、可以修复win 2000的‘添加/删除程序’打开后一片空白。(可修复把握度99%)
5、解决win 2000以WEB方式查看Program Files文件夹和Winnt文件夹时看不到任何文件,以及‘控制面板’的图标跑到左边去的问题。
6、解决网页上网际快车的右键菜单功能无法使用。
在网站中,当右键点某个‘下载连接’时,会d出菜单,选择‘使用网际快车下载’会再d出FLASHGET的下载任务页面,如果发现该功能无反应,那就可能是这个原因:原来这项菜单是调用了FLASHGET目录下的jc_linkhtm文件,这个文件是用VB语言编写的,所以其作用丢失是动态连接库 vbscriptdll没有注册和调用到。
大家注册DLL或OCX的方法应该用Regsvr32exe,用得多了大家一定会觉得在运行中写一长串东西很是烦人吧?!这里我向大家介绍一种麻烦一次方便"一生"的方法。这个方法只要右击你想注册或反注册的OCX或DLL就可以了。它的原理是通过修改注册表使右击OCX或DLL文件时出现注册和反注册的菜单项。
下面介绍这个方法
注册DLL文件:打开HKEY_CLASSES_ROOR\Dllfile,新建项shell,再其下新建Register,你会发现Register就是右键d出的菜单名,再在其下建command,修改其"默认值"为Regsvr32 %1
反注册DLL文件:打开HKEY_CLASSES_ROOR\Dllfile,新建项shell,再其下新建Unregister,再在其下建command,修改其"默认值"为Regsvr32 %1 /u
注册和反注册OCX文件打开HKEY_CLASSES_ROOR\OCXfile,然后其它的方法和上面的一样的了。
右击一个OCX或DLL试试看,呵呵,Yes!出现了我们想要的Register和Unregister菜单项。
VB中如何用代码来实现控件的注册
---------------------------------------------------------------
shell "regsvr32 """ & path & "\yourocxnameocx"""
加/s不d出对话框
1、首先,SD卡/硬盘格式化成FAT32,然后在里面放PackHBL包:(把叫wiiu的文件夹拖到SD卡根目录就行了)。2、然后,把wupinstaller-mod的里wupinstaller文件夹放到wiiu>>apps的文件夹里wupinstaller-mod下载:
,下载的游戏(要安装版的游戏非GX2格式)有install文件夹,把这个文件夹拖到SD卡根目录里。2、然后,把wupinstaller-mod的里wupinstaller文件夹放到wiiu>>apps的文件夹里wupinstaller-mod下载:2、然后,把wupinstaller-mod的里wupinstaller文件夹放到wiiu>>apps的文件夹里wupinstaller-mod下载:5、然后,在屏幕的右上角,按左右键。找wupinstaller程序,然后点击load,进行程序的下载。6、进入加载页面,点X就安装在硬盘里了,安装速度很快,(点a是安装到系统的64G内存里,更方便)。regsvr32exe是用于注册Windows *** 作系统的动态链接库和ActiveX控件。
reg是register注册英文单词的缩写,svr 也就是 server(服务 或者服务器,在这里指服务)
32是system32,全称的意思就是注册服务到系统(SYSTEM32)。
扩展资料
regsvr32exe 文件建议修改权限,删除所有的用户只保存Administrators 和SYSTEM为所有权限regsvr32exe是32位系统下使用的DLL注册和反注册工具
使用它必须通过命令行的方式使用,格式是:regsvr32 [/u] [/s] [/n] [/i[:cmdline]] DLL文件名。
命令可以在“开始→运行”的文本框中,也可以事先在bat批处理文档中编写好命令。未带任何参数是注册DLL文件功能,其它参数对应功能如下:
/u:反注册DLL文件;
/s:安静模式(Silent)执行命令,即在成功注册/反注册DLL文件前提下不显示结果提示框。
/c:控制端口;
/i:在使用/u反注册时调用DllInstall;
/n:不调用DllRegisterServer,必须与/i连用。
参考资料来源:百度百科-regsvr32exe
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)