请各位高手抽空帮忙将如下的C++程序改写为C#啊!改写成功运行给分!Record.h程序如下,Record.cpp见下一贴!Record.h
#pragma once#include "stdafx.h"struct suserinfo
{
struct suserinfo *pPrev;
TCHAR *strName;
TCHAR *strInfo;
struct suserinfo *pNext;
};
typedef struct suserinfo SUSERINFO;struct slable{
int iType; //标注类型
BOOL bWORD; //是否为文字标注
TCHAR *strLable; //文字标注的内容???(颜色、字体、大小等信息如何表示)
CPoint first; //标注区域的起点坐标
CPoint last; //标注区域的终点坐标
int defectType; //缺陷类型
struct slable *pPrev; //
struct slable *pNext; //
};
typedef struct slable SLABLE;struct smetafile{
int len; //标注数据的长度
BYTE* pBuffer; //标注数据的内存指针
};
typedef struct smetafile SMETAFILE;struct slut{
int iType; //LUT类型
float gamma; //gamma值
double first; //与显示灰度0对应的灰度值
double last; //与显示灰度255对应的灰度值
BYTE* pLut; //存放图像的调色板,即实际灰度与显示灰度的对应信息
int lutLen;
};
typedef struct slut SLUT;class CRecord
{
public:
CRecord(void);
~CRecord(void); SUSERINFO* m_pUserInfo; //存放当前图像的用户信息
SLABLE* m_pLable; //存放图像的标识信息
SMETAFILE* m_pMetaFile; //存放图像的标识信息
SLUT* m_pSLut; //存放图像用于显示时的查找表信息 TCHAR *strFieldName[FIELDNUM];
// 初始化
int initial(void); // 将CRecord里的内容转换成BYTE类型的数组,以方便存储到iop文件中
int infoToArray();
// 将BYTE类型的数组转换成CRecord里的内容
int arrayToInfo();
//从pRecord里把相关数据导入到自身里
int loadData(CRecord* pRecord, BOOL bUserInfo=TRUE, BOOL bLable=FALSE, BOOL bMetaFile=FALSE, BOOL bLut=FALSE);
BYTE* pArray;
DWORD arrayLen;
DWORD userInfoLen;
};
#pragma once#include "stdafx.h"struct suserinfo
{
struct suserinfo *pPrev;
TCHAR *strName;
TCHAR *strInfo;
struct suserinfo *pNext;
};
typedef struct suserinfo SUSERINFO;struct slable{
int iType; //标注类型
BOOL bWORD; //是否为文字标注
TCHAR *strLable; //文字标注的内容???(颜色、字体、大小等信息如何表示)
CPoint first; //标注区域的起点坐标
CPoint last; //标注区域的终点坐标
int defectType; //缺陷类型
struct slable *pPrev; //
struct slable *pNext; //
};
typedef struct slable SLABLE;struct smetafile{
int len; //标注数据的长度
BYTE* pBuffer; //标注数据的内存指针
};
typedef struct smetafile SMETAFILE;struct slut{
int iType; //LUT类型
float gamma; //gamma值
double first; //与显示灰度0对应的灰度值
double last; //与显示灰度255对应的灰度值
BYTE* pLut; //存放图像的调色板,即实际灰度与显示灰度的对应信息
int lutLen;
};
typedef struct slut SLUT;class CRecord
{
public:
CRecord(void);
~CRecord(void); SUSERINFO* m_pUserInfo; //存放当前图像的用户信息
SLABLE* m_pLable; //存放图像的标识信息
SMETAFILE* m_pMetaFile; //存放图像的标识信息
SLUT* m_pSLut; //存放图像用于显示时的查找表信息 TCHAR *strFieldName[FIELDNUM];
// 初始化
int initial(void); // 将CRecord里的内容转换成BYTE类型的数组,以方便存储到iop文件中
int infoToArray();
// 将BYTE类型的数组转换成CRecord里的内容
int arrayToInfo();
//从pRecord里把相关数据导入到自身里
int loadData(CRecord* pRecord, BOOL bUserInfo=TRUE, BOOL bLable=FALSE, BOOL bMetaFile=FALSE, BOOL bLut=FALSE);
BYTE* pArray;
DWORD arrayLen;
DWORD userInfoLen;
};
#pragma once #include "stdafx.h" struct suserinfo
{
struct suserinfo *pPrev;
TCHAR *strName;
TCHAR *strInfo;
struct suserinfo *pNext;
};
typedef struct suserinfo SUSERINFO; struct slable{
int iType; //标注类型
BOOL bWORD; //是否为文字标注
TCHAR *strLable; //文字标注的内容???(颜色、字体、大小等信息如何表示)
CPoint first; //标注区域的起点坐标
CPoint last; //标注区域的终点坐标
int defectType; //缺陷类型
struct slable *pPrev; //
struct slable *pNext; //
};
typedef struct slable SLABLE; struct smetafile{
int len; //标注数据的长度
BYTE* pBuffer; //标注数据的内存指针
};
typedef struct smetafile SMETAFILE; struct slut{
int iType; //LUT类型
float gamma; //gamma值
double first; //与显示灰度0对应的灰度值
double last; //与显示灰度255对应的灰度值
BYTE* pLut; //存放图像的调色板,即实际灰度与显示灰度的对应信息
int lutLen;
};
typedef struct slut SLUT; class CRecord
{
public:
CRecord(void);
~CRecord(void); SUSERINFO* m_pUserInfo; //存放当前图像的用户信息
SLABLE* m_pLable; //存放图像的标识信息
SMETAFILE* m_pMetaFile; //存放图像的标识信息
SLUT* m_pSLut; //存放图像用于显示时的查找表信息 TCHAR *strFieldName[FIELDNUM]; // 初始化
int initial(void); // 将CRecord里的内容转换成BYTE类型的数组,以方便存储到iop文件中
int infoToArray();
// 将BYTE类型的数组转换成CRecord里的内容
int arrayToInfo();
//从pRecord里把相关数据导入到自身里
int loadData(CRecord* pRecord, BOOL bUserInfo=TRUE, BOOL bLable=FALSE, BOOL bMetaFile=FALSE, BOOL bLut=FALSE);
BYTE* pArray;
DWORD arrayLen;
DWORD userInfoLen;
}; 代码太长,可读性太差
我现在需要从把这些数据从文件中读出来,保存进用C#写成的数据库管理系统中;c++中有指针操作,c#中进行指针十分不方便;我怎么才能从双向链表中取出这些数据分别保存到数据库多张表中啊(相关的数据信息各自存入对应的表中);请教各位高手能否给一个相关的示例程序啊!万分感激!!!
去看看C#中值类型和引用类型的介绍,相信楼主改起来一定很容易。而且应该不会有别的什么问题了。自己试试吧