Отправка записей на движок WikiMedia - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! У меня появилась необходимость переносить огромный словарь на Wiki ресурс. Немного поработав, я понял что делать это в ручную - себя не уважать и решил написать небольшую программку для автоматизации. Немного быдлокода:
    public partial class Main : Form
    {
 
        string mainstring;
        string name;
        int pos;
        char[] wtd = { '\'', '.', ',' };
 
        StreamReader readit = new StreamReader("words.txt");
        StreamWriter writelog = new StreamWriter("log.txt", true);
        StreamWriter output = new StreamWriter("output.txt", true);
 
        public Main()
        {
            InitializeComponent();
        }
 
        private void Go_Click(object sender, EventArgs e)
        {
            while (readit.Peek() >= 0)
            {
                mainstring = readit.ReadLine();
                if (mainstring != "")
                {
          //Всякие хитрые манипуляции со строкой
        
                    webBrowser.Navigate("http://some.wiki.net/index.php?title=" + name + "&action=edit");
 
                    webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
 
                    writelog.WriteLine(name + ": OK!");
                    output.WriteLine(mainstring);
                    writelog.Flush();
                    output.Flush();
                }
            }
        }
 
        void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            webBrowser.Document.GetElementById("wpTextbox1").SetAttribute("value", mainstring + "\n\n" + category.Text);
            webBrowser.Document.GetElementById("wpSave").InvokeMember("click");
        }
В цикле while (readit.Peek() >= 0) есть несколько строк, которые открывают страницу с необходимым названием на сайте и сохраняют контент. А в реальности цикл отрабатывает весь файл words (это видно по output.txt) но почему то открывает только страницу с последним словом и сохраняет ее. Я проверял ход кода, программа попадает на нужные строки, но тупо их игнорирует (что ли?). В общем взрыв мозга. Я первый раз работаю с классом WebBrowser, может там есть свои тонкости и т.д. Подскажите плиз. Мозг кипит.

Решение задачи: «Отправка записей на движок WikiMedia»

textual
Листинг программы
                while (webBrowser.ReadyState != WebBrowserReadyState.Complete) 
                {
                    Application.DoEvents();
                }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы