diff --git a/README.md b/README.md index a37f6cb..66dcad0 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ ## Описание -Пример просмотра информации о пользователе форума и сайта 4PDA с помощью его ID +Пример просмотра информации о пользователе форума и сайта 4PDA с помощью его ID. Для работоспособности с 2022 года необходимо изменить в коде **4pda.ru** на **4pda.to**, возможно потребуются ещё что-то изменить в коде ## Возможности - Быстрое и простое получение информации о пользователе (ник, группа пользователя, регистрация) diff --git a/source/Profile.Designer.cs b/source/Profile.Designer.cs index d7f08cd..1433ab7 100644 --- a/source/Profile.Designer.cs +++ b/source/Profile.Designer.cs @@ -221,6 +221,7 @@ private void InitializeComponent() this.Name = "Profile"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "FourPV"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Profile_FormClosed); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); diff --git a/source/Profile.cs b/source/Profile.cs index 9d2ab4b..a881dc0 100644 --- a/source/Profile.cs +++ b/source/Profile.cs @@ -696,10 +696,10 @@ public Profile() private void button1_Click(object sender, EventArgs e) { IsPhoto = false; // Проверка на подозрительные строки - if (File.Exists(@Application.StartupPath + @"\avatar.dat")) - File.Delete(@Application.StartupPath + @"\avatar.dat"); - if (File.Exists(@Application.StartupPath + @"\profile.dat")) - File.Delete(@Application.StartupPath + @"\profile.dat"); + if (File.Exists("avatar.dat")) + File.Delete("avatar.dat"); + if (File.Exists("profile.dat")) + File.Delete("profile.dat"); try { using (WebClient wc = new WebClient()) @@ -708,8 +708,8 @@ private void button1_Click(object sender, EventArgs e) Uri user = new Uri(url); // Задание URL адреса для дальнейшего взаимодействия string htmlCode = GetResponse(user.ToString()); // Чтение страницы профиля string username = ParseTitle(htmlCode).Replace(" - 4PDA", ""); // Поиск ника в заголовке страницы профиля - wc.DownloadFile(user, @Application.StartupPath + @"\profile.dat"); // Скачивание копии профиля (только код) - string[] profile = File.ReadAllLines(@Application.StartupPath + @"\profile.dat", Encoding.Default); // Чтение строк кода + wc.DownloadFile(user, "profile.dat"); // Скачивание копии профиля (только код) + string[] profile = File.ReadAllLines("profile.dat", Encoding.Default); // Чтение строк кода for (int i = 0; i < profile.Length; i++) { // Поиск аватарки на странице профиля @@ -720,8 +720,8 @@ private void button1_Click(object sender, EventArgs e) { avp = Convert.ToString("http:" + profile[i + 1].Replace(" \"Аватар\"", "")); // Поиск ссылки на аватарку - wc.DownloadFile(avp, @Application.StartupPath + @"\avatar.dat"); // Скачивание аватарки - pictureBox1.ImageLocation = @Application.StartupPath + @"\avatar.dat"; // Установка автарки на pictureBox + wc.DownloadFile(avp, "avatar.dat"); // Скачивание аватарки + pictureBox1.ImageLocation = "avatar.dat"; // Установка автарки на pictureBox IsPhoto = true; // Проверка на подозрительные строки } catch @@ -732,13 +732,13 @@ private void button1_Click(object sender, EventArgs e) username = Convert.ToString(charArray[0]).ToLower() + username.Remove(0, 1); // Если установить аватарку нельзя, то значит первая буква в нике заглавная (по заголовку страницы профиля) avp = Convert.ToString("http:" + profile[i + 1].Replace(" \"Аватар\"", "")); // Поиск ссылки на аватарку - wc.DownloadFile(avp, @Application.StartupPath + @"\avatar.dat"); // Скачивание аватарки - pictureBox1.ImageLocation = @Application.StartupPath + @"\avatar.dat"; // Установка автарки на pictureBox + wc.DownloadFile(avp, "avatar.dat"); // Скачивание аватарки + pictureBox1.ImageLocation = "avatar.dat"; // Установка автарки на pictureBox IsPhoto = true; // Проверка на подозрительные строки } catch { IsPhoto = false; /* Проверка на подозрительные строки */ } } - if (File.Exists(@Application.StartupPath + @"\avatar.dat") == false) // Если у профиля нет аватарки, то используется аватарка по умолчанию (из ресурсов приложения) + if (File.Exists("avatar.dat") == false) // Если у профиля нет аватарки, то используется аватарка по умолчанию (из ресурсов приложения) pictureBox1.Image = Properties.Resources.AvatarNull; } // Поиск группы пользователя (https://4pda.to/forum/index.php?act=boardrules) @@ -873,6 +873,14 @@ private void button2_Click(object sender, EventArgs e) private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !(char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)); /* Вводимые символы - только целые цифры до 9 и Backspace для стирая символов */ - } + } + + private void Profile_FormClosed(object sender, FormClosedEventArgs e) + { + if (File.Exists("avatar.dat")) + File.Delete("avatar.dat"); + if (File.Exists("profile.dat")) + File.Delete("profile.dat"); + } } } \ No newline at end of file diff --git a/source/Properties/AssemblyInfo.cs b/source/Properties/AssemblyInfo.cs index 871c426..ce15ddc 100644 --- a/source/Properties/AssemblyInfo.cs +++ b/source/Properties/AssemblyInfo.cs @@ -6,7 +6,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("FourPV")] -[assembly: AssemblyCopyright("GNU General Public License v3.0 by Zalexanninev15")] +[assembly: AssemblyCopyright("GNU General Public License v3 by Zalexanninev15")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)]