private void cargaRegistroT(string registro) { int bytesVaciados; long filaInicio; long columnaInicio; long bytes; string direccioInicio; string contenido; bytesVaciados = 0; direccioInicio = registro.Substring(1, 6); bytes = MetodosAuxiliares.hexadecimalADecimal(registro.Substring(7, 2)); contenido = registro.Substring(9); if (!direccioInicio.Last().Equals('0')) { char[] aux; aux = direccioInicio.ToCharArray(); aux[aux.Length - 1] = '0'; filaInicio = MetodosAuxiliares.CalculaFilaMemoria(new string(aux), inicio, filas); columnaInicio = MetodosAuxiliares.hexadecimalADecimal(direccioInicio.Last().ToString()); } else { filaInicio = MetodosAuxiliares.CalculaFilaMemoria(direccioInicio, inicio, filas); columnaInicio = 0; } for (int i = 0; i < 16; i++) { if (bytesVaciados == bytes | columnaInicio + i == 16) { break; } this.mapa[filaInicio, ((int)(columnaInicio)) + i] = contenido[(i * 2)].ToString() + contenido[(i * 2) + 1].ToString(); bytesVaciados++; } while (bytesVaciados != bytes) { filaInicio++; int desplazamiento; desplazamiento = bytesVaciados; for (int i = 0; i < 16; i++) { string bite; bite = contenido[(desplazamiento * 2) + (i * 2)].ToString(); bite += contenido[(desplazamiento * 2) + (i * 2) + 1].ToString(); this.mapa[filaInicio, i] = bite; bytesVaciados++; if (bytesVaciados == bytes) { break; } } } }