/// <summary> /// Function to lookup Grid data - used for grid utility functions only /// </summary> public long AFDData(string dataName, long operation, ref afdGridData details) { StringBuilder passDetails = new StringBuilder(); long retVal; // Compose the DLL string from the supplied structure passDetails.Append(details.Lookup.PadRight(255, ' ')); passDetails.Append(details.GBGridE.PadRight(10, ' ')); passDetails.Append(details.GBGridN.PadRight(10, ' ')); passDetails.Append(details.NIGridE.PadRight(10, ' ')); passDetails.Append(details.NIGridN.PadRight(10, ' ')); passDetails.Append(details.Latitude.PadRight(10, ' ')); passDetails.Append(details.Longitude.PadRight(10, ' ')); passDetails.Append(details.TextualLatitude.PadRight(15, ' ')); passDetails.Append(details.TextualLongitude.PadRight(15, ' ')); passDetails.Append(details.Km.PadRight(6, ' ')); passDetails.Append(details.Miles.PadRight(6, ' ')); passDetails.Append(details.GBGridEFrom.PadRight(10, ' ')); passDetails.Append(details.GBGridNFrom.PadRight(10, ' ')); passDetails.Append(details.NIGridEFrom.PadRight(10, ' ')); passDetails.Append(details.NIGridNFrom.PadRight(10, ' ')); passDetails.Append(details.LatitudeFrom.PadRight(10, ' ')); passDetails.Append(details.LongitudeFrom.PadRight(10, ' ')); passDetails.Append(details.TextualLatitudeFrom.PadRight(15, ' ')); passDetails.Append(details.TextualLongitudeFrom.PadRight(15, ' ')); // Call the DLL function string returnDetails = CallDllFunction(dataName, operation, passDetails, out retVal); // Retrieve the data structure from the string returned by the DLL details.Lookup = returnDetails.Substring(0, 255).Trim(); details.GBGridE = returnDetails.Substring(255, 10).Trim(); details.GBGridN = returnDetails.Substring(265, 10).Trim(); details.NIGridE = returnDetails.Substring(275, 10).Trim(); details.NIGridN = returnDetails.Substring(285, 10).Trim(); details.Latitude = returnDetails.Substring(295, 10).Trim(); details.Longitude = returnDetails.Substring(305, 10).Trim(); details.TextualLatitude = returnDetails.Substring(315, 15).Trim(); details.TextualLongitude = returnDetails.Substring(330, 15).Trim(); details.Km = returnDetails.Substring(345, 6).Trim(); details.Miles = returnDetails.Substring(351, 6).Trim(); details.GBGridEFrom = returnDetails.Substring(357, 10).Trim(); details.GBGridNFrom = returnDetails.Substring(367, 10).Trim(); details.NIGridEFrom = returnDetails.Substring(377, 10).Trim(); details.NIGridNFrom = returnDetails.Substring(387, 10).Trim(); details.LatitudeFrom = returnDetails.Substring(397, 10).Trim(); details.LongitudeFrom = returnDetails.Substring(407, 10).Trim(); details.TextualLatitudeFrom = returnDetails.Substring(417, 15).Trim(); details.TextualLongitudeFrom = returnDetails.Substring(432, 15).Trim(); // Return with the function return value return(retVal); }
/// Procedure to clear AFDGridData Structure /// </summary> /// <param name="details">AFDData to be cleared</param> public void ClearAFDGridData(ref afdGridData details) { details.Lookup = string.Empty; details.GBGridE = string.Empty; details.GBGridN = string.Empty; details.NIGridE = string.Empty; details.NIGridN = string.Empty; details.Latitude = string.Empty; details.Longitude = string.Empty; details.TextualLatitude = string.Empty; details.TextualLongitude = string.Empty; details.Km = string.Empty; details.Miles = string.Empty; details.GBGridEFrom = string.Empty; details.GBGridNFrom = string.Empty; details.NIGridEFrom = string.Empty; details.NIGridNFrom = string.Empty; details.LatitudeFrom = string.Empty; details.LongitudeFrom = string.Empty; details.TextualLatitudeFrom = string.Empty; details.TextualLongitudeFrom = string.Empty; }