private void LoadRoms() { try { panel.Controls.Clear(); WebClient wb = new WebClient(); wb.Headers.Add("User-Agent", "Mozilla/4.0+"); String[] listaDeRoms = wb.DownloadString(ONLINE_ROMS_LIST_LOCATION).Replace("\n", "").Split('|'); DirectoryInfo romDirectory = new DirectoryInfo(ROM_DIRECTORY); foreach (FileInfo f in romDirectory.GetFiles("*png", SearchOption.TopDirectoryOnly)) { Boolean baixado = false; String fileName = ""; foreach (String s in listaDeRoms) { if (RemoveExtension(f.Name).Equals(s)) { baixado = true; fileName = s; break; } } Image image; using (FileStream myStream = new FileStream(f.FullName, FileMode.Open, FileAccess.Read)) { image = Image.FromStream(myStream); } Rom rom = new Rom(image, f, baixado, ONLINE_ROMS_LOCATION + "/" + fileName); panel.Controls.Add(rom); } foreach (String s in listaDeRoms) { Boolean existe = false; foreach (Rom r in panel.Controls) { if ((r.file != null ? RemoveExtension(r.file.Name) : GetRomNameByRom(r)).Equals(s)) { existe = true; break; } } if (!existe) { Rom rom = new Rom(null, null, false, ONLINE_ROMS_LOCATION + "/" + s); panel.Controls.Add(rom); } } } catch (Exception e) { MessageBox.Show(e.Message); } finally { button1.Enabled = true; panelSync.Visible = false; panelSync.BringToFront(); button3.Enabled = true; } }
private String GetRomNameByRom(Rom r) { return(r.pathToDownload.Split('/')[r.pathToDownload.Split('/').Length - 1]); }