Exemple #1
0
 internal static void close_tb(FD fd)
 {
     #if !_WIN32
     close(fd);
     #else
     CloseHandle(fd);
     #endif
 }
Exemple #2
0
 void AddImagem()
 {
     FD.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png";
     if (FD.ShowDialog() == DialogResult.OK)
     {
         PB_Foto.ImageLocation = FD.FileName;
     }
 }
        private void BFont_Click(object sender, EventArgs e)
        {
            if (FD.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            LFont.Text = FD.Font.FontFamily.Name;
            LFont.Font = FD.Font;
        }
Exemple #4
0
 /// <summary>
 /// Ελέγχει και επιστρέφει true αν υπάρχει παρόμοια συναρτησιακή εξάρτηση
 /// </summary>
 /// <param name="fd">Το αντικείμενο της συναρτησιακής εξάρτησης που ελέγχουμε</param>
 /// <param name="id">Ο αύξοντας αριθμός της υπό επεξεργασία συναρτησιακής εξάρτησης</param>
 public bool FDExists(FD fd, int id)
 {
     for (int i = 0; i < fdList.Count; i++)
     {
         if (fdList[i].ToString() == fd.ToString() && i != id)
         {
             return(true);                                                  //βρέθηκε παρόμοια συναρτησιακή εξάρτηση
         }
     }
     return(false); //δεν υπάρχει παρόμοια συναρτησιακή εξάρτηση
 }
Exemple #5
0
 private void btnKayitYeri_Click(object sender, EventArgs e)
 {
     if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK)//Ekrandan dosya seçmek için
     {
         SecilenYer = FD.SelectedPath;
         if (SecilenYer != "")
         {
             btnKayitYeri.Enabled = false;
             btnDinle.Enabled     = true;
         }
     }
 }
Exemple #6
0
 private void button1_Click(object sender, EventArgs e)
 {
     FD.Filter      = "主程序文件(*.exe;)|*.exe|所有文件(*.*)|**";
     FD.Multiselect = true;
     if (FD.ShowDialog() == DialogResult.OK)
     {
         if (FD.FileName != "")
         {
             textBox1.Text = FD.FileName;
         }
     }
 }
Exemple #7
0
        private void btValueFont_Click(object sender, EventArgs e)
        {
            FD.Font = lbNumber11.Font;

            if (FD.ShowDialog(this) == DialogResult.OK)
            {
                // save stuff
                Fonts.SetUserFont(GUI.GUI_Fonts.FKinds.Value, FD.Font, (GUI.FontSize)cbxSize.SelectedIndex, cxCondensed.Checked);
                Fonts.SetUserFont(GUI.GUI_Fonts.FKinds.Value2, FD.Font, (GUI.FontSize)cbxSize.SelectedIndex, cxCondensed.Checked);
                Fonts.SetFontsize((GUI.FontSize)cbxSize.SelectedIndex);
                SetFont( );
            }
        }
Exemple #8
0
        private void btLabelFont_Click(object sender, EventArgs e)
        {
            // set Dialog Props
            FD.Font = lbLabel1.Font;

            if (FD.ShowDialog(this) == DialogResult.OK)
            {
                // save stuff
                Fonts.SetUserFont(GUI.GUI_Fonts.FKinds.Lbl, FD.Font, (GUI.FontSize)cbxSize.SelectedIndex, cxCondensed.Checked);
                Fonts.SetFontsize((GUI.FontSize)cbxSize.SelectedIndex);
                SetFont( );
            }
        }
Exemple #9
0
    /// <summary>
    /// Μέθοδος ελέγχου και προσθήκης νέας συναρτησιακής εξάρτησης στην FDList
    /// </summary>
    /// <param name="fd">Το αντικείμενο συναρτησιακής εξάρτησης fd θα ελεγχθεί αν υπάρχει κάποιο άλλο παρόμοιο με αυτό πριν καταχωρηθεί.</param>
    public bool FDCreate(FD fd)
    {
        //ελέγχεται αν η νέα συναρτησιακή εξάρτηση είναι παρόμοια με μια άλλη, κι αν ναι, επιστρέφεται η ένδειξη false
        if (FDExists(fd, -1))
        {
            return(false);
        }

        //το νέο αντικείμενο προστίθεται στην FDList
        fdList.Add(fd);

        //επιστρέφεται η ένδειξη true
        return(true);
    }
Exemple #10
0
        public static void BuildMinuteDayNodes(ThreadControl tc)
        {
            // this should be called AFTER updated yesterday's ticks AND data tracker no data days updated


            List <string> symbols = new List <string>(Global.State.AllSymbols);

            symbols.Shuffle();

            symbols.Remove("spy");
            symbols.Remove("aapl");
            symbols.Add("spy");
            symbols.Add("aapl");
            symbols.Reverse();



            ZonedDateTime ie = SystemClock.Instance.GetCurrentInstant().InZone(UCDT.TimeZones.Eastern);

            // set the current date to yesterday via eastern timezone just to be safe
            DateTime dt = new DateTime(ie.Year, ie.Month, ie.Day, 0, 0, 0, DateTimeKind.Unspecified).AddDays(-20);


            DateTime firstDataDay = Global.State.DataTracker.DataDays[0].DT;

            while (dt > firstDataDay && tc.CheckNotStopped())
            {
                FD fd = new FD(dt);

                Parallel.For(0, symbols.Count, new ParallelOptions {
                    MaxDegreeOfParallelism = 20
                }, n =>
                {
                    if (DataMethods.DayNodesDataCacheable(symbols[n], fd))
                    {
                        Stopwatch sw = new Stopwatch();
                        sw.Start();
                        NodesData nodes = DataMethods.GetCachedDayNodesData(symbols[n], fd, Interval.HalfSecond, computeNodes: false, justCache: true);
                        sw.Stop();
                        tc.Log.AddLine("[" + symbols[n] + "] " + fd.ToString() + " Done. Took " + UC.MillisecondsToSeconds(sw.ElapsedMilliseconds, 2) + " sec(s)");
                    }
                    else
                    {
                        tc.Log.AddLine("[" + symbols[n] + "] " + fd.ToString() + ". Not cacheable.");
                    }
                });

                dt = dt.AddDays(-1);
            }
        }
Exemple #11
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (textBox2.Text != "")
     {
         FD.SelectedPath = textBox2.Text;
     }
     if (FD.ShowDialog() == DialogResult.OK)
     {
         textBox2.Text = FD.SelectedPath;
         IniFile ai = IniFile.FromFile(sFileSettings);
         ai["Settings"]["WorkingFolder"] = textBox2.Text;
         ai.Save(sFileSettings);
     }
 }
Exemple #12
0
        public static string BrowseFile(string Title, string Filter = BROWSE_FILTER_ALL, string Preselected = null, bool IsSave = false)
        {
            FileDialog FD;

            if (IsSave)
            {
                FD = new SaveFileDialog();
                ((SaveFileDialog)FD).OverwritePrompt = true;
            }
            else
            {
                FD = new OpenFileDialog();
            }
            using (FD)
            {
                if (string.IsNullOrEmpty(Title))
                {
                    FD.Title = IsSave ? "Save As..." : "Open...";
                }
                else
                {
                    FD.Title = Title;
                }
                if (string.IsNullOrEmpty(Filter))
                {
                    FD.Filter = BROWSE_FILTER_ALL;
                }
                else
                {
                    FD.Filter = Filter;
                }
                if (!string.IsNullOrEmpty(Preselected))
                {
                    if (Directory.Exists(Preselected))
                    {
                        FD.InitialDirectory = Preselected;
                    }
                    else
                    {
                        FD.InitialDirectory = Path.GetDirectoryName(Preselected);
                        FD.FileName         = Path.GetFileName(Preselected);
                    }
                }
                if (FD.ShowDialog() == DialogResult.OK)
                {
                    return(FD.FileName);
                }
            }
            return(null);
        }
Exemple #13
0
        public static void RefreshNoDataDaysAndSlapCache(ThreadControl tc)
        {
            ZonedDateTime ie = SystemClock.Instance.GetCurrentInstant().InZone(UCDT.TimeZones.Eastern);

            // set the current date to two days ago via eastern timezone
            DateTime dt = new DateTime(ie.Year, ie.Month, ie.Day, 0, 0, 0, DateTimeKind.Unspecified).AddDays(-2);

            // ZonedDateTime zdt = UCDT.ZonedDateTimetoZonedDateTime(currentDate, UCDT.TimeZones.Eastern);
            List <FD> noDataDays = new List <FD>();


            while (dt.Year > 2018 && tc.CheckNotStopped())
            {
                tc.Log.AddLine("Checking: " + dt.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));

                if (!StockAPI.Methods.DateHasData(dt.Year, dt.Month, dt.Day, false))
                {
                    FD fd = new FD(dt);
                    tc.Log.AddLine("Found a day with no data: " + fd.ToStringLong());
                    noDataDays.Add(fd);
                }

                dt = dt.AddDays(-1);
            }



            if (tc.CheckNotStopped())
            {
                DBMethods.RefreshDaysTracker(noDataDays, "NoData");

                noDataDays.Sort();

                for (int n = 0; n < Global.State.DataTracker.NoDataDays.Count; n++)
                {
                    // check if we didn't find one that was found before
                    if (noDataDays.BinarySearch(Global.State.DataTracker.NoDataDays[n]) < 0)
                    {
                        tc.Log.AddLine("FOUND A DAY IN THE OLD DATA THAT'S NOT IN THE NEW DATA: " + Global.State.DataTracker.NoDataDays[n].ToStringLong());
                        // This means that the scan before got a false nodataday.
                        // Could be API error or something.
                        // DELETE ANY CACHED DAY FOR THIS DAY BECAUSE WE MAY HAVE CACHED EMPTY NODES
                    }
                }

                App.InitDataTracker();
            }
        }
        /// <summary>
        /// Gets the day in the past where the amount of trading days from [day, startDay) is amountOfDays
        /// </summary>
        /// <param name="startDay"></param>
        /// <param name="amountOfDays"></param>
        /// <returns></returns>
        public static FD GetDataDaysStartDay(FD startDay, int amountOfDays)
        {
            int count = 0;

            DateTime currentDateTime = new DateTime(startDay.DT.Year, startDay.DT.Month, startDay.DT.Day, 0, 0, 0, DateTimeKind.Unspecified);

            do
            {
                currentDateTime = currentDateTime.AddDays(-1);
                if (Global.State.DataTracker.DayHasData(new FD(currentDateTime)))
                {
                    count++;
                }
            } while (count < amountOfDays);

            return(new FD(currentDateTime));
        }
Exemple #15
0
 private void button1_Click(object sender, EventArgs e)
 {
     dataGridView1.Rows.Clear();
     FD.Filter      = "主程序文件(*.exe;)|*.exe|所有文件(*.*)|**";
     FD.Multiselect = true;
     if (FD.ShowDialog() == DialogResult.OK)
     {
         if (FD.FileName != "")
         {
             textBox2.Text = FD.FileName;
             string PathLike = Path.GetDirectoryName(FD.FileName);
             Qline          = PathLike.Length;
             NewRevLab.Text = FileVersionInfo.GetVersionInfo(FD.FileName).FileVersion;
             GetAllFile(PathLike);
         }
     }
 }
Exemple #16
0
    /// <summary>
    /// Η επεξεργασμένη πλέον συναρτησιακή εξάρτηση προστίθεται στην λίστα fdList.
    /// </summary>
    protected void btnEditFDΟΚClick(object sender, EventArgs e)
    {
        int index = Int32.Parse(gridViewFDHiddenField.Value);

        if (index >= 0)
        {
            FD fd = new FD(); // Η προσωρινή.

            foreach (GridViewRow item in gridViewEditLeftFD.Rows)
            {
                if ((item.Cells[0].FindControl("checkBoxEditLeftFD") as CheckBox).Checked)
                {
                    fd.AddLeft(attrList[item.RowIndex]);
                }
            }

            foreach (GridViewRow item in gridViewEditRightFD.Rows)
            {
                if ((item.Cells[0].FindControl("checkBoxEditRightFD") as CheckBox).Checked)
                {
                    fd.AddRight(attrList[item.RowIndex]);
                }
            }

            if (!FDExists(fd, index))
            {
                fdList[index] = fd;

                populateFdGridView(fdList);
                log.InnerText = "FD Updated: " + fd.ToString();
                ClientScript.RegisterStartupScript(Page.GetType(), "alertBoxSuccess", " $('#alertBoxSuccessText').html('<strong>Επιτυχία!</strong> Η συναρτησιακή εξάρτηση επεξεργάστηκε επιτυχώς!'); $('#alertBoxSuccess').show();", true);
            }
            else
            {
                log.InnerText = "Cannot insert FD: FD already exists..";
                ClientScript.RegisterStartupScript(Page.GetType(), "alertBoxFail", " $('#alertBoxFailText').html('<strong>Σφάλμα!</strong> Αδυναμία επεξεργασίας συναρτησιακής εξάρτησης. Η συναρτησιακή εξάρτηση υπάρχει ήδη..'); $('#alertBoxFail').show();", true);
            }
        }
        else
        {
            log.InnerText = "You must select an attribute first.";
            ClientScript.RegisterStartupScript(Page.GetType(), "alertBoxWarning", " $('#alertBoxWarningText').html('<strong>Προσοχή!</strong> Πρέπει να επιλέξετε μια συναρτησιακή εξάρτηση.'); $('#alertBoxWarning').show();", true);
            return;
        }
    }
Exemple #17
0
 private void button3_Click(object sender, EventArgs e)
 {
     if (FD.ShowDialog() == DialogResult.OK)
     {
         if (File.Exists(FD.SelectedPath + "\\bin\\Client.exe"))
         {
             textBox1.Text = FD.SelectedPath;
             StreamWriter sw = new StreamWriter(Program.startup + "\\path.txt", false, Encoding.Unicode);
             sw.WriteLine(textBox1.Text);
             sw.Flush();
             sw.Close();
         }
         else
         {
             MessageBox.Show("Please use proper game installation folder", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
Exemple #18
0
        public static void UpdateHistoricalTicks(ThreadControl tc)
        {
            tc.Log.AddLine("Starting update historical ticks", Verbosity.Minimal);

            ZonedDateTime ie = SystemClock.Instance.GetCurrentInstant().InZone(UCDT.TimeZones.Eastern);

            // set the current date to yesterday via eastern timezone just to be safe
            DateTime currentDate = new DateTime(ie.Year, ie.Month, ie.Day, 0, 0, 0, DateTimeKind.Utc).AddDays(-335);


            while (tc.CheckNotStopped())
            {
                FD fd = new FD(currentDate);
                UpdateHistoricalTicksByDay(Global.State.AllSymbols, fd, false, tc);

                currentDate = currentDate.AddDays(-1);
            }
        }
Exemple #19
0
    internal static string map_file(string name, string suffix, ref ulong mapping)
    {
        FD fd = GlobalMembersTbcore.open_tb(name, suffix);

        if (fd == DefineConstants.FD_ERR)
        {
            return(null);
        }
        #if !_WIN32
        stat statbuf = new stat();
        fstat(fd, statbuf);
        mapping = statbuf.st_size;
//C++ TO C# CONVERTER TODO TASK: C# does not have an equivalent for pointers to value types:
//ORIGINAL LINE: sbyte *data = (sbyte *)mmap(null, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
        sbyte data = (string)mmap(null, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
        if (data == (string)(-1))
        {
            Console.Write("Could not mmap() {0}.\n", name);
            Environment.Exit(1);
        }
        #else
        uint size_low;
        uint size_high;
        size_low = GetFileSize(fd, size_high);
        //  *size = ((uint64)size_high) << 32 | ((uint64)size_low);
        System.IntPtr map = CreateFileMapping(fd, null, PAGE_READONLY, size_high, size_low, null);
        if (map == null)
        {
            Console.Write("CreateFileMapping() failed.\n");
            Environment.Exit(1);
        }
        mapping = (ulong)map;
//C++ TO C# CONVERTER TODO TASK: C# does not have an equivalent for pointers to value types:
//ORIGINAL LINE: sbyte *data = (sbyte *)MapViewOfFile(map, FILE_MAP_READ, 0, 0, 0);
        sbyte data = (string)MapViewOfFile(map, FILE_MAP_READ, 0, 0, 0);
        if (data == null)
        {
            Console.Write("MapViewOfFile() failed, name = {0}{1}, error = {2:D}.\n", name, suffix, GetLastError());
            Environment.Exit(1);
        }
        #endif
        GlobalMembersTbcore.close_tb(fd);
        return(data);
    }
Exemple #20
0
        private static void writeOutputTxt(string[,] student, double[] studentAvg, string[] studentLetterGrade)
        {
            string path = @"output.txt";                                                     // We specify the path of the file that we will read.

            FileStream   fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write); // Created a file stream object.
            StreamWriter sw = new StreamWriter(fs);                                          // Created a StreamWriter object for reading.

            // Results will be printed to file and console.

            for (int i = 0; i < numberOfStudents; i++) // Will return as many as the number of students
            {
                sw.WriteLine(student[i, 0] + " " + student[i, 1] + " " + student[i, 2] + " - Student Average: " + studentAvg[i] + " - Letter Grade: " + studentLetterGrade[i]);
                Console.WriteLine(student[i, 0] + " " + student[i, 1] + " " + student[i, 2] + " - Student Average: " + studentAvg[i] + " - Letter Grade: " + studentLetterGrade[i]);
            }

            sw.WriteLine("\n- LETTER GRADE STATUS OF THE CLASS -");
            sw.WriteLine("AA: " + AA.ToString() + " Person - " + Convert.ToInt32((AA * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("BA: " + BA.ToString() + " Person - " + Convert.ToInt32((BA * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("BB: " + BB.ToString() + " Person - " + Convert.ToInt32((BB * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("CB: " + CB.ToString() + " Person - " + Convert.ToInt32((CB * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("CC: " + CC.ToString() + " Person - " + Convert.ToInt32((CC * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("DC: " + DC.ToString() + " Person - " + Convert.ToInt32((DC * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("DD: " + DD.ToString() + " Person - " + Convert.ToInt32((DD * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("FD: " + FD.ToString() + " Person - " + Convert.ToInt32((FD * 100) / numberOfStudents) + "% OF THE CLASS");
            sw.WriteLine("FF: " + FF.ToString() + " Person - " + Convert.ToInt32((FF * 100) / numberOfStudents) + "% OF THE CLASS");

            Console.WriteLine("\n- LETTER GRADE STATUS OF THE CLASS -");
            Console.WriteLine("AA: " + AA.ToString() + " Person - " + Convert.ToInt32((AA * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("BA: " + BA.ToString() + " Person - " + Convert.ToInt32((BA * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("BB: " + BB.ToString() + " Person - " + Convert.ToInt32((BB * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("CB: " + CB.ToString() + " Person - " + Convert.ToInt32((CB * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("CC: " + CC.ToString() + " Person - " + Convert.ToInt32((CC * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("DC: " + DC.ToString() + " Person - " + Convert.ToInt32((DC * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("DD: " + DD.ToString() + " Person - " + Convert.ToInt32((DD * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("FD: " + FD.ToString() + " Person - " + Convert.ToInt32((FD * 100) / numberOfStudents) + "% OF THE CLASS");
            Console.WriteLine("FF: " + FF.ToString() + " Person - " + Convert.ToInt32((FF * 100) / numberOfStudents) + "% OF THE CLASS");


            sw.Flush(); // txt created

            sw.Close(); // Close file
            fs.Close();
        }
Exemple #21
0
        public static MapData SaveMap(List <MetaTileMap> MetaTileMaps,
                                      string MapName = "Unknown map name your maps dam it")
        {
            var OutMapData = new MapData();

            UnserialisedObjectReferences.Clear();
            MonoToID.Clear();
            FieldsToRefresh.Clear();
            IDStatic       = 0;
            IDmatrixStatic = 0;

            OutMapData.MapName = MapName;
            foreach (var MetaTileMap in MetaTileMaps)
            {
                OutMapData.ContainedMatrices.Add(SaveMatrix(MetaTileMap, false));
            }

            //move outside if multiple  matrices
            foreach (var MFD in UnserialisedObjectReferences)
            {
                if (MonoToID.ContainsKey(MFD.Item1))
                {
                    MFD.Item2.AddID(MonoToID[MFD.Item1]);
                    MFD.Item2.RemoveRuntimeReference(MFD.Item1);
                }
                else
                {
                    Logger.LogError("Missing money behaviour in MonoToID");
                }
            }

            UnserialisedObjectReferences.Clear();
            MonoToID.Clear();

            foreach (var FD in FieldsToRefresh)
            {
                FD.Serialise();
            }

            FieldsToRefresh.Clear();

            return(OutMapData);
        }
Exemple #22
0
        public static void UpdateSingleDayAndSingleSymbolTicks(string symbol, FD fd, ThreadControl tc)
        {
            if (DBMethods.TradesDBExists(symbol) && DBMethods.QuotesDBExists(symbol))
            {
                if (!Global.State.DataTracker.SymbolHasDayData(symbol, fd))
                {
                    tc.Log.AddLine("[" + fd.ToString() + "]", Verbosity.Verbose);

                    tc.Log.AddLine("[" + symbol + "] Making trades API calls", Verbosity.Verbose);

                    List <Trade> trades = StockAPI.Methods.GetHistoricTradesFull(symbol, fd.DT.Year, fd.DT.Month, fd.DT.Day);

                    tc.Log.AddLine("[" + symbol + "] Bulk inserting " + trades.Count + " trade(s)", Verbosity.Verbose);

                    int tradesInserted = DBMethods.BulkInsertTrades(trades, symbol);

                    tc.Log.AddLine("[" + symbol + "] Inserted " + tradesInserted + " trade(s)", Verbosity.Normal);

                    tc.Log.AddLine("[" + symbol + "] Making quotes API calls", Verbosity.Verbose);

                    List <Quote> quotes = StockAPI.Methods.GetHistoricQuotesFull(symbol, fd.DT.Year, fd.DT.Month, fd.DT.Day);

                    tc.Log.AddLine("[" + symbol + "] Bulk inserting " + quotes.Count + " quote(s)", Verbosity.Verbose);

                    int quotesInserted = DBMethods.BulkInsertQuotes(quotes, symbol);

                    tc.Log.AddLine("[" + symbol + "] Inserted " + quotesInserted + " quote(s)", Verbosity.Normal);

                    int p = DBMethods.MarkSymbolHasDayData(symbol, fd.DT.Month, fd.DT.Day, fd.DT.Year);

                    tc.Log.AddLine("[" + symbol + "] Marked symbol has data (" + p + ")", Verbosity.Minimal);
                }
                else
                {
                    tc.Log.AddLine("[" + symbol + "] Already has data for this date.");
                }
            }
            else
            {
                tc.Log.AddLine("[" + symbol + "] DBs not found");
            }
        }
Exemple #23
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (FD.ShowDialog() == DialogResult.OK)
            {
                var   files  = System.IO.Directory.GetFiles(FD.SelectedPath, "M_*.png");
                Image tmpImg = new Bitmap(150, 150, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
                using (Graphics tmpG = Graphics.FromImage(tmpImg))
                {
                    foreach (var i in files)
                    {
                        var path = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(i), "Output");
                        if (!System.IO.Directory.Exists(path))
                        {
                            System.IO.Directory.CreateDirectory(path);
                        }

                        using (Image img = Bitmap.FromFile(i))
                        {
                            Image output = new Bitmap(64, 64, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
                            tmpG.Clear(Color.White);
                            tmpG.DrawImage(img, new Rectangle(7, 7, 136, 136), new RectangleF(0, 16, 136, 136), GraphicsUnit.Pixel);
                            for (int x = 0; x < 3; x++)
                            {
                                for (int y = 0; y < 3; y++)
                                {
                                    var oriX = -5 + x * 5 + 27;
                                    var oriY = -5 + y * 5 + 27;
                                    using (Graphics g = Graphics.FromImage(output))
                                    {
                                        g.DrawImage(tmpImg, new Rectangle(0, 0, 64, 64), new RectangleF(oriX, oriY, 96, 96), GraphicsUnit.Pixel);
                                    }
                                    var filename = $"{ System.IO.Path.GetFileNameWithoutExtension(i)}_{x}_{y}.jpg";
                                    output.Save(System.IO.Path.Combine(path, filename));
                                }
                            }
                        }
                    }
                }
            }
        }
Exemple #24
0
        private void CopyFileClick(object sender, EventArgs e)
        {
            var targetPath = outputPath.Text;

            if (targetPath == "")
            {
                if (FD.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                Properties.Settings.Default["out_path"] = FD.SelectedPath;
                Properties.Settings.Default.Save();
                outputPath.Text = targetPath = FD.SelectedPath;
            }

            if (!Directory.Exists(targetPath))
            {
                Directory.CreateDirectory(targetPath);
            }

            var files = Directory.GetFiles(_outputPath);

            if (files.Length == 0)
            {
                MessageBox.Show("no file to copy,please generate code first");
                return;
            }

            foreach (var file in files)
            {
                var fileName = Path.GetFileName(file);
                File.Copy(file, targetPath + "/" + fileName, true);
            }

            MessageBox.Show("file copied");
        }
Exemple #25
0
    internal static FD open_tb(string str, string suffix)
    {
        int    i;
        FD     fd   = new FD();
        string file = new string(new char[256]);

        for (i = 0; i < num_paths; i++)
        {
            file  = paths[i];
            file += "/";
            file += str;
            file += suffix;
        #if !_WIN32
            fd = open(file, O_RDONLY);
        #else
            fd = CreateFile(file, GENERIC_READ, FILE_SHARE_READ, null, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, null);
        #endif
            if (fd != DefineConstants.FD_ERR)
            {
                return(fd);
            }
        }
        return(DefineConstants.FD_ERR);
    }
Exemple #26
0
        void sMonthEnd()
        {
            DateTime dt = dtpDate.SelectedDate.Value;
            DateTime dtFrom = new DateTime(dt.Year, dt.Month, 1);
            DateTime dtTo = dtFrom.AddMonths(1);
            int      iFeeyear = dt.Year, iFeeMonth = dt.Month;

            var lstMember = db.MASTERMEMBERNEWs.Where(x => x.DATEOFJOINING < dtTo).ToList();
            var lstFees   = db.FeesDetails.Where(x => x.FeeYear == dtFrom.Year && x.FeeMonth == dtFrom.Month).ToList();

            var lstMemberAndFees = from mm in lstMember
                                   join fee in lstFees on mm.MEMBER_CODE equals fee.MemberCode into FD
                                   from subfee in FD.DefaultIfEmpty()
                                   select new { code = mm.MEMBER_CODE, Member = mm, Fee = subfee };

            var lstMemberAndFeesGroupByCode = lstMemberAndFees.GroupBy(x => x.code).ToList();

            lblMsg.Content       = "0/0";
            progressBar1.Minimum = 0;
            progressBar1.Maximum = lstMemberAndFeesGroupByCode.Count;
            System.Windows.Forms.Application.DoEvents();
            progressBar1.Visibility = Visibility.Visible;
            List <MasterMemberStatu> lstMasterMemberStatus = new List <MasterMemberStatu>();
            int i = 0;

            foreach (var d in lstMemberAndFeesGroupByCode)
            {
                i += 1;
                progressBar1.Value = i;
                lblMsg.Content     = string.Format("{0}/{1}", progressBar1.Value, progressBar1.Maximum);
                System.Windows.Forms.Application.DoEvents();

                var MM     = d.FirstOrDefault().Member;
                int MonDue = 0;

                if (MM.RESIGNED && MM.ResignationDate < dtFrom)
                {
                    continue;
                }
                else
                {
                    MonDue = AppLib.MonthDiff(MM.DATEOFJOINING.Value, dtFrom) - MM.TOTALMONTHSPAID.Value;

                    if (d.Select(x => x.Fee).FirstOrDefault() != null)
                    {
                        var feeAmt = d.Sum(x => x.Fee.TotalAmount == null ? 0 : x.Fee.TotalAmount);
                        if (feeAmt > 0)
                        {
                            MM.LASTPAYMENT_DATE = dtTo.AddDays(-1);
                            MM.TOTALMONTHSPAID += d.Sum(x => x.Fee.TotalMonthsPaid);
                            MM.ACCSUBSCRIPTION += d.Sum(x => x.Fee.AmtSubs);
                            MM.ACCBF           += d.Sum(x => x.Fee.AmountBF);
                        }
                        else
                        {
                            MonDue = MonDue + 1;
                        }
                    }
                    else
                    {
                        if (dtFrom.Year == MM.DATEOFJOINING.Value.Year && dtFrom.Month == MM.DATEOFJOINING.Value.Month)
                        {
                            MM.LASTPAYMENT_DATE = MM.DATEOFJOINING;
                        }
                        MonDue = MonDue + 1;
                    }


                    if (MM.REJOINED && MM.ResignationDate <= dtTo)
                    {
                        MM.STATUS_CODE = (int)AppLib.MemberStatus.Resigned;
                    }
                    else
                    {
                        if (MonDue <= 3)
                        {
                            MM.STATUS_CODE = (int)AppLib.MemberStatus.Active;
                        }
                        else if (MM.LASTPAYMENT_DATE != null)
                        {
                            if (AppLib.MonthDiff(MM.LASTPAYMENT_DATE.Value, dtFrom) <= 12)
                            {
                                MM.STATUS_CODE = (int)AppLib.MemberStatus.Defaulter;
                            }
                            else
                            {
                                MM.STATUS_CODE = (int)AppLib.MemberStatus.StruckOff;
                                MM.STRUCKOFF   = true;
                            }
                        }
                        //else if (AppLib.MonthDiff(MM.DATEOFJOINING.Value, dtFrom) <= 12)
                        //{
                        //    MM.STATUS_CODE = (int)AppLib.MemberStatus.Defaulter;
                        //}
                        //else
                        //{
                        //    MM.STATUS_CODE = (int)AppLib.MemberStatus.StruckOff;
                        //    MM.STRUCKOFF = true;
                        //}
                    }
                }
                //db.SaveChanges();
                if (d.Select(x => x.Fee).FirstOrDefault() != null)
                {
                    MasterMemberStatu ss = new MasterMemberStatu()
                    {
                        FeeYear             = iFeeyear,
                        FeeMonth            = iFeeMonth,
                        MEMBER_CODE         = MM.MEMBER_CODE,
                        MEMBERTYPE_CODE     = MM.MEMBERTYPE_CODE,
                        BANK_CODE           = MM.BANK_CODE,
                        BRANCH_CODE         = MM.BRANCH_CODE,
                        NUBE_BRANCH_CODE    = 0,
                        SUBSCRIPTION_AMOUNT = MM.MONTHLYSUBSCRIPTION,
                        BF_AMOUNT           = MM.MONTHLYBF,
                        LASTPAYMENTDATE     = dtTo.AddDays(-1),
                        TOTALSUBCRP_AMOUNT  = d.Sum(x => x.Fee.AmtSubs),
                        TOTALBF_AMOUNT      = d.Sum(x => x.Fee.AmountBF),
                        TOTAL_MONTHS        = d.Sum(x => x.Fee.TotalMonthsPaid),
                        ENTRYMODE           = "",
                        DEFAULTINGMONTHS    = "",
                        TOTALMONTHSDUE      = MonDue,
                        TOTALMONTHSPAID     = MM.TOTALMONTHSPAID,
                        SUBSCRIPTIONDUE     = 0,
                        BFDUE                   = 0,
                        ACCSUBSCRIPTION         = MM.ACCSUBSCRIPTION,
                        ACCBF                   = MM.ACCBF,
                        ACCBENEFIT              = MM.ACCBENEFIT,
                        CURRENT_YDTBF           = MM.CURRENT_YTDBF + d.Sum(x => x.Fee.AmountBF),
                        CURRENT_YDTSUBSCRIPTION = MM.CURRENT_YTDSUBSCRIPTION + d.Sum(x => x.Fee.AmtSubs),
                        STATUS_CODE             = MM.STATUS_CODE,
                        RESIGNED                = Convert.ToDecimal(MM.RESIGNED),
                        CANCELLED               = 0,
                        USER_CODE               = 1,
                        ENTRY_DATE              = DateTime.Now,
                        ENTRY_TIME              = string.Format("{0:hh:mm}", DateTime.Now),
                        STRUCKOFF               = MM.STATUS_CODE == 3 ? 1 : 0
                    };
                    lstMasterMemberStatus.Add(ss);
                }
                else
                {
                    MasterMemberStatu ss = new MasterMemberStatu()
                    {
                        FeeYear             = iFeeyear,
                        FeeMonth            = iFeeMonth,
                        MEMBER_CODE         = MM.MEMBER_CODE,
                        MEMBERTYPE_CODE     = MM.MEMBERTYPE_CODE,
                        BANK_CODE           = MM.BANK_CODE,
                        BRANCH_CODE         = MM.BRANCH_CODE,
                        NUBE_BRANCH_CODE    = 0,
                        SUBSCRIPTION_AMOUNT = MM.MONTHLYSUBSCRIPTION,
                        BF_AMOUNT           = MM.MONTHLYBF,
                        LASTPAYMENTDATE     = MM.LASTPAYMENT_DATE,
                        TOTALSUBCRP_AMOUNT  = 0,
                        TOTALBF_AMOUNT      = 0,
                        TOTAL_MONTHS        = 0,
                        ENTRYMODE           = "",
                        DEFAULTINGMONTHS    = "",
                        TOTALMONTHSDUE      = MonDue,
                        TOTALMONTHSPAID     = MM.TOTALMONTHSPAID,
                        SUBSCRIPTIONDUE     = 0,
                        BFDUE                   = 0,
                        ACCSUBSCRIPTION         = MM.ACCSUBSCRIPTION,
                        ACCBF                   = MM.ACCBF,
                        ACCBENEFIT              = MM.ACCBENEFIT,
                        CURRENT_YDTBF           = MM.CURRENT_YTDBF,
                        CURRENT_YDTSUBSCRIPTION = MM.CURRENT_YTDSUBSCRIPTION,
                        STATUS_CODE             = MM.STATUS_CODE,
                        RESIGNED                = Convert.ToDecimal(MM.RESIGNED),
                        CANCELLED               = 0,
                        USER_CODE               = 1,
                        ENTRY_DATE              = DateTime.Now,
                        ENTRY_TIME              = string.Format("{0:hh:mm}", DateTime.Now),
                        STRUCKOFF               = MM.STATUS_CODE == 3 ? 1 : 0
                    };
                    lstMasterMemberStatus.Add(ss);
                }
            }
            db.MasterMemberStatus.AddRange(lstMasterMemberStatus);
            db.SaveChanges();
            MessageBox.Show("Done", "Success");
        }
Exemple #27
0
 public bool IsSymbolCacheableForDay(string symbol, FD fd)
 {
     // this could be a problem if API has an error and it looks like there's no data for that day
     // should periodically refresh nodatadays and if there are nodatadays that turn out to be data days, delete those day cache files
     return(NoDataDays.BinarySearch(fd) >= 0 || DataDaysBySymbol[symbol].BinarySearch(fd) >= 0);
 }
Exemple #28
0
    public VR GetVR(string key)
    {
        //如果对象存在,则直接从享元池获取
        if (VRs.ContainsKey(key))
        {
            return((VR)VRs[key]);
        }
        //如果对象不存在,先创建一个新的对象添加到享元池中,然后返回
        else
        {
            VR fw = null;
            switch (key)
            {
            case "SS": fw = new SS(isBE, false); break;

            case "US": fw = new US(isBE); break;

            case "SL": fw = new SL(isBE, false); break;

            case "UL": fw = new UL(isBE, false); break;

            case "FL": fw = new FL(isBE, false); break;

            case "FD": fw = new FD(isBE, false); break;

            case "DA": fw = new DA(isBE, false); break;

            case "TM": fw = new TM(isBE, false); break;

            case "DT": fw = new DT(isBE, false); break;

            case "AS": fw = new AS(isBE, false); break;

            case "OB": fw = new OB(isBE); break;

            case "OF": fw = new OF(isBE, true); break;

            case "OW": fw = new OW(isBE); break;

            case "SQ": fw = new SQ(isBE, true); break;

            case "LO": fw = new LO(isBE, true); break;

            case "UI": fw = new UI(isBE, true); break;

            case "SH": fw = new SH(isBE, true); break;

            case "AE": fw = new AE(isBE, true); break;

            case "CS": fw = new CS(isBE, true); break;

            case "PN": fw = new PN(isBE, true); break;

            case "DS": fw = new DS(isBE); break;

            case "IS": fw = new IS(isBE, true); break;
                //default for text
                //default: fw = new ST(isBE, false); break;
            }
            VRs.Add(key, fw);
            return(fw);
        }
    }
Exemple #29
0
    /// <summary>
    /// Μέθοδος στην οποία γίνεται η επιλεγμένη διάσπαση.
    /// </summary>
    /// <param name="isPreview">Αν είναι αληθής τότε εμφανίζονται στο modal τα αποτελέσματα.</param>
    private void DecomposeInSteps(bool isPreview)
    {
        int iRel = 0;
        int iFD  = 0;

        UpdateExcludedFD();

        // προσδιορίζεται ο πίνακας που έχει επιλεγεί.
        Relation rel = null;

        iRel = Int32.Parse(gridViewRelationHiddenField.Value);
        rel  = relList[iRel];

        // αν ο πίνακας που έχει επιλεγεί δεν μπορεί να διασπαστεί περαιτέρω, βγαίνει σχετικό μήνυμα.
        if (!isPreview && rel.Excluded)
        {
            log.InnerText = "Ο πίνακας\n\n" + rel.ToString() + "\n\nέχει αποκλειστεί από περαιτέρω διασπάσεις.";
            return;
        }

        // προσδιορίζεται η συναρτησιακή εξάρτηση που έχει επιλεγεί.
        FD fd = null;

        iFD = Int32.Parse(gridViewFDHiddenField.Value);
        fd  = fdList[iFD];

        // εξετάζεται αν η συναρτησιακή εξάρτηση είναι τετριμμένη.
        if (fd.IsTrivial)
        {
            log.InnerText = "Η συναρτησιακή εξάρτηση\n\n\"" + fd.ToString() + "\"\n\nείναι τετριμμένη, επομένως δεν χρησιμοποιείται για διάσπαση πινάκων.";
            return;
        }

        //αν το αριστερό σκέλος της συναρτησιακής εξάρτησης περιλαμβάνει κλειδί, τότε δεν χρησιμοποιείται
        //ο έλεγχος γίνεται με τη βοήθεια της τομής.
        foreach (Key key in keyList)
        {
            if (fd.GetLeft().Intersect(key.GetAttrs(), Global.comparer).Count() >= key.GetAttrs().Count)
            {
                log.InnerText = "Η συναρτησιακή εξάρτηση\n\n\"" + fd.ToString() + "\"\n\nπεριλαμβάνει υποψήφιο κλειδί στο αριστερό σκέλος της, επομένως δεν παραβιάζει την BCNF μορφή και δεν χρησιμοποιείται για διάσπαση πινάκων.";
                return;
            }
        }

        // επίσης ελέγχεται αν η συναρτησιακή εξάρτηση έχει ως ορίζουσα υποψήφιο κλειδί του προς διάσπαση πίνακα.
        List <Key> tempoRelKey = new List <Key>();
        var        resultTemp  = Global.findKeys(rel.GetList(), fdList, false);

        tempoRelKey = resultTemp.Item1;

        foreach (Key key in tempoRelKey)
        {
            if (fd.GetLeft().Intersect(key.GetAttrs(), Global.comparer).Count() >= key.GetAttrs().Count)
            {
                log.InnerText = "Η συναρτησιακή εξάρτηση\n\n\"" + fd.ToString() + "\"\n\nπεριλαμβάνει υποψήφιο κλειδί του πίνακα " + rel.Name + ", επομένως δεν μπορεί να τον διασπάσει.";
                return;
            }
        }

        // αν η τομή x του συνόλου των γνωρισμάτων της συναρτησιακής εξάρτησης και των γνωρισμάτων του πίνακα είναι μικρότερη σε αριθμό από το πλήθος των γνωρισμάτων του πίνακα και ίση με το πλήθος των γνωρισμάτων της συναρτησιακής εξάρτησης, τότε παραβιάζεται η BCNF μορφή και ο πίνακας μπορεί να διασπαστεί.
        int x = fd.GetAll().Intersect(rel.GetList(), Global.comparer).Count();

        if (x < rel.GetList().Count&& x == fd.GetAll().Count)
        {
            // παρακάτω δημιουργούνται δύο νέοι πίνακες, ο rel1 και ο rel2.

            // ο rel1 πίνακας παίρνει τα γνωρίσματα της συναρτησιακής εξάρτησης.
            Relation rel1 = new Relation(fd.GetAll());

            // ο rel2 πίνακας παίρνει τα γνωρίσματα από το αριστερό σκέλος της συναρτησιακής εξάρτησης, συν τα γνωρίσματα του πίνακα που διασπάστηκε, πλην αυτών που βρίσκονται στο δεξί σκέλος της συναρτησιακής εξάρτησης.
            List <Attr> tempo = new List <Attr>();
            tempo.AddRange(fd.GetLeft());
            tempo.AddRange(rel.GetList().Except(fd.GetRight(), Global.comparer));
            Relation rel2 = new Relation(tempo);

            // δημιουργούνται δύο κλειδιά, ένα για τον καθένα πίνακα.
            Key key1 = new Key();
            Key key2 = new Key();

            // το κλειδί του πρώτου πίνακα είναι η ορίζουσα της συναρτησιακής εξάρτησης που προκάλεσε την διάσπαση.
            key1.AddToKey(fd.GetLeft());
            rel1.SetKey(key1);

            // προσδιορίζουμε το κλειδί του δεύτερου πίνακα (αυτό που δίνει όλα τα γνωρίσματά του)
            // δημιουργούμε μια τοπική λίστα κλειδιών και ως κλειδί του δεύτερου πίνακα ορίζεται το πρώτο κλειδί της λίστας.
            List <Key> tempoKeyList = new List <Key>();
            var        resultTemp2  = Global.findKeys(rel2.GetList(), fdList, false);
            tempoKeyList = resultTemp2.Item1;

            key2.AddToKey(tempoKeyList[0].GetAttrs());
            rel2.SetKey(key2);

            // ορίζονται τα ονόματα των δύο νέων πινάκων.
            if (Relation.isAA)
            {
                rel1.Name = "R" + ++Relation.aa;
                rel2.Name = "R" + ++Relation.aa;
                if (isPreview)
                {
                    Relation.aa = Relation.aa - 2;
                }
            }
            else
            {
                rel1.Name = rel.Name + "1";
                rel2.Name = rel.Name + "2";
            }

            // οι δύο νέοι πίνακες προστίθενται στη λίστα.
            if (!isPreview)
            {
                //προστίθενται οι δύο νέοι πίνακας στο CheckboxList
                relList.Add(rel1);
                relList.Add(rel2);

                //εμφανίζονται τα σχετικά μηνύματα στα Αποτελέσματα.
                resultsArea.InnerText += "\nΜε την \"" + fd.ToString() + "\" ο " + rel.Name + " διασπάται σε:\n\n" + rel1.ToString() + RelBCNF(rel1) + "\n\n" + rel2.ToString() + RelBCNF(rel2) + "\n\n";
                resultsArea.InnerText += "==============================\n\n";


                //μπαίνει Χ στα Grid για τον πίνακα rel και τη συναρτησιακή εξάρτηση fd
                rel.IsBCNF           = false;
                rel.Excluded         = true;
                fdList[iFD].Excluded = true;

                log.InnerText = "Έγινε διάσπαση σε δύο νέους πίνακες, τον " + rel1.Name + " και τον " + rel2.Name + ".";
            }
            else
            {
                log.InnerText  = "Με την \"" + fd.ToString() + "\" ο " + rel.ToString() + " διασπάται σε:\n\n" + rel1.ToString() + RelBCNF(rel1) + "\n\n" + rel2.ToString() + RelBCNF(rel2) + "\n\n";
                log.InnerText += "==============================\n\n";
            }
        }
        else // σε διαφορετική περίπτωση η BCNF δεν παραβιάζεται και εμφανίζεται σχετικό μήνυμα
        {
            log.InnerText = "Η συναρτησιακή εξάρτηση\n\n\"" + fd.ToString() + "\"\n\nδεν σχετίζεται με τον πίνακα\n\n" + rel.ToString() + "\n\nκαι επομένως δεν γίνεται διάσπαση.";
        }
    }
Exemple #30
0
        public static void UpdateHistoricalTicksByDay(List <string> symbols, FD fd, bool force, ThreadControl tc)
        {
            tc.Log.AddLine("Starting update histocial ticks by day", Verbosity.Minimal);

            ZonedDateTime ie = SystemClock.Instance.GetCurrentInstant().InZone(UCDT.TimeZones.Eastern);

            // safety precaution
            if (ie.Year == fd.DT.Year && ie.Month == fd.DT.Month && ie.Day == fd.DT.Day)
            {
                throw new Exception("What are you doing???");
            }

            int parallelAPICalls = 15;

            if (!fd.IsOnWeekend())
            {
                bool hasDataForDay = StockAPI.Methods.DateHasData(fd.DT.Year, fd.DT.Month, fd.DT.Day, force);

                if (hasDataForDay)
                {
                    if (force)
                    {
                        tc.Log.AddLine("Forcing a historical update", Verbosity.Verbose);
                    }
                    else
                    {
                        tc.Log.AddLine("Date has data", Verbosity.Verbose);
                    }

                    tc.Log.AddLine("About to start API calls as fast as we can go", Verbosity.Minimal);

                    symbols.Shuffle();

                    for (int s = 0; s < symbols.Count; s += parallelAPICalls)
                    {
                        //string[] syms = new string[parallelAPICalls];
                        lock (Global.State.ThreadControlTreeLock)
                        {
                            for (int m = 0; m < parallelAPICalls; m++)
                            {
                                if (m + s < symbols.Count)
                                {
                                    string        sym           = symbols[m + s];
                                    ThreadControl singleQuoteTC = new ThreadControl(fd.ToString() + " : " + sym);
                                    tc.Children.Add(singleQuoteTC);
                                    Task.Factory.StartNew(() => Methods.ThreadRun("AT.SchedulerMethods, AT", "UpdateSingleDayAndSingleSymbolTicks", singleQuoteTC, null, new object[] { sym, fd }), CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default);
                                }
                            }
                        }

                        while (tc.Children.Exists(p => p.State != ThreadControlState.Complete && p.State != ThreadControlState.Done))
                        {
                        }

                        tc.ClearChildren();


                        tc.Log.AddLine("Done with small batch for " + fd.ToString() + ". About %" + Math.Round(((double)s / (double)symbols.Count) * (double)100, 2) + " done.");

                        if (!tc.CheckNotStopped())
                        {
                            tc.Log.AddLine("Breaking UpdateHistoricalTicksByDay!");
                            break;
                        }
                    }
                }
                else
                {
                    tc.Log.AddLine("Not forcing and date does NOT have data for " + fd.ToString());
                }
            }
            else
            {
                tc.Log.AddLine("Date is on weekend " + fd.ToString());
            }
        }