Red de conocimiento informático - Conocimiento informático - Cómo usar vb6.0 para completar la función del área de conversión de línea central de Mapgis

Cómo usar vb6.0 para completar la función del área de conversión de línea central de Mapgis

Permítame darle algo de código VC. El mejor lenguaje de desarrollo para MapGIS es C. La razón principal por la que la transferencia de zona no es exitosa es que la comprensión de la zona no es lo suficientemente profunda.

// Área de escritura

void CInPutSpcRegTool::WriteToReg()

{

// Condiciones

if (m_regailt; 1 || m_numArcDotslt; 3 || m_arcDots==NULL)

{

return;

}

/ / Crear área

long rdat[2];

long lno = 0;

long regno = 0

LIN_INFO lininfo;

LIN_INFO *infoTmp = NULL;

_GetLinDefParam(amp; infoTmp);

lininfo = *infoTmp;

lno = _AppendLin ( m_regai, m_arcDots, m_numArcDots, & lininfo, 2);

rdat[0] = m_numArcDots 1

//Número de puntos y círculos

rdat[; 1] = lno;

regno = _AppendReg(m_regai,rdat,2,amp;m_reginfo);

((CPowerView *)m_pObj)-gt;_UpdateWindow();

p>

//Escribe la estructura de atributos predeterminada

if (regnolt; 1)

{

return;

}

CFIELD_HEAD fld;

CATT_STRU struTmp;

CATT_STRU *stru = NULL

char

*att = NULL;

short

fldno = -1;

_GetRegAttStru(m_regai, amp; stru);

//Estructura de atributos actuales

_srGetSpcRegDefStru(amp; struTmp);

//Estructura de atributos predeterminada

//Escribir atributos

char buf[256 ] = "";

//Nivel

fldno = -1;

fldno = _GetFldNo(stru, "RegLev");

if (fldnolt; 0)

{

fldno = _GetFldNo(amp; struTmp, "RegLev"

fld

= struTmp.fldEntry[fldno];

_AppendRegStruFld(m_regai, 1, amp; fld);

fldno = _GetFldNo(stru, "RegLev");

}

si (fldnogt

;=0)

{

_GetRegAtt(m_regai,regno,amp;stru,amp;att);

sprintf(buf, LOAD_STR_BY_ID(IDS_SPCREG_LEV), m_reglev);

_SetFldFromStr(att, stru, "RegLev", buf

_WriteAtt(m_regai, REG, regno, stru, att); }

fldno = -1;

//Categoría

fldno = _GetFldNo(stru, "RegType"); fldnolt; 0)

{

fldno = _GetFldNo(amp; struTmp, "RegType");

fld

= struTmp. fldEntry[fldno];

_AppendRegStruFld(m_regai, 1, amp; fld);

fldno = _GetFldNo(stru, "RegType");

}

if (fldnogt;=0)

{

_GetRegAtt(m_regai, regno, amp; stru, amp; att

); lstrcpy(buf, m_spcregcfg.SRegName);

_SetFldFromStr(att, stru, "RegType", buf

_WriteAtt(m_regai, REG, regno, stru, att); /p>

}

_SetChangeFlag(m_regai, 1);

// Consejos

char tempStr[MAX_STR_LEN]=""

sprintf(tempStr, LOAD_STR_BY_ID(IDS_INPUT_REG_SUC), m_strInput);

m_ToolIdent.CommandPrompt(tempStr);

}