/[AnywhereTS-MSSQL]/trunk/SvnVersionHelper/Program.cs
ViewVC logotype

Annotation of /trunk/SvnVersionHelper/Program.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 199 - (hide annotations) (download)
Mon Jul 16 17:02:21 2012 UTC (8 years, 9 months ago) by william
File size: 4521 byte(s)

1 william 193 using System;
2     using System.Collections.Generic;
3     using System.Linq;
4     using System.Text;
5     using System.IO;
6    
7     namespace SvnVersionHelper
8     {
9     class Program
10     {
11     static void Main(string[] args)
12     {
13     if (args.Count() == 0 || args.Count() > 1) {
14     Console.WriteLine("SvnVersionHelper: invalid arguments (must be path to file)");
15     return;
16     }
17     string file = args[0];
18     readfile(file);
19     }
20    
21     static void readfile(string file)
22     {
23     Console.WriteLine("SvnVersionHelper: reading {0}", file);
24    
25     List<string> builder = new List<string>();
26     #region file reader
27     using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read))
28     {
29     StreamReader sr = new StreamReader(fs);
30     while (!sr.EndOfStream)
31     {
32     string line = sr.ReadLine();
33 william 199 if (line.ToLower().Contains("private const string Minor = ".ToLower()) ||
34     line.ToLower().Contains("Private Const Minor As String = ".ToLower()))
35 william 193 {
36     Console.WriteLine("########## found ########## Minor ###########");
37     Console.WriteLine("{0} (transformed to) ",line);
38     string line2 = line.Replace("private const string Minor = ", "").Trim().Replace(";", "");
39 william 199 line2 = line2.Replace("Private Const Minor As String = ", "").Trim();
40     Console.WriteLine(line2);
41 william 193
42 william 199 string[] shifts = line2.Split(new string[]{"|","Or"}, StringSplitOptions.RemoveEmptyEntries);
43 william 193 List<int> shift_ors = new List<int>();
44     int final_value = 0;
45     foreach (string shift in shifts)
46     {
47     int shift_value = 0;
48     string t_shift = shift.Trim();
49     //Console.Write("shift: {0} = ", t_shift);
50    
51 william 199 if (t_shift.Contains("<<") || t_shift.Contains("Or"))
52 william 193 {
53 william 199 string[] shift_registers = t_shift.Split(new string[] { "<<", "Or" }, StringSplitOptions.RemoveEmptyEntries);
54 william 193 //foreach (string shift_register in shift_registers)
55     //{
56     // string t_shift_reg = shift_register.Trim();
57     // Console.WriteLine(" shift reg: {0}", t_shift_reg);
58     //}
59     int shift_t1 = Convert.ToInt32(shift_registers[0].Trim());
60     int shift_t2 = Convert.ToInt32(shift_registers[1].Trim());
61     shift_value = shift_t1 << shift_t2;
62     }
63     else
64     {
65     shift_value = Convert.ToInt32(t_shift);
66     }
67     //Console.Write(shift_value);
68     //Console.WriteLine();
69     shift_ors.Add(shift_value);
70     }
71    
72     foreach (int shift_or in shift_ors)
73     {
74     final_value = final_value | shift_or;
75     }
76     //Console.Write("{0} = ",line2);
77     //Console.Write(final_value);
78     //Console.WriteLine();
79     string replace = string.Format("\"{0}\"", final_value.ToString());
80     Console.WriteLine("{0}", line.Replace(line2,replace));
81     line = line.Replace(line2, replace);
82     }
83     builder.Add(line);
84     }
85     sr.Close();
86     }
87     #endregion
88    
89     using (FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.Read))
90     {
91     StreamWriter sw = new StreamWriter(fs);
92     sw.AutoFlush = true;
93     foreach (string t in builder)
94     {
95     sw.WriteLine(t);
96     }
97     sw.Close();
98     }
99     }
100     }
101     }

  ViewVC Help
Powered by ViewVC 1.1.22