Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: serqei35
Дата сообщения: 17.12.2008 15:18
реклама ресурса
Автор: dneprcomp
Дата сообщения: 18.12.2008 05:11
Использую LeadTools под VB.Net.
Кто-нибудь загружал tif файлы 15-20 mb?
Пробовал в последней eval под VB.Net. Очень долго грузит. Тот же файл в кодаковском Image Pro(правда в VB6) грузится практически мгновено. Использую лидтулсовский sample проект без изменений. Может я что-то не настроил?
Автор: dneprcomp
Дата сообщения: 18.12.2008 23:19
Есть у кого-нибуть примеры работы с zone в LeadTools? В частности интерeсует как загружать zone для каждой страницы многостраничного файла при работе с OCR.
Автор: V0lt
Дата сообщения: 21.12.2008 10:08
Кто нибудь работал с архивами?
Сейчас конкретно интересует чтение из GZIP.
Автор: BaluBig
Дата сообщения: 21.12.2008 11:26
V0lt

Цитата:
Кто нибудь работал с архивами?
Сейчас конкретно интересует чтение из GZIP.
Начиная с .NET 2.0 существует System.IO.Compression.GZipStream.

Автор: recvezitor
Дата сообщения: 21.12.2008 12:58
Есть UserControl. Нужно сделать так, чтобы можно было сохранить внешний вид контрола как картинку. Есть ли быстрые и легкие решения? Если нет, то как сделать не легкий способ.
Может быть и правда делать принтскрин. только возникнетпроблема если контрол не весь попадает в видиму часть.
Автор: BaluBig
Дата сообщения: 21.12.2008 15:23
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);
}
Автор: recvezitor
Дата сообщения: 22.12.2008 01:38
А неужели нет ничего "родного".Net овского. Без взывания к апишным функциям?

Добавлено:
Нашел Control.DrawToBitmap(bmp, rect);.
Только приведенный выше метод и DrawToBitmap все равно рисуют только видимую часть котрола. Если есть скроллинг, то то что не видно на котродле(то что нужно проскролить точбы увидеть) не видно
Автор: Monvid
Дата сообщения: 22.12.2008 02:39
Доброго времени суток, уважаемые. Очень хочу освоить DirectShow.
Подскажите куда копать и с чего начинать.
За ранее спс.
Автор: 085
Дата сообщения: 22.12.2008 06:58
Люди вот делаю коннект к файлу базы данных на жёстком диске. Всё как обычно, строку подключения взял с 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);
Автор: BaluBig
Дата сообщения: 22.12.2008 09:46
085

Цитата:
Люди вот делаю коннект к файлу базы данных на жёстком диске. Всё как обычно, строку подключения взял с 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);
Оно велеколепно разберется с типом само.
Автор: 085
Дата сообщения: 22.12.2008 13:29
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;";
Отлаживаю работает, если остановить а потом снова запустить дебаг опять вылетает что нет доступа. Не смертельно, но что то не понял почему так.
Автор: meskallito
Дата сообщения: 22.12.2008 17:15
Подскажите пожалуйста каким компонентом можно без лишнего гемороя переконвертить HTML в PDF?
Автор: BaluBig
Дата сообщения: 22.12.2008 17:30

Цитата:
Ксати вот строка.
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;";
Я не уверен на 100%, но по-моему параметр Database=mydbfile лишний и переопределяет AttachDbFilename. Его можно убрать, а если хочется как-то поименовать базу, то можно использовать Initial Catalog=<имя базы>. А вообще существует класс SqlConnectionStringBuilder, который можно использовать для формирования строки подключения, что бы не угадывать.
Автор: cryptonium
Дата сообщения: 23.12.2008 11:14
meskallito

Цитата:

Подскажите пожалуйста каким компонентом можно без лишнего гемороя переконвертить HTML в PDF?


Из бесплатного посмотрите http://www.codeproject.com/KB/cs/pdfizer.aspx
Из коммерческих http://www.html-to-pdf.net/
Автор: frolns
Дата сообщения: 23.12.2008 22:16
подскажите, пожалуйста, бесплатный качественный OLE DB провайдер.
Автор: MrZeRo
Дата сообщения: 24.12.2008 10:44
frolns
Они разные для разных баз данных. Для какой нужно?
Для некоторых они поставляются вместе с Windows и являются "бесплатными", т.е. входят в стоимость Windows.
Автор: 085
Дата сообщения: 26.12.2008 06:29
дайте пожалуйста какой нибудь пример или ссылку что бы разобраться как делать приложения word2003 на С#. В мсдне рылся, но ничего конкретного не смог найти.
Конкретно не могу понять как работать со строками.
Автор: Mike13x13
Дата сообщения: 02.01.2009 12:48
085
Импортируй соответствующие офисные длл-ки и работай посредством их возможностей. Я, по крайней мере, делал так.
Но, вообще говоря, тема это довольно муторная.
Автор: tau34
Дата сообщения: 04.01.2009 08:36
Как добовить на странице кнопку(рабочую): "добовить новость", "добавить фото", на javascript. или похожем языке?
Автор: CruelCrow
Дата сообщения: 06.01.2009 15:21
Вот столкнулся с такой проблемой...
Задача:
Есть веб-сервер в домене. Я пишу для него скрипт на с#/asp.net, который должен с помощью WMI/Win32 подключиться к удалённому компьютеру и получить с него данные о системе (память, процессор, ОС и т.п.).
Код:

Код:
ManagementScope scope = new ManagementScope("\\\\" + compName + "\\root\\cimv2");
scope.Connect();
Автор: EZH
Дата сообщения: 06.01.2009 23:29
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 не работал, так что не подскажу, пробовать надо...
Автор: CruelCrow
Дата сообщения: 07.01.2009 13:29
EZH
Windows аутентификация и так включена, всё работает именно так, как ты описал. Еслм зайтм на сайт несоответсвующим юзером, то запрос выдаётся. Проблема именно с WMI.
Автор: Lazy KoT
Дата сообщения: 08.01.2009 19:05
Выставляю PageUnit в миллиметры:
graphics.PageUnit = GraphicsUnit.Millimeter;
Смотрю в дебаге graphics.VisibleClipBounds - возвращает нереально большое занчение для миллиметров, VisibleClipBounds так и остался в Pixel-ях. Порылся в нете - вызов graphics.ResetTransform(); перед получением graphics.VisibleClipBounds иногда помогает, но не всегда.
Может кто сталкивался и подскажет, как получить VisibleClipBounds в тех PageUnit-ах, которые указал.

.Net Framework 3.5SP1

Спасибо.


Автор: BaluBig
Дата сообщения: 09.01.2009 09:34

Цитата:
как получить VisibleClipBounds в тех PageUnit-ах, которые указал.
Ну раз такое дело, я бы воспользовался пропертями Graphics.DpiX и Graphics.DpiY и пересчитывал сам.
Автор: AlexandrVS
Дата сообщения: 09.01.2009 15:53
Народ подскажите как сделать быструю выборку, есть массив чисел ID в шарпе нужно все эти ID-шники выбрать в базе Access и дальше работать с этой выборкой (ADO.Net). Объектов 200 000 и это не предел, как можно создать такой запрос на выборку в шарпе.
Автор: Lazy KoT
Дата сообщения: 09.01.2009 16:29
BaluBig, спасибо, видимо так и придется, ручками. Но хотелось-то по человечески. ((:
Автор: BaluBig
Дата сообщения: 09.01.2009 22:26
AlexandrVS
Я правильно понимаю, что тебе хочется построить запрос типа

Код: select * from SomeTable where id in (много разных id из массива)
Автор: AlexandrVS
Дата сообщения: 10.01.2009 09:59
BaluBig да ты прав подстановка строки из 69000 элементов будет мне кажется сильно жестоко, просто если бы это был ms sql в принципе можно использовать хранимые процедуры, а в access я пока кроме как тупо создавать каждый раз временную таблицу и заполнять её id из массива, а потом выполнять запрос на слияние и с этим работать другого выхода не вижу (или не знаю ) Просто у меня есть графический слой с объектами, которые с базой могут связаться только с помощью ID (int32), я видел как быстро такую штуку отрабатывают разные ГИСы, но не знаю как они это делают. На данный момент максимальный массив может состоять из 69000 элементов, таже mapinfo за секунду отрабатывает по 500 000 элементов.
Автор: EZH
Дата сообщения: 10.01.2009 15:09
AlexandrVS
У MapInfo есть свои расширения SQL языка функциями работы с геоинформаций. Т.е. когда ему нужны объекты определенного слоя и, скажем, с заданным пользователем свойством для выборки, он не выбирает все, а прежде всего отсекает те, что не попадают в видимую область карты и количество обрабатываемых ID становится не таким страшным. Это легко наблюдать, когда включены все слои и не настроена зависимость отображения слоя от масштаба.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.