Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Обмен данными с елементом страницы


Автор: Infra_Red 1.8.2007, 12:12
Всем привет!

Пишу прогу на C#.

Есть такое задание  - имеем некую страницу, а на ней форму с текстом с возможностью редактирования(такая же как и на форуме когда тему создаешь) нужно обратиться к этой форме, считать с нее текст в массив или пох куда, отредактировать его и обратно вписать в форму, и нажать на кнопочку сейв.(на рисунке пример формы к которой обращаться надо) user posted image визуально это видеть не надо, просто програмно сделать. Ступор в том, что не знаю как обратиться к форме, считывать и записывать в нее...помогите плиз советом или  smile 

Автор: Infra_Red 1.8.2007, 16:57
это всем влом ответить или я что-то сверх сложное спросил?

Автор: okaton 1.8.2007, 17:21
У тебя текст набирается в каком элементе?
Для textBox выглядит так ИмяМассива[Номер элемента] = Convert.ToInt32(textBox1.Text);
Нужно создать массив типа стринг, если длинна не известна, соответственно переменной длины 
string[] ИмяМассива = new string[длина массива]

еще можно воспользоваться listarrow

Автор: Infra_Red 1.8.2007, 17:26
тут прикол не в том как считать, я не знаю как обратиться к отдельной форме на странице, полазил по форуму  - получается считать токо хтмл текс...a мне надо обратиться к такому же квадратику(форме) smile как ты при создании овета на форуме...

Автор: FREEDEV 2.8.2007, 12:49
ну так в чем проблемма, если у тебя есть хтмл - берешь его , разбираешь, выискиваешь нужный тебе текст и работаешь с ним, 
посмотри в сторону HtmlDocument, DOM

Автор: Infra_Red 2.8.2007, 14:06
ага, я тож так думал, но в хтмл тексте нету того что мне надо, а именно текста самой формы..."found" - "nor found"

Автор: FREEDEV 2.8.2007, 14:15
Значит это неправильный хтмл  smile 
Можешь в браузере открыть эту страницу и посмотреть её исходный текст.
На чем написан этот сайт с которого ты хочешь содрать содержимое?

Автор: Infra_Red 2.8.2007, 15:21
ты прав, это я неправильно считывал хтмл, там есть то, что надо...теперь буду думать как заменить его smile

Автор: Infra_Red 2.8.2007, 18:51
и все-таки, как обратиться к конкретной форме на страничке, по моему так и быстрее и удобнее для программера...у меня даже весь хтмл код не получается считать :(

 
Код

 private void button1_Click(object sender, EventArgs e)
        {
            
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://groupware.imu.kiev.ua:8081/pages/editpage.action?pageId=13632183");
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader readStream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("windows-1251"));
            FileStream fw = File.OpenWrite("report.txt");
            string rS = readStream.ReadToEnd();
            BufferedStream inStream = new BufferedStream(rS);
            BufferedStream outStream = new BufferedStream(fw);
            byte[] buf = new byte[4096];
            int bytesRead;
            while ((bytesRead = inStream.Read(buf,0,4096)) >0) outStream.Write(buf,0,bytesRead);
            outStream.Flush();
            outStream.Close();
            inStream.Close();
        }


во так пробую, но выдает     Error 2 Argument '1': cannot convert from 'string' to 'System.IO.Stream'    b еще )) 
Error    1    The best overloaded method match for 'System.IO.BufferedStream.BufferedStream(System.IO.Stream)' has some invalid arguments

Автор: FREEDEV 3.8.2007, 13:00
Код

            string contents = null;
            string url = @"http://www.google.com";

            try
            {
                System.Net.HttpWebRequest wreq = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);  

                using (System.Net.HttpWebResponse wresp = (System.Net.HttpWebResponse)wreq.GetResponse())
                using (System.IO.StreamReader sr = new System.IO.StreamReader(wresp.GetResponseStream(), Encoding.Default))
                {
                    contents = sr.ReadToEnd();
                    sr.Close();
                    wresp.Close();
                }
            }
            catch
            {
                contents = "";
            }


http://rasmus.selsmark.dk/category/c/

Автор: Infra_Red 3.8.2007, 13:58
вот за это спасибо, ссылка прочто супер, очень помог!!! smile  smile 

Автор: FREEDEV 3.8.2007, 14:08
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)