Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

StarLancer



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения, но где можно скачать сертификационые экзамены по курсу MCPD
 
Добавлено:
Прошу прощения, но где можно слить сертификационные экзамены по MCPD

Всего записей: 245 | Зарегистр. 29-11-2006 | Отправлено: 02:37 07-07-2008
svasl

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тут уже была подобная задача. Необходимо отобразить тестовый файл - лог файл одной программы, в который периодически добавляются строки.  Перечитывать каждый раз файл из-за того, что добавилась одна строчка не хотелось бы. Но что-то других вариантов в голову не приходит.  Сейчас реализовал так: по watcher'у отслеживаю изменение файла и если есть изменения, то перечитываю, попутно производя разбор строк для удобства пользователя. Но большой минус - файл растет  - растет и время такой обработки. Подкиньте варианты.

Всего записей: 3 | Зарегистр. 02-05-2006 | Отправлено: 10:43 07-07-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svasl
навскидку - храни размер, а потом читай байтами от такого смещения до конца.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 17:53 07-07-2008
Mike13x13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svasl
Цитата:
svasl  
навскидку - храни размер, а потом читай байтами от такого смещения до конца.

+ если "одна программа" умеет создавать лог-файл при отсутствии такового, рекомендую периодически (или по времени, или по достижении определенного размера) перекидывать его в архив. Если не умеет, то добавить создание "затравочного" пустого лог-файла.
 

Всего записей: 93 | Зарегистр. 13-09-2007 | Отправлено: 16:17 08-07-2008 | Исправлено: Mike13x13, 16:18 08-07-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Программа для расчета конструкций с помощью визуального проектирования.  
Самый простой пример -  на форме появился квадрат и его можно тягать за края, тем самым изменяя его размер, разделять на части, изменять цвет заливки и т.д.
Даже не знаю с чего начать. В какую сторону думать.
Подскажите кто-что знает!
C#.

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 01:16 09-07-2008
fvgrod



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день.
Подскажите как на C# задать IP адрес сетевого интерфейса?

Всего записей: 98 | Зарегистр. 17-10-2006 | Отправлено: 01:19 09-07-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fvgrod
есть подозрение, что только вызовом WinAPI-шных функций. каких не скажу к сожалению, спроси в топике про WinAPI.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 08:12 09-07-2008
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fvgrod
Нашел на VB.NET, может поможет: How to Change the IP Address of the Local Machine Using VB .NET

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 14:59 09-07-2008
fvgrod



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lihonosov
Спасибо, буду пробовать.
 
eLLoco
Подскажи, а как вызвать WinAPI функцию на С#? Ни разу с ними не работал еще.

Всего записей: 98 | Зарегистр. 17-10-2006 | Отправлено: 18:45 09-07-2008
Mike13x13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fvgrod
Не вполне понятна задача. Может, к примеру, так:  
 IPAddress adr=IPAddress.Parse("127.0.0.1");
 IP адрес сетевого интерфейса = adr;
?

Всего записей: 93 | Зарегистр. 13-09-2007 | Отправлено: 18:51 09-07-2008
fvgrod



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mike13x13
У меня есть стандартный сетевой интерфейс, мне надо программно менять на нем раз в час ИП адрес. В твоем примере мы просто параметру adr присваиваем некое значение.

Всего записей: 98 | Зарегистр. 17-10-2006 | Отправлено: 20:27 09-07-2008
Mike13x13



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fvgrod
Построчно: 1-я строка: adr "становится" сетевым адресом 127.0.0.1; 2 строчка - этот адрес назначается интерфейсу.
Более понятно без примера твоего кода написать сложно.

Всего записей: 93 | Зарегистр. 13-09-2007 | Отправлено: 21:06 09-07-2008
CruelCrow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
c#, получение изображения из базы данных. Знаю, что в Гугле есть инфа, но по найденному так ничего нормально и не заработало.

Код:
 
<%@ Page Language="C#" AutoEventWireup="true" %>
 
<%
    //Строка запроса
    string query = "SELECT img_data FROM Images WHERE img_id = '"+Request.QueryString["id"]+"'";
 
    //Создание подключения к БД
    System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection("user id=qwer;password=qwer;server=localhost;database=TstDB;connection timeout=3");
     
    //Создание запроса
    System.Data.SqlClient.SqlCommand read = new System.Data.SqlClient.SqlCommand(query, myConnection);
 
    //Открытие соединения
    myConnection.Open();
 
    //Обработка запроса; результат передаётся в img
    System.Data.SqlClient.SqlDataReader img = read.ExecuteReader();
 
 
    if (img.Read()) //Переход к первому (и последнему) результату
    {
        //Создание массива байт (т.е. бинарных данных) из первой (и последней) колонки данных - короче, из единственной ячейки, содержащей изображение
        byte[] b = (byte[])img[0];

 
        //Вывод предпологаемого результата (то бишь "изображения") в браузер
        Response.BinaryWrite(b);
    }
    myConnection.Close();
%>
 

 
Результатом выполнения программы является надпись "System.Byte[]". Такой же или похожий рельтат был в найденных в Гугле решениях.
Жирным шрифтом я выделил место предпологаемой ошибки.
 
В базе данных проблем точно нету, т.к. локальный запрос

Код:
 
SELECT img_data FROM Images WHERE img_id = '50'
 

выдаёт правильный результат, т.е. одну ячейку с бинарными данными.

Всего записей: 109 | Зарегистр. 21-05-2006 | Отправлено: 01:01 10-07-2008 | Исправлено: CruelCrow, 01:22 10-07-2008
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fvgrod

Цитата:
Подскажи, а как вызвать WinAPI функцию на С#? Ни разу с ними не работал еще.

 
Под тегом more пример - как поменять обои на рабочем столе. Не скажу, что мой, но мной модифицированный . Суть в том что директивами вида [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] ты должен объявить нужные функции и потом разумно ими пользоваться.
 
Подробнее...
 
Добавлено:
CruelCrow
А в Response не нужно разве задавать Content-Type? То есть ты пытаешься отдать бразеру изображение, а не предупредил его об этом. Попробуй в эту сторону порыть.

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 07:35 10-07-2008 | Исправлено: eLLoco, 07:39 10-07-2008
svasl

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eLLoco
Тогда сложность возникнет отслеживания событий, так как программа должна не только отображать лог, но и реагировать на некоторые события, отслеживаемые по логу.  Чтобы было понятно, есть некое серверное приложение, которое по своему протоколу общается с такими же серверами, все свои события, обмен, установка связи и потеря связи отображает в логе, обычный текстовый файл. Необходимо как минимум отслеживать обрывы связи (кроме как по логу это не возможно) и оповещать дежурный персонал.

Всего записей: 3 | Зарегистр. 02-05-2006 | Отправлено: 13:45 10-07-2008
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svasl
Цитата:
Тогда сложность возникнет отслеживания событий...
Это к чему? В твоём способе
Цитата:
Перечитывать каждый раз файл из-за того, что добавилась одна строчка не хотелось бы. Но что-то других вариантов в голову не приходит
сложности ещё больше. Делай как он говорит -- открываешь в режиме чтения, как текстовый файл, если он изменился, читаешь строки от текущего файлового указателя (который запомнен) до конца файла, разбираешь строки, а затем меняешь значение файлового указателя.
Цитата:
...кроме как по логу это не возможно
Это наглая ложь. Если есть возможность, отслеживание обрывов связи надо заложить в логику твоего серверного приложения

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 15:39 10-07-2008
CruelCrow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eLLoco
Не думаю.
Вот другой кусок кода, в котором я сначла считываю данные из изображения в переменную, а потом сразу вывожу той же функцией Response.BinaryWrite(b);.
 

Код:
 
// путь до изображения
string SourceFilePath = "D:\\background.jpg";
 
// прочитаем изображение
// (откроем поток)
System.IO.FileStream fs = new System.IO.FileStream(
SourceFilePath,
System.IO.FileMode.Open,
System.IO.FileAccess.Read);
 
// создадаим массив Byte[]необходимого размера
Byte[] b = new Byte[fs.Length];
 
// запишем байты изображения в массив b
fs.Read(b, 0, b.Length);
fs.Close();
 
//Вывод результата
Response.BinaryWrite(b);
 

 
Результат - изображение видно по ссылке на файл .aspx
 
 
------------
 
Добавил команду Response.ContentType = "image/jpeg"; перед BinaryWrite. Теперь в IE изменился шрифт, а Firefox видит пустую страницу типа image/jpeg. Изображение так и не выводится.
 
------------
 
Перерыл уже, кажется, весь англо- и русскоязычный интернет в поисках решения проблемы.
Однако, даже самые экзотические варианты ведут к отображению фразы System.Byte[] вместо картинки.
 
Я начинаю подозревать, что проблема в настройках IIS или Microsoft SQL Server 2005. Вот только где?

Всего записей: 109 | Зарегистр. 21-05-2006 | Отправлено: 15:52 10-07-2008 | Исправлено: CruelCrow, 21:01 10-07-2008
BaluBig



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
fvgrod

Цитата:
Подскажи, а как вызвать WinAPI функцию на С#? Ни разу с ними не работал еще.

Есть такой чудный сайт http://www.pinvoke.net. Там Уже собраны готовые конструкции для вызова апишных функций из C# и VB.NET
 

Цитата:
директивами вида [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
То, что в квадратных скобках, называется "атрибут". Их много существует и можно создавать свои. Для того, что бы найти в MSDN описание конкретно этого атрибута, нужно поискать по слову "DllImportAttribute".
 
 
 
 
Добавлено:
Lihonosov

Цитата:
Самый простой пример -  на форме появился квадрат и его можно тягать за края, тем самым изменяя его размер, разделять на части, изменять цвет заливки и т.д.
Посмотри на исходники Paint.NET. Они доступны с некоторых пор.

Всего записей: 404 | Зарегистр. 06-02-2004 | Отправлено: 16:08 10-07-2008
CruelCrow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема решилась. Заключалась она в криворукости и невнимательнсоти.
А именно: когда я загружал изображения в БД, в SQL-запросе вместо скалярной переменной @img_data я использовал обычную вставку вида ...'"+b+"'.... Как результат: в БД оказывалась пресловутая строчка "System.Byte[]".

Всего записей: 109 | Зарегистр. 21-05-2006 | Отправлено: 23:32 10-07-2008 | Исправлено: CruelCrow, 23:32 10-07-2008
VuiDJi



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пишу проект на ASP.NET (C#). Подскажите, плз, как вообще сделать, что ы каждый час запускался какой-то скрипт? Во всем этом варюсь недавно, так что прошу ногами не пинать =)

Всего записей: 11 | Зарегистр. 01-07-2008 | Отправлено: 02:51 11-07-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru