请各位高手抽空帮忙将如下的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;
};

解决方案 »

  1.   

    楼主还是说说,你要实现什么功能,直接让大家用c#写把.
    #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; 
    }; 代码太长,可读性太差
      

  2.   

    我要从用c++写成的图像处理程序中获取图像数据本身及其相关信息数据,所有数据他们现在保存在一个特定扩展名的文件中,这些数据都是通过双向链表存储的,双向链表中节点中定义了有个前指针,后指针,还有两个字段,一个存储字段名称,一个存储字段值;
    我现在需要从把这些数据从文件中读出来,保存进用C#写成的数据库管理系统中;c++中有指针操作,c#中进行指针十分不方便;我怎么才能从双向链表中取出这些数据分别保存到数据库多张表中啊(相关的数据信息各自存入对应的表中);请教各位高手能否给一个相关的示例程序啊!万分感激!!!
      

  3.   

    如果是完全一个C#的程序的话,要改写其实很容易,只是体力活。楼主可以把指针改成C#中的引用类型(也就是把Struct改成C#了)
    去看看C#中值类型和引用类型的介绍,相信楼主改起来一定很容易。而且应该不会有别的什么问题了。自己试试吧