正交互叠加 POB和PC具有正交互叠加主效应 交互效应

1406人阅读
/// &summary&
/// wince设备--pc有线通信类
/// &/summary&
public class Rapi
private const int TimeOut = 2000;//异步连接设备超时时间2秒
#region 初始化、卸载设备(私有)
/// &summary&
/// 异步初始化设备,打开后不关闭(默认打开后不关闭,因此定义为私有)
/// &/summary&
/// &param name=&nTimeout&&单位ms&/param&
/// &returns&&/returns&
private bool InitDevice(int nTimeout)
Rapiinit ri = new Rapiinit();
ri.cbsize = Marshal.SizeOf(ri);
uint hRes = CeRapiInitEx(ref ri);
ManualResetEvent me = new ManualResetEvent(false);
me.SafeWaitHandle = new SafeWaitHandle(ri.heRapiInit, false);
if (!me.WaitOne(nTimeout, true)) //阻塞等待结果
CeRapiUninit();
/// &summary&
/// CE设备卸载,一般情况下不适用,各个方法末尾已经卸载设备。
/// &/summary&
private void RapiUninit()
CeRapiUninit();
#endregion
#region 公有方法(判断文件是否存在、删除、wince和pc传输文件)
/// &summary&
/// 判定文件是否存在
/// -1:连接不到服务器 0:不存在 1:存在
/// &/summary&
/// &param name=&fileName&&&/param&
/// &returns&-1:连接不到服务器 0:不存在 1:存在&/returns&
public int IsExistFile(string fileName)
if (InitDevice(TimeOut))
CeFindData findData = new CeFindData();
int jieg = CeFindFirstFile(fileName, ref findData);
CeRapiUninit();
if (jieg != -1) return 1;
else return 0;
return -1;
/// &summary&
/// 删除ce设备上的文件
/// -1:连接不到服务器 0:删除失败 1:删除成功
/// &/summary&
/// &param name=&fileName&&要删除的文件名&/param&
/// &returns&-1:连接不到服务器 0:删除失败 1:删除成功&/returns&
public int DeleteFile(string fileName)
if (InitDevice(TimeOut))
CeFindData findData = new CeFindData();
int jieg = CeFindFirstFile(fileName, ref findData);
if (jieg != -1)
bool isok = CeDeleteFile(fileName);
CeRapiUninit();
if (isok) return 1;
else return 0;
else return 1; //如果不存在要删除的文件,等同于删除成功。
return -1;
/// &summary&
/// PC--&Wince
/// &/summary&
/// &param name=&localFileName&&pc文件&/param&
/// &param name=&remoteFileName&&wince文件&/param&
/// &returns&&/returns&
public bool CopyFileToPDA(string localFileName, string remoteFileName)
#region 方法用变量
const uint genericWrite = 0x;
// 设置读写权限
const short createNew = 1;
// 创建新文件
const short fileAttributeNormal = 0x80;
// 设置文件属性
const short invalidHandleValue = -1;
// 错误句柄
byte[] buffer = new byte[0x1000];
// 传输缓冲区定义为4k
int byteswritten = 0;
int filepos = 0;
#endregion
if (InitDevice(TimeOut))
//查找远程文件
CeFindData findData = new CeFindData();
int jieg = CeFindFirstFile(remoteFileName, ref findData);
if (jieg != -1)
CeDeleteFile(remoteFileName);
// 创建远程文件
IntPtr remoteFile = CeCreateFile(remoteFileName, genericWrite, 0, 0, createNew, fileAttributeNormal, 0);
// 检查文件是否创建成功
if ((int) remoteFile == invalidHandleValue)
throw new Exception(&创建文件失败!&);
// 打开本地文件
FileStream localFile = new FileStream(localFileName, FileMode.Open);
// 读取4K字节
int bytesread = localFile.Read(buffer, filepos, buffer.Length);
while (bytesread & 0)
// 移动文件指针到已读取的位置
filepos +=
// 写缓冲区数据到远程设备文件
if (!Convert.ToBoolean(CeWriteFile(remoteFile, buffer, bytesread, ref byteswritten, 0)))
// 检查是否成功,不成功关闭文件句柄,抛出异常
CeCloseHandle(remoteFile);
throw new Exception(&写远程文件失败!&);
// 重新填充本地缓冲区
bytesread = localFile.Read(buffer, 0, buffer.Length);
catch (Exception)
bytesread = 0;
// 关闭本地文件
localFile.Close();
// 关闭远程文件
CeCloseHandle(remoteFile);
CeRapiUninit();
/// &summary&
/// Wince--&Pc
/// &/summary&
/// &param name=&remoteFileName&&wince文件&/param&
/// &param name=&localFileName&&pc文件&/param&
/// &returns& 1 成功 0 失败 -1 没找到文件&/returns&
public int CopyFileToPC(string remoteFileName, string localFileName)
const short createOpen = 3;// 设置读写权限
const uint genericRead = 0x;
const short fileAttributeNormal = 0x80; // 设置文件属性
const short invalidHandleValue = -1; // 错误句柄
if (InitDevice(TimeOut))
IntPtr fileh = CeCreateFile(remoteFileName, genericRead, 0, 0, createOpen, fileAttributeNormal, 0);
if ((int) fileh == invalidHandleValue)
return -1;
FileStream writer = new FileStream(localFileName, FileMode.Create);
int size = CeGetFileSize((int) fileh, 0);
byte[] buff = new byte[400096];
int readed = 400096;
while (readed == 400096)
CeReadFile((int) fileh, buff, 400096, out readed, 0);
writer.Write(buff, 0, readed);
CeCloseHandle(fileh);
writer.Close();
//上传成功后删除ce文件
/*CeFindData findData = new CeFindData();
int jieg = CeFindFirstFile(remoteFileName, ref findData);
if (jieg != -1)
CeDeleteFile(remoteFileName);
CeRapiUninit();
#endregion
#region 该类要用到的结构体
public struct CeFindData
public int DwFileA
public FILETIME FtCreationT
public int FtCreationTime2;
public FILETIME FtLastAccessT
public FILETIME FtLastWriteT
public int NFileSizeH
public int NFileSizeL
public int DwO
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] public string CFileN
[StructLayout(LayoutKind.Explicit)]
private struct Rapiinit
[FieldOffset(0)]
[FieldOffset(4)] public readonly IntPtr heRapiI
[FieldOffset(8)] private readonly IntPtr hrRapiI
#endregion
#region 声明要引用的API
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeCloseHandle(IntPtr hObject);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeWriteFile(IntPtr hFile, byte[] lpBuffer,
int nNumberOfbytesToWrite, ref int lpNumberOfbytesWritten,
int lpOverlapped);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode, SetLastError = true)]
private static extern IntPtr CeCreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode,
int lpSecurityAttributes, int dwCreationDisposition,
int dwFlagsAndAttributes, int hTemplateFile);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeRapiUninit();
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern bool CeDeleteFile(string fileName);
[DllImport(&rapi.dll&)]
private static extern uint CeRapiInitEx(ref Rapiinit pRapiInit);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeFindFirstFile(string lpFileName, ref CeFindData lpFindFileData);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeGetFileSize(int hFile, int lpOverlapped);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeReadFile(int hFile, byte[] lpBuffer, int lpOverlapped, out int laji, int gouride);
#endregion
#region 未用到的api接口
[DllImport(&kernel32.dll&, SetLastError = true, CharSet = CharSet.Unicode)]
private static extern SafeFileHandle CreateFile(string lpFileName, uint dwDesiredAccess,
uint dwShareMode, IntPtr lpSecurityAttributes,
uint dwCreationDisposition,
uint dwFlagsAndAttributes, IntPtr hTemplateFile);
[DllImport(&kernel32.dll&, SetLastError = true, CharSet = CharSet.Unicode)]
private static extern Boolean WriteFile(SafeFileHandle lpFileName, byte[] lpBuffer,
int nNumberOfbytesToWrite, ref int lpNumberOfbytesWritten,
int lpOverlapped);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeCopyFile(string lpExistingFileName, string lpNewFileName, Boolean bFailIfExists);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeReadFile(IntPtr hFile, byte[] lpBuffer,
int nNumberOfBytesToRead, ref int lpNumberOfBytesRead, int lpOverlapped);
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeRapiInit();
[DllImport(&rapi.dll&, CharSet = CharSet.Unicode)]
private static extern int CeRapiGetError();
#endregion
在做WinCE和PC之间进行文件传输要用到rapi.dll,但是在xp和win7上是不同的移动设备中心,该动态库的版本也是不同的,因此在VS解决方案中一定不要添加该动态库,如果添加了一定不要输出到debug里面,否则会因为编译好的程序在不同的操作系统上出现问题,因为目标平台一定会安装移动设备中心,程序会根据不同版本的rapi.dll动态的调用。
以上是在开发中遇到的问题。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:41560次
排名:千里之外
原创:37篇
评论:20条
(7)(1)(3)(1)(6)(9)(1)(3)(13)请问移动端和PC端的交互设计的区别是什么?应聘交互设计实习生时没有项目经验怎么办?
今天接到第二次电话面试被提问到第一个问题,觉得回答的不好,而且因为没有项目经验被pass掉了,请各位大神帮忙解答!!
移动端和PC端交互设计的差别本质就是移动端和PC端的差别。1.移动端屏幕小,PC端屏幕大。这就决定了移动端承载的内容必须更加简练,布局当然也是完全不同的。2.移动端的手势,推送,触摸屏等,PC端基本都不具有,那关于这部分,移动端是否需要加入一些交互进去?这是值得考虑的。3..用户使用移动端的时候,很多时候是使用流量,那就需要考量网速的问题。是否真的需要那么多内容?图片是否默认加载?参考用户的场景就会触发很多问题。总而言之,体会一下移动端和PC端之间有什么差别,它的交互设计会用什么差点就显而易见。至于第二个问题,项目经验不会凭空而来,可以是加入团队做项目,或者是按照自己的想法,做出一整套的交互设计出来,在做的时候会触发更多的思考。而做出来的东西可以作为作品,当成面试的筹码之一(当然啦,要做得好)。关于交互设计,似乎门槛挺低,但其实深究也是一门学问,但是国内不同企业对于交互设计师的定义差异挺大。之前国内某TOP2 ERP公司招交互设计师,但仔细询问下,原来他们是要招视觉设计师,只是因为写作交互设计师好像比较高端。最后,祝题主早日拿offer。交互作用是不是主效应的简单叠加_百度知道
交互作用是不是主效应的简单叠加
当一个自变量的效果在另一个自变量的每一个水平上不一样时交互作用的概念编辑[心理学名词解释]是指,我们就说存在着自变量的交互作用,一个实验中有两个或两个以上的自变量
其他类似问题
为您推荐:
交互作用的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
部分文档来源于网络,版权归原作者所有,如有侵权,请私信通知删除。
 下载此文档
正在努力加载中...
冷冻致亚致死损伤的金黄色葡萄球菌修复机制 (1)
下载积分:1000
内容提示:冷冻致亚致死损伤的金黄色葡萄球菌修复机制 (1)
文档格式:PDF|
浏览次数:0|
上传日期: 21:13:37|
文档星级:
该用户还上传了这些文档
冷冻致亚致死损伤的金黄色葡萄球菌修复机制 (1)
官方公共微信

我要回帖

更多关于 交互效应 spss 的文章

 

随机推荐