/// <summary> /// Парсинг альбома /// </summary> /// <param name="str">Ссылка на алььбом мыссив где [0] - id владельца, [1] - id альбома</param> public static void Parsing(string[] str) { JObject jObject = JObject.Parse(Vkapi.Get("photos.get", string.Concat("owner_id=", str[0], "&album_id=", str[1], "&count=1"))); if (jObject["error"] != null) { switch (jObject["error"]["error_code"].Value <int>()) { case 100: MessageBox.Show("Один из пармметров не верен"); break; case 200: MessageBox.Show("нет доступа к альбому"); break; } Th.Abort(); } count = jObject["response"]["count"].Value <int>(); double num = Math.Ceiling(count / 1000.0); //вычесляем количество повторов вызова так макс фотополучение 1000 то делим коли на 1000 и округляем в большую сторону, чтобы выполнилось хотя бы один раз int num2 = 0; while (num2 < num) { GetPhoto(str); Offset += 1000; num2++; } }
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { Th.Abort(); U.Close(); } catch { } }
private void timer1_Tick(object sender, EventArgs e) { if (count > 0 && count == allcount || Th.ThreadState == System.Threading.ThreadState.Aborted || Th.ThreadState == System.Threading.ThreadState.Stopped) { progress.Hide(); if (WindowState == FormWindowState.Minimized) { WindowState = FormWindowState.Normal; Visible = true; } timer1.Enabled = false; Th.Abort(); } progress.label1.Text = allcount + "[" + count + "]"; }
/// <summary> /// Запуск получения фото /// </summary> public void Start() { Invoke((MethodInvoker)(() => { Hide(); })); string text = _textBox1.Text; if (text.IndexOf("album", StringComparison.Ordinal) < 0) { MessageBox.Show("Неправельная ссылка на альбом"); FormShow(); Th.Abort(); } text = text.Substring(text.IndexOf("album", StringComparison.Ordinal)).Replace("album", ""); string[] str = text.Split('_'); Parsing(str); Print(Photos, listBox1); FormShow(); }