public static void Copy(ref string destinationString, int startIndex, int lastIndex, char source) { if (startIndex != lastIndex) { ArgumentException argEx = new ArgumentException("startIndex != lastIndex"); } FortranLib.Copy(ref destinationString, startIndex, lastIndex, source.ToString()); }
public static void Date_And_Time(Characters date, Characters time) { DateTime _dateTime = DateTime.Now; date.ToBlanks(8); time.ToBlanks(10); FortranLib.Copy(date, _dateTime.ToString("yyyyMMdd")); FortranLib.Copy(time, _dateTime.ToString("hhmmss.fff")); }
public static void ConsoleReadLine(Characters destination, int length) { string s = Console.ReadLine(); if (s.Length > length) { s = s.Substring(0, length); } destination.ToBlanks(length); FortranLib.Copy(destination, s); }
public static void WriteFloat(Characters destination, float number, int width, int d) { //The term w must be large enough to include: //• a minus sign for a negative value or a plus sign (when SP is in effect) for a positive value //• the decimal point //• d digits to the right of the decimal //If w is insufficiently large, the entire field width is filled with asterisks. //Therefore, w must be > d + 2. destination.ToBlanks(width); string s = ""; if (width <= d + 2) { s = new string('*', width); } else { char[] formatCharArray = new char[width]; for (int i = 0; i < formatCharArray.Length; i++) { formatCharArray[i] = '#'; } for (int i = 0; i < d; i++) { formatCharArray[i] = '0'; } formatCharArray[d] = '.'; Array.Reverse(formatCharArray); string format = new string(formatCharArray); s = number.ToString(format); } if (s.Length > width) { s = new string('*', width); } else { s = new string(' ', width - s.Length) + s; } FortranLib.Copy(destination, s); }
public static void WriteInt(Characters destination, int number, int width, int m) { //w is a nonzero, unsigned integer constant denoting the size of //the external field, including blanks and a sign, if necessary. //A minus sign (-) is always printed on output if the number //is negative. If the number is positive, a plus sign (+) is //printed only if SP is in effect. //m is an unsigned integer constant denoting the minimum //number of digits required on output. m is ignored on input. //The value of m must not exceed w; if m is omitted, a value of //1 is assumed. //Examples of I Editing on Output //Value Format Output //-12 I7.6 -000012 //12345 I5 12345 destination.ToBlanks(width); char[] formatCharArray = new char[width]; for (int i = 0; i < formatCharArray.Length; i++) { formatCharArray[i] = '#'; } for (int i = 0; i < m; i++) { formatCharArray[i] = '0'; } Array.Reverse(formatCharArray); string format = new string(formatCharArray); string s = number.ToString(format); if (s.Length > width) { s = new string('*', width); } else { s = new string(' ', width - s.Length) + s; } FortranLib.Copy(destination, s); }
public static void Copy(Characters destination, string source) { FortranLib.Copy(destination.CharArray, 1, source.ToCharArray()); }
public static void Copy(Characters destination, int startIndex, int lastIndex, string source) { FortranLib.Copy(destination.CharArray, startIndex, lastIndex, source.ToCharArray()); }
public static void Copy(Characters destination, Characters source) { FortranLib.Copy(destination.CharArray, 1, source.CharArray); }
public static void Copy(Characters destination, int startIndex, Characters source) { FortranLib.Copy(destination.CharArray, startIndex, source.CharArray); }
public static void Copy(char[] destinationArray, int startIndex, char[] sourceArray) { FortranLib.Copy(destinationArray, startIndex, destinationArray.Length, sourceArray); }
public static void Copy(ref string destinationString, string sourceString) { FortranLib.Copy(ref destinationString, 1, sourceString); }
public static void Copy(ref string destinationString, int startIndex, string sourceString) { int lastIndex = Math.Min(destinationString.Length, sourceString.Length); FortranLib.Copy(ref destinationString, startIndex, lastIndex, sourceString); }
public static void Copy(ref string destinationString, int startIndex, int lastIndex, string sourceString) { char[] destinationArray = destinationString.ToCharArray(); FortranLib.Copy(destinationArray, startIndex, lastIndex, sourceString.ToCharArray()); destinationString = new string(destinationArray); }