Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
2 / 2 / 1
Регистрация: 15.08.2013
Сообщений: 152

Как передать значение?

01.10.2013, 20:01. Показов 1400. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Пытаюсь забрать значение "res" из метода Trololo, ошибка - "Ошибка 1 Не удалось найти имя типа или пространства имен "res" (пропущена директива using или ссылка на сборку?)"

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Net.NetworkInformation;
using System;
using Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
 
class Program
{
     
   static string Trololo(string url)
    {
        HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url);
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
        StreamReader myFile = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding(1251));
        string fullText = myFile.ReadToEnd();
        String str = "sLabel[3]  = Usage[0];sData[3]  = \"";
        int start = fullText.IndexOf(str) + str.Length;
        int end = fullText.IndexOf("\"", start + 1);
        String  res = fullText.Substring(start, end - start);
        return res;
       
    }
    [STAThread]
    static void Main()
    {             
            OpenFileDialog dialog = new OpenFileDialog
        {
            Filter = "Файлы Excel |*.xlsx"
        };
        if (dialog.ShowDialog() == DialogResult.OK)
        {
            Excel.Application app = new Excel.Application();
            app.Workbooks.Open(dialog.FileName);
            Excel.Workbook book = app.ActiveWorkbook;
            for (int i = 1; i <= book.Worksheets.Count; i++)
            {
                Excel.Worksheet sheet = (Excel.Worksheet)book.Worksheets[i];
                sheet.Cells[2, 5] = (res)Trololo("http://192.168.9.22/start/StatCntMedia.htm");
                sheet.Cells[2, 6] = (res)Trololo("http://192.168.9.23/start/StatCntMedia.htm");
                sheet.Cells[2, 7] = (res)Trololo("http://192.168.9.24/start/StatCntMedia.htm");
                
            }
            book.Save();
            app.Quit();
        }
    }
}
Как быть? Помогите пожалуйста... прога ведь почти готова... наверно
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2013, 20:01
Ответы с готовыми решениями:

Как передать в ViewBag, значение с пробелом
Подскажите как передать значение имени стиля состоящее из двух слов с пробелом, через @ViewBag В шаблоне проекта пишу &lt;li...

Как передать значение в консоль hl.exe
Как передать значение в консоль hl.exe - Counter-Strike 1.6

NUllReferenceException - как передать нулевое значение в OriginalUrl
var articles = articleRepository.Find(SourceType.News, subject.Tag, (DateTime)context.StartDate, (DateTime)context.EndDate,...

12
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.10.2013, 20:04
dexterdx,
C#
1
(res)Trololo("http://192.168.9.22/start/StatCntMedia.htm");
это вы что такое написали?о_0
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
01.10.2013, 20:06
dexterdx, первое, что бросилось в глаза - несоответствие типа функции и возвращаемого значения.
string и String - должны быть разные типы данных

может, в этом дело?)

а вот. Дальше я не посмотрел. Да. Дело не в этом. Дело в странном приведении типов
0
2 / 2 / 1
Регистрация: 15.08.2013
Сообщений: 152
01.10.2013, 20:15  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
dexterdx,
C#
1
(res)Trololo("http://192.168.9.22/start/StatCntMedia.htm");
это вы что такое написали?о_0
Вы имеете ввиду что делает это программа? Или задаете риторический вопрос по написанию кода?
Программа забирает показания по количеству распечатанных и отсканированных страниц с принтеров Кеосера.
Ну в общем хочу забирать переменную из метода...

Добавлено через 7 минут
Цитата Сообщение от Tsin Посмотреть сообщение
dexterdx, первое, что бросилось в глаза - несоответствие типа функции и возвращаемого значения.
string и String - должны быть разные типы данных

может, в этом дело?)

а вот. Дальше я не посмотрел. Да. Дело не в этом. Дело в странном приведении типов
По отдельности методы работают отлично, но вот как передавать результаты из метода в метод?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.10.2013, 20:36
dexterdx, вопрос риторический. Имя переменной и имя типа - совершенно разные вещи.

Tsin, string - псевдоним для класса String, точно также, как int -> Int32
1
2 / 2 / 1
Регистрация: 15.08.2013
Сообщений: 152
01.10.2013, 20:50  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
dexterdx, вопрос риторический. Имя переменной и имя типа - совершенно разные вещи.

Tsin, string - псевдоним для класса String, точно также, как int -> Int32
Я глупость написал, понятно. Но как справиться ситуацией я не знаю... Может, если вам не трудно, подскажите способ как мне пользоваться методом и получать от него значения при разных url?

К слову сказать я уже запихивал метод в цикл и все работает, но не отрабатываюся исключения при мертвом url, программа виснет.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.10.2013, 21:29
dexterdx, я вообще не понимаю, чего вы хотите этим добиться.
0
2 / 2 / 1
Регистрация: 15.08.2013
Сообщений: 152
01.10.2013, 21:59  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
dexterdx, я вообще не понимаю, чего вы хотите этим добиться.
в url меняется ip, соответственно значения res в методe Trololo должны быть при каждом обращении к нему разные, и новое значение res должно запихиваться в Ексель файл. Вот работающий код с циклом
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static string Trololo(string url)
{
HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url);
                HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                StreamReader myFile = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding(1251));
                string fullText = myFile.ReadToEnd();
                String str = "sLabel[3]  = Usage[0];sData[3]  = \"";
                int start = fullText.IndexOf(str) + str.Length;
                int end = fullText.IndexOf("\"", start + 1);
                String res = fullText.Substring(start, end - start);
                return res;
}
 
static void Main()
{
   for (int i = 0; i < 30; i++)
      Console.WriteLine(Trololo(string.Format("http://192.168.9.{0}/start/StatCntMedia.htm", i)));
}
Но при мертвом ip адресе прога виснет и выводить мне значение нужно не на экран а в файл. Отрабатывал исключения статус кодами - но прога все равно виснет.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.10.2013, 22:05
dexterdx, там timeout вроде как есть. Тем более можно классом ping сначала проверить, доступен ли сайт.
0
2 / 2 / 1
Регистрация: 15.08.2013
Сообщений: 152
02.10.2013, 07:28  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
dexterdx, там timeout вроде как есть. Тем более можно классом ping сначала проверить, доступен ли сайт.
Пробовал Timeuot'ом - виснет.
Ping'ом получается но как выйти из метода? Да и нужен еще один счетчик цикла для ip а не url. На return он ругается - "Требуется объект с типом, приводимым к "string"".
Да и выводить "res" мне нужно в файл а не в консоль.

Добавлено через 9 часов 12 минут
Цитата Сообщение от Psilon Посмотреть сообщение
dexterdx, там timeout вроде как есть. Тем более можно классом ping сначала проверить, доступен ли сайт.
Проспался и не вставая с постели сообразил, что я <***>:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Net.NetworkInformation;
using System;
using Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
 
class Program
{
     
   static string Trololo(string url)
    {
        HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url);
        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
        StreamReader myFile = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding(1251));
        string fullText = myFile.ReadToEnd();
        string str = "sLabel[3]  = Usage[0];sData[3]  = \"";
        int start = fullText.IndexOf(str) + str.Length;
        int end = fullText.IndexOf("\"", start + 1);
        string  res = fullText.Substring(start, end - start);
        return res;
       
    }
    [STAThread]
    static void Main()
    {             
            OpenFileDialog dialog = new OpenFileDialog
        {
            Filter = "Файлы Excel |*.xlsx"
        };
        if (dialog.ShowDialog() == DialogResult.OK)
        {
            Excel.Application app = new Excel.Application();
            app.Workbooks.Open(dialog.FileName);
            Excel.Workbook book = app.ActiveWorkbook;
            for (int i = 1; i <= book.Worksheets.Count; i++)
            {
                Excel.Worksheet sheet = (Excel.Worksheet)book.Worksheets[i];
                sheet.Cells[2, 5] = (Trololo("http://192.168.9.22/start/StatCntMedia.htm"));
                sheet.Cells[3, 5] = (Trololo("http://192.168.9.23/start/StatCntMedia.htm"));
                sheet.Cells[4, 5] = (Trololo("http://192.168.9.24/start/StatCntMedia.htm"));
                sheet.Cells[5, 5] = (Trololo("http://192.168.9.25/start/StatCntMedia.htm"));
                              
            }
            book.Save();
            app.Quit();
        }
    }
 
   
 
}
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.10.2013, 11:04
dexterdx, но в итоге все-таки догадался...
Кстати app.quit не закрывает excel и он остается висеть в процессах, можете сами проверить
0
02.10.2013, 11:13

Не по теме:

А почему функция до сих пор Trololo называется :D

0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.10.2013, 11:17
valera_21, потому что она сама троллит автора, очевидно же
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2013, 11:17
Помогаю со студенческими работами здесь

Как передать значение mas от case1 к case2?
public static void PrintMenu2nd1() { int num2; int size; int mas; ...

Рефлексия: Как одновременно и передать значение и получить через out?
Есть некий метод : String myconfname = &quot;00&quot;; String sMatDB = &quot;&quot;; String sMatName = swPart.GetMaterialPropertyName2(myconfname, out...

Как передать значение элемента массива в другой класс
Добрый день, учусь на программиста. как передать значение элемента массива из класса в класс? using System; using...

Как передать значение переменной из одной формы в другую
Здравствуйте! Подскажите, пожалуйста: string h = this.textBox1.text; другая форма string a= h; как так сделать:)

Как передать переменную (не её значение) в функцию внутри класса
Здравствуйте, все!) Речь про скрипт для игры. В скрипте есть набор систем, схожих между собой. Т.е. у каждой системы есть две...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru