реклама ресурса
» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET
Использую LeadTools под VB.Net.
Кто-нибудь загружал tif файлы 15-20 mb?
Пробовал в последней eval под VB.Net. Очень долго грузит. Тот же файл в кодаковском Image Pro(правда в VB6) грузится практически мгновено. Использую лидтулсовский sample проект без изменений. Может я что-то не настроил?
Кто-нибудь загружал tif файлы 15-20 mb?
Пробовал в последней eval под VB.Net. Очень долго грузит. Тот же файл в кодаковском Image Pro(правда в VB6) грузится практически мгновено. Использую лидтулсовский sample проект без изменений. Может я что-то не настроил?
Есть у кого-нибуть примеры работы с zone в LeadTools? В частности интерeсует как загружать zone для каждой страницы многостраничного файла при работе с OCR.
Кто нибудь работал с архивами?
Сейчас конкретно интересует чтение из GZIP.
Сейчас конкретно интересует чтение из GZIP.
V0lt
Цитата:
Цитата:
Кто нибудь работал с архивами?Начиная с .NET 2.0 существует System.IO.Compression.GZipStream.
Сейчас конкретно интересует чтение из GZIP.
Есть UserControl. Нужно сделать так, чтобы можно было сохранить внешний вид контрола как картинку. Есть ли быстрые и легкие решения? Если нет, то как сделать не легкий способ.
Может быть и правда делать принтскрин. только возникнетпроблема если контрол не весь попадает в видиму часть.
Может быть и правда делать принтскрин. только возникнетпроблема если контрол не весь попадает в видиму часть.
recvezitor
Есть такое оконное сообщение WM_PRINT. Оно заставляет окно отрисовать себя на переданном контексте устройства (передается как wParam сообщения). Т.е. порядок действий такой:
1. Создать тот объект, куда будет выводиться картинка.
2. Получить для созданного объекта объект Graphics.
3. Для объекта Graphics получить контекст устройства (HDC).
4. Послать нужному контролу сообщение WM_PRINT, передав контекст устройства и другие необходимые опции.
5. Освободить контекст устройства. Обязательно. GC не сделает этого за тебя => будет утечка.
6. Картинка получена, дальше делаем с ней что хотим.
Вот похожий на правду кусок кода нагуглен (выводится некая c_panel в bmp-файл):
Код:
[DllImport("user32.dll")]
public static extern int SendMessage(
IntPtr hWnd, // handle to destination window
int Msg, // message
int wParam, // first message parameter
int lParam // second message parameter
);
const int WM_PRINT =0x317;
[Flags]
enum DrawingOptions
{
PRF_CHECKVISIBLE = 0x01,
PRF_NONCLIENT = 0x02,
PRF_CLIENT = 0x04,
PRF_ERASEBKGND = 0x08,
PRF_CHILDREN = 0x10,
PRF_OWNED = 0x20
}
private void command_Click(object sender, EventArgs e)
{
Bitmap l_bmpPanel =new Bitmap(c_panel.DisplayRectangle.Width,
c_panel.DisplayRectangle.Height);
Graphics l_grpSrc =Graphics.FromImage(l_bmpPanel);
SendMessage(c_panel.Handle, WM_PRINT,
(int)l_grpSrc.GetHdc(),
(int)(DrawingOptions.PRF_OWNED |
DrawingOptions.PRF_CHILDREN | DrawingOptions.PRF_CLIENT |
DrawingOptions.PRF_NONCLIENT));
l_grpSrc.ReleaseHdc();
l_bmpPanel.Save(filename);
}
Есть такое оконное сообщение WM_PRINT. Оно заставляет окно отрисовать себя на переданном контексте устройства (передается как wParam сообщения). Т.е. порядок действий такой:
1. Создать тот объект, куда будет выводиться картинка.
2. Получить для созданного объекта объект Graphics.
3. Для объекта Graphics получить контекст устройства (HDC).
4. Послать нужному контролу сообщение WM_PRINT, передав контекст устройства и другие необходимые опции.
5. Освободить контекст устройства. Обязательно. GC не сделает этого за тебя => будет утечка.
6. Картинка получена, дальше делаем с ней что хотим.
Вот похожий на правду кусок кода нагуглен (выводится некая c_panel в bmp-файл):
Код:
[DllImport("user32.dll")]
public static extern int SendMessage(
IntPtr hWnd, // handle to destination window
int Msg, // message
int wParam, // first message parameter
int lParam // second message parameter
);
const int WM_PRINT =0x317;
[Flags]
enum DrawingOptions
{
PRF_CHECKVISIBLE = 0x01,
PRF_NONCLIENT = 0x02,
PRF_CLIENT = 0x04,
PRF_ERASEBKGND = 0x08,
PRF_CHILDREN = 0x10,
PRF_OWNED = 0x20
}
private void command_Click(object sender, EventArgs e)
{
Bitmap l_bmpPanel =new Bitmap(c_panel.DisplayRectangle.Width,
c_panel.DisplayRectangle.Height);
Graphics l_grpSrc =Graphics.FromImage(l_bmpPanel);
SendMessage(c_panel.Handle, WM_PRINT,
(int)l_grpSrc.GetHdc(),
(int)(DrawingOptions.PRF_OWNED |
DrawingOptions.PRF_CHILDREN | DrawingOptions.PRF_CLIENT |
DrawingOptions.PRF_NONCLIENT));
l_grpSrc.ReleaseHdc();
l_bmpPanel.Save(filename);
}
А неужели нет ничего "родного".Net овского. Без взывания к апишным функциям?
Добавлено:
Нашел Control.DrawToBitmap(bmp, rect);.
Только приведенный выше метод и DrawToBitmap все равно рисуют только видимую часть котрола. Если есть скроллинг, то то что не видно на котродле(то что нужно проскролить точбы увидеть) не видно
Добавлено:
Нашел Control.DrawToBitmap(bmp, rect);.
Только приведенный выше метод и DrawToBitmap все равно рисуют только видимую часть котрола. Если есть скроллинг, то то что не видно на котродле(то что нужно проскролить точбы увидеть) не видно
Доброго времени суток, уважаемые. Очень хочу освоить DirectShow.
Подскажите куда копать и с чего начинать.
За ранее спс.
Подскажите куда копать и с чего начинать.
За ранее спс.
Люди вот делаю коннект к файлу базы данных на жёстком диске. Всё как обычно, строку подключения взял с connectionstrings.com. Вылетает ошибка что процесс не может получить доступ к файлу базы данных. Не пойму в чём ошибка, мне что нужно в самой программе права на эту директорию поставить?
Добавлено:
ой и правда, перенёс в папку с программой всё пашет. Всё равно нелогично что ли. Программа работает из под моей учётки, а у меня права есть...
Добавлено:
Надеюь кто нить тыкнет носом, я уже не надеюсь что сам разберусь. При отладке на последн. строке вылетает invalid cast exception. В таблице у userID тип Int
SqlCommand command1 = new SqlCommand("SELECT userID,username FROM logins WHERE userID=@userID)", connection);
// command1.Parameters.Add(new SqlParameter("@username", username));
command1.Parameters.Add(new SqlParameter("@userID", SqlDbType.Int).Value = 3);
Добавлено:
ой и правда, перенёс в папку с программой всё пашет. Всё равно нелогично что ли. Программа работает из под моей учётки, а у меня права есть...
Добавлено:
Надеюь кто нить тыкнет носом, я уже не надеюсь что сам разберусь. При отладке на последн. строке вылетает invalid cast exception. В таблице у userID тип Int
SqlCommand command1 = new SqlCommand("SELECT userID,username FROM logins WHERE userID=@userID)", connection);
// command1.Parameters.Add(new SqlParameter("@username", username));
command1.Parameters.Add(new SqlParameter("@userID", SqlDbType.Int).Value = 3);
085
Цитата:
Цитата:
Цитата:
Заменить на
command1.Parameters.AddWithValue("@userID", 3);
Оно велеколепно разберется с типом само.
Цитата:
Люди вот делаю коннект к файлу базы данных на жёстком диске. Всё как обычно, строку подключения взял с connectionstrings.com. Вылетает ошибка что процесс не может получить доступ к файлу базы данных. Не пойму в чём ошибка, мне что нужно в самой программе права на эту директорию поставить?Какая СУБД, кто провайдер, какая строка подключения? Телепатические способности редко у людей встречаются...
Цитата:
SqlCommand command1 = new SqlCommand("SELECT userID,username FROM logins WHERE userID=@userID)", connection);Вижу лишнюю скобку в конце запроса...
Цитата:
command1.Parameters.Add(new SqlParameter("@userID", SqlDbType.Int).Value = 3);
Заменить на
command1.Parameters.AddWithValue("@userID", 3);
Оно велеколепно разберется с типом само.
BaluBig - Какая СУБД, кто провайдер, какая строка подключения? Телепатические способности редко у людей встречаются...
Спасибо за ответ.Да МССКУЭЛЬ, уже просто по привычке не указываю. Сам допёр и сделал так как вы пишите,
Ксати вот строка.
const string connectionString = @"Server=.\SQLExpress;AttachDbFilename=C:\Documents and Settings\user\Мои документы\Visual Studio 2008\Projects\WindowsFormsApplication1\mydbfile.mdf; Database=mydbfile; Integrated Security=SSPI;User Instance=True;";
Отлаживаю работает, если остановить а потом снова запустить дебаг опять вылетает что нет доступа. Не смертельно, но что то не понял почему так.
Спасибо за ответ.Да МССКУЭЛЬ, уже просто по привычке не указываю. Сам допёр и сделал так как вы пишите,
Ксати вот строка.
const string connectionString = @"Server=.\SQLExpress;AttachDbFilename=C:\Documents and Settings\user\Мои документы\Visual Studio 2008\Projects\WindowsFormsApplication1\mydbfile.mdf; Database=mydbfile; Integrated Security=SSPI;User Instance=True;";
Отлаживаю работает, если остановить а потом снова запустить дебаг опять вылетает что нет доступа. Не смертельно, но что то не понял почему так.
Подскажите пожалуйста каким компонентом можно без лишнего гемороя переконвертить HTML в PDF?
Цитата:
Ксати вот строка.Я не уверен на 100%, но по-моему параметр Database=mydbfile лишний и переопределяет AttachDbFilename. Его можно убрать, а если хочется как-то поименовать базу, то можно использовать Initial Catalog=<имя базы>. А вообще существует класс SqlConnectionStringBuilder, который можно использовать для формирования строки подключения, что бы не угадывать.
const string connectionString = @"Server=.\SQLExpress;AttachDbFilename=C:\Documents and Settings\user\Мои документы\Visual Studio 2008\Projects\WindowsFormsApplication1\mydbfile.mdf; Database=mydbfile; Integrated Security=SSPI;User Instance=True;";
meskallito
Цитата:
Из бесплатного посмотрите http://www.codeproject.com/KB/cs/pdfizer.aspx
Из коммерческих http://www.html-to-pdf.net/
Цитата:
Подскажите пожалуйста каким компонентом можно без лишнего гемороя переконвертить HTML в PDF?
Из бесплатного посмотрите http://www.codeproject.com/KB/cs/pdfizer.aspx
Из коммерческих http://www.html-to-pdf.net/
подскажите, пожалуйста, бесплатный качественный OLE DB провайдер.
frolns
Они разные для разных баз данных. Для какой нужно?
Для некоторых они поставляются вместе с Windows и являются "бесплатными", т.е. входят в стоимость Windows.
Они разные для разных баз данных. Для какой нужно?
Для некоторых они поставляются вместе с Windows и являются "бесплатными", т.е. входят в стоимость Windows.
дайте пожалуйста какой нибудь пример или ссылку что бы разобраться как делать приложения word2003 на С#. В мсдне рылся, но ничего конкретного не смог найти.
Конкретно не могу понять как работать со строками.
Конкретно не могу понять как работать со строками.
085
Импортируй соответствующие офисные длл-ки и работай посредством их возможностей. Я, по крайней мере, делал так.
Но, вообще говоря, тема это довольно муторная.
Импортируй соответствующие офисные длл-ки и работай посредством их возможностей. Я, по крайней мере, делал так.
Но, вообще говоря, тема это довольно муторная.
Как добовить на странице кнопку(рабочую): "добовить новость", "добавить фото", на javascript. или похожем языке?
Вот столкнулся с такой проблемой...
Задача:
Есть веб-сервер в домене. Я пишу для него скрипт на с#/asp.net, который должен с помощью WMI/Win32 подключиться к удалённому компьютеру и получить с него данные о системе (память, процессор, ОС и т.п.).
Код:
Код:
ManagementScope scope = new ManagementScope("\\\\" + compName + "\\root\\cimv2");
scope.Connect();
Задача:
Есть веб-сервер в домене. Я пишу для него скрипт на с#/asp.net, который должен с помощью WMI/Win32 подключиться к удалённому компьютеру и получить с него данные о системе (память, процессор, ОС и т.п.).
Код:
Код:
ManagementScope scope = new ManagementScope("\\\\" + compName + "\\root\\cimv2");
scope.Connect();
CruelCrow
Чтобы сайт стандартно запрашивал доменное имя и пароль, надо сменить у web-приложения аутентификацию с Forms на Windows (IE вероятно даже и окно логина не станет показывать, а Firefox спросит), делается это в web.config:
<configuration>
<system.web>
<authentication mode="Windows" />
</system.web>
</configuration>
и в свойствах сайта IIS > Directory Security > Authentication and access control > Integrated Windows authentication.
Имя юзера потом можно получить так: System.Web.HttpContext.Current.User.Identity.Name
С передачей всего этого в WMI не работал, так что не подскажу, пробовать надо...
Чтобы сайт стандартно запрашивал доменное имя и пароль, надо сменить у web-приложения аутентификацию с Forms на Windows (IE вероятно даже и окно логина не станет показывать, а Firefox спросит), делается это в web.config:
<configuration>
<system.web>
<authentication mode="Windows" />
</system.web>
</configuration>
и в свойствах сайта IIS > Directory Security > Authentication and access control > Integrated Windows authentication.
Имя юзера потом можно получить так: System.Web.HttpContext.Current.User.Identity.Name
С передачей всего этого в WMI не работал, так что не подскажу, пробовать надо...
EZH
Windows аутентификация и так включена, всё работает именно так, как ты описал. Еслм зайтм на сайт несоответсвующим юзером, то запрос выдаётся. Проблема именно с WMI.
Windows аутентификация и так включена, всё работает именно так, как ты описал. Еслм зайтм на сайт несоответсвующим юзером, то запрос выдаётся. Проблема именно с WMI.
Выставляю PageUnit в миллиметры:
graphics.PageUnit = GraphicsUnit.Millimeter;
Смотрю в дебаге graphics.VisibleClipBounds - возвращает нереально большое занчение для миллиметров, VisibleClipBounds так и остался в Pixel-ях. Порылся в нете - вызов graphics.ResetTransform(); перед получением graphics.VisibleClipBounds иногда помогает, но не всегда.
Может кто сталкивался и подскажет, как получить VisibleClipBounds в тех PageUnit-ах, которые указал.
.Net Framework 3.5SP1
Спасибо.
graphics.PageUnit = GraphicsUnit.Millimeter;
Смотрю в дебаге graphics.VisibleClipBounds - возвращает нереально большое занчение для миллиметров, VisibleClipBounds так и остался в Pixel-ях. Порылся в нете - вызов graphics.ResetTransform(); перед получением graphics.VisibleClipBounds иногда помогает, но не всегда.
Может кто сталкивался и подскажет, как получить VisibleClipBounds в тех PageUnit-ах, которые указал.
.Net Framework 3.5SP1
Спасибо.
Цитата:
как получить VisibleClipBounds в тех PageUnit-ах, которые указал.Ну раз такое дело, я бы воспользовался пропертями Graphics.DpiX и Graphics.DpiY и пересчитывал сам.
Народ подскажите как сделать быструю выборку, есть массив чисел ID в шарпе нужно все эти ID-шники выбрать в базе Access и дальше работать с этой выборкой (ADO.Net). Объектов 200 000 и это не предел, как можно создать такой запрос на выборку в шарпе.
BaluBig, спасибо, видимо так и придется, ручками. Но хотелось-то по человечески. ((:
AlexandrVS
Я правильно понимаю, что тебе хочется построить запрос типа
Код: select * from SomeTable where id in (много разных id из массива)
Я правильно понимаю, что тебе хочется построить запрос типа
Код: select * from SomeTable where id in (много разных id из массива)
BaluBig да ты прав подстановка строки из 69000 элементов будет мне кажется сильно жестоко, просто если бы это был ms sql в принципе можно использовать хранимые процедуры, а в access я пока кроме как тупо создавать каждый раз временную таблицу и заполнять её id из массива, а потом выполнять запрос на слияние и с этим работать другого выхода не вижу (или не знаю ) Просто у меня есть графический слой с объектами, которые с базой могут связаться только с помощью ID (int32), я видел как быстро такую штуку отрабатывают разные ГИСы, но не знаю как они это делают. На данный момент максимальный массив может состоять из 69000 элементов, таже mapinfo за секунду отрабатывает по 500 000 элементов.
AlexandrVS
У MapInfo есть свои расширения SQL языка функциями работы с геоинформаций. Т.е. когда ему нужны объекты определенного слоя и, скажем, с заданным пользователем свойством для выборки, он не выбирает все, а прежде всего отсекает те, что не попадают в видимую область карты и количество обрабатываемых ID становится не таким страшным. Это легко наблюдать, когда включены все слои и не настроена зависимость отображения слоя от масштаба.
У MapInfo есть свои расширения SQL языка функциями работы с геоинформаций. Т.е. когда ему нужны объекты определенного слоя и, скажем, с заданным пользователем свойством для выборки, он не выбирает все, а прежде всего отсекает те, что не попадают в видимую область карты и количество обрабатываемых ID становится не таким страшным. Это легко наблюдать, когда включены все слои и не настроена зависимость отображения слоя от масштаба.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
Предыдущая тема: Как удалить/добавить/отключить/включить устройство?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.