public static List <DisplayParameter> GenerateDisplayValues(List <VariableWrapper> variables) { List <DisplayParameter> displayValues = new List <DisplayParameter>(); foreach (var variable in variables) { var displayValue = new DisplayParameter { Measure = variable.Measure, Columns = variable.Columns, Alignment = variable.Alignment }; var namedVariables = SpssMath.GetNumberOfGhostVariables(variable.ValueLength) + 1; displayValues.AddRange(Enumerable.Range(1, namedVariables).Select(_ => displayValue)); } return(displayValues); }
private void GenerateVariableGhostNames(List <VariableWrapper> records) { foreach (var record in records) { if (record.ValueLength < 256) { continue; } var ghostVariables = SpssMath.GetNumberOfGhostVariables(record.ValueLength); record.LastGhostVariableLength = record.ValueLength % 252; for (var j = 0; j < ghostVariables; j++) { var sn = _encoding.GetString(GetShortNameByteArray(record.Name)).TrimEnd(); const int maxLengthPrefix = 5; var prefix = _encoding.GetString(sn, maxLengthPrefix); var shortName = _encoding.GetPaddedValueAsByteArray(prefix + '0', 8); record.GhostNames.Add(GetUniqueShortName(shortName, index => $"{prefix}{GetGhostSuffix(index)}")); } } }