Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Декабрь 2011 → | ||||||
1
|
3
|
4
|
||||
---|---|---|---|---|---|---|
5
|
6
|
7
|
8
|
10
|
11
|
|
12
|
13
|
14
|
15
|
17
|
18
|
|
19
|
20
|
21
|
22
|
24
|
25
|
|
26
|
27
|
28
|
29
|
31
|
Статистика
-1 за неделю
Программирование (VB,C#,ASP,.NET): новости, советы, примеры
Выпуск # 668Приветствую вас, любители высоких технологий! Вот и очередной выпуск рассылки. За неделю на сайте появилось много новых и интересных материалов, некоторые из которых вы сможете увидеть в этом выпуске. Содержание выпускаЧитайте в этом выпуске: Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.Форумы Kbyte.RuНа форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки. Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий. Задать свой вопрос прямо сейчас Классы db.foxtools.ru @nemo 15.12.2011 12:23 Алексей, а не могли бы Вы небольшой пример привести к тексту: "...Тогда целесообразно сделать в классе Users коллекцию Computers..."
со статьи "Ведение журнала изменений объектов в .NET Framework". Классы очень удобные для работы, а вот с коллекциями не разберусь. Привязка только по одному ключевому полю ведь. Или я что-то не так понял. С уважением. Ответ #1 @Aleksey Nemiro 15.12.2011
13:11 Коллекции автоматически не создаются, придется добавлять руками. В главном классе, нужно создать перегрузку методов Load и Save, в котором прописать код сохранения коллекций. Public Overloads Sub Load() MyBase.Load() ' грузим основные данные 'грузим коллекцию 'допустим коллекция Cities Me.Cities = new List(Of City)' инициализация коллекции (Citites - это свойство класса типа new List(Of City), где City - класс представляющий таблицу City) 'получаем данные Using myConn As New SqlConnection(_ConnectionString) myConn.Open() Dim myCmd As New SqlCommand("SELECT * FROM cities", myConn) Dim DA As New SqlDataAdapter(myCmd) Dim DT As New DataTable() DA.Fill(DT) 'листаем полученные данные циклом и добавляем в коллекцию For Each r As DataRow in DT.Rows Me.Cities.Add(New City(r)) 'так лучше 'но если не выйдет, или будет непонятно, можно и так: 'Me.Cities.Add(New City(r("id_cities"))) 'где id_cities - ключевое поле (идентификатор, primary key, identity) таблицы cities Next End Using 'но лучше грузить сразу все из DataSet, одним запросом (для повышения производительности) End Sub Public Overloads Sub Save() 'основные данные MyBase.Save() 'коллекция If Me.Cities Is Nothing Then Return ' нету данных For Each c As City In Me.Cities c.Save()'возможно потребуется установка связи класса коллекции с основным классом (например, если основной класс countries, то видимо нужно будет передать в класс city код страны, прежде чем сохранять город) Next End Sub Public Sub Load(r As DataRow) For Each p As PropertyInfo In Me.GetType().GetProperties() Dim atr As SqlColumnAttribute = GetColumnAttribute(p) If atr IsNot Nothing Then p.SetValue(Me, r(atr.ColumnName), Nothing) End If Next End Sub PS: Приведенные здесь фрагменты кода я на работоспособность не проверял. Ответ #2 @Aleksey Nemiro 15.12.2011 13:16 В статье похоже ссылка на пример битая, если нужно, пример прикреплен к этому сообщению. Ответ #3 @nemo 15.12.2011 13:22 Спасибо
большое за ответ. Буду разбираться. Ошибка выполнения microsoft vbscript @chag_alex 13.12.2011 12:35 У меня Windows 7 Домашняя. При попытки загрузить Adobe Photoshop CS5 появляется: "Ошибка выполнения Microsoft VBScript". Что делать? Помогите плз с макросом access 2007 @vipolitov 12.12.2011 18:42 Доброго времени суток! Обстоятельства сложились таким образом что пришлось создавать базу данных по учету аварийности на предприятии. Все бы ничего если бы не два минуса: 1. Я Полный чайник в ACCESS, 2. Предприятие с большим парком автомобилей и своеобразной спецификой их эксплуатации. от сюда возникло несколько проблемм: 1.)База заполняется сейчас как обычно из формы, вот только необходимо сделать одну особенность Занесение в базу должно происходить не постепенно (по мере заполнения полей) а за 1 раз только после того как заполнится форма целиком Видится тут нужно писать макрос для добавления значений из формы в соответствующие графы таблицы БД. Вот тут у меня не хватает познаний. 2.) Как реализовать функцию автоподстановки при которой из одной таблицы будут автоматически подставляться данные в другую, сввязанную с ней по ключ полю?. Перенос БД в папку App_Data (ASP.net) @Павел 12.12.2011 12:55 Столкнулся с очередной проблемой. Как я уже писал ранее, я работаю над созданием Веб - телефонной книги. Я поборол ADO.Net, но теперь столкнулся с вопросом распределения прав пользователей. Я, конечно, долго вникал как организована авторизация в ASP.Net Майкрософт, но когда немного разобрался, то понял, что ребята серьезно поработали над безопасностью. Я понял, что моя таблица пользователей с простым хранением паролей и прав просто детский сад. Решил внедрить предлагаемый Майкрософтом вариант работы с пользователями, но столкнулся с проблемами. Создал SQLскрипт, который создает все объекты моей старой БД + данные. В VS создал БД ASPNETDB в папке App_Data. Запускаю скрипт - пишет не может найти такую БД. Пытаюсь подключиться к этой БД через SQL Server ManagementStudio - пишет ошибку 5120. 1. Как перенести свою базу в базу ASPNETDB в папке App_Data? Насколько я понял, что путь в webconfig будет теперь выглядеть примерно так: <connectionStrings> <add name="AddressBookString" connectionString="data source=.\SQLEXPRESS;Integrated Security=true;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> </connectionStrings> Ответ #1 @Aleksey Nemiro 12.12.2011 13:19 А как ты раньше программно подключался к SQL Server? :) Видимо базу нужно подключить к SQL Server в MS SQL Server Management Studio. Что касается безопасности, то золотое правило - не хранить пароли в открытом виде в базе, лучше хранить хеш, или шифровать их (последнее выйдет дороже, в плане производительности). С хешем проще. Например, можно использовать MD5. Ответ #2 @Павел 12.12.2011 20:11 "Видимо базу нужно подключить к SQL Server в MS SQL Server Management Studio." Как раз это и не получается. "Пытаюсь подключиться к этой БД через SQL Server ManagementStudio - пишет ошибку 5120." Ответ #3 @Aleksey Nemiro 12.12.2011 22:35 Значит прав не хватает. Нужно в проводнике Windows войти в свойства файла БД (aspnetdb.mdf) и поставить разрешение на доступ
к нему SQL Server. Кому давать права (имя пользователя), можно посмотреть в свойствах файлов бд, которые лежат в папке C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA (путь может быть другим, в зависимости от версии). Еще можно попробовать приаттачить базу, запустив MS SQL Server Management Studio из под администратора. Ответ #4 @Павел 14.12.2011 11:06 Нашел другой способ. Есть такая утилита aspnet_regsql.exe (лежит в папке windows/microsoft.net/frameworks/4.x.x). Она или создает или добавляет к существующей БД таблицы, необходимые для работы с пользователями. Как задать качество сохранения в Jpeg? @Rotgar405 11.12.2011 02:18 Всем доброй ночи суть вопроса такова: при сохранении картинки в Jpeg слишком низкое качество как им управлять? Просьба
не говорить про bmp. Ответ #1 @Aleksey Nemiro 11.12.2011 12:22 Public Sub Main() Dim myImage As Image = Image.FromFile("C:\image.bmp") 'укажите файл, или изображение Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter Dim myEncoderParameters As New System.Drawing.Imaging.EncoderParameters(1) Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo myImageCodecInfo = GetEncoderInfo(System.Drawing.Imaging.ImageFormat.Jpeg) myEncoderParameter = New System.Drawing.Imaging.EncoderParameter(myEncoder, CType(75L, Integer))'75 - качество изображение, от 0 до 100 myEncoderParameters.Param(0) = myEncoderParameter myImage.Save("C:\kbyte.jpg", myImageCodecInfo, myEncoderParameters) End Sub Private Function GetEncoderInfo(ByVal format As System.Drawing.Imaging.ImageFormat) As System.Drawing.Imaging.ImageCodecInfo Dim j As Integer Dim encoders() As System.Drawing.Imaging.ImageCodecInfo encoders = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders() j = 0 While j < encoders.Length If encoders(j).FormatID = format.Guid Then Return encoders(j) End If j += 1 End While Return Nothing End Function 'GetEncoderInfo Исходные кодыКак в DataGridView изменить тип столбца на DataGridViewLinkColumn?Visual Basic .NET: Базы данных @roma_rio 13.12.2011 14:36 При создании столбцов DataGridView средствами студии, тип столбца без проблем можно указать. В этом примере показано, как изменить тип столбца программно.Private Sub FillGridUrl() db = New SqlCeConnection("Data Source=" & PathToDataBase) Dim comand As New SqlCeCommand("SELECT url_id, url_name, url_prim FROM urls", db) Dim adapter As New SqlCeDataAdapter(comand) Dim dataset As New DataSet adapter.Fill(dataset, "urls") With GridViewUrl .DataSource = dataset .DataMember = "urls" .Columns(0).Visible = False .Columns(1).Visible = False End With Dim column As New DataGridViewLinkColumn column.DataPropertyName = "url_name" column.HeaderText = "Ссылка" GridViewUrl.Columns.Add(column) db.Close() GridViewUrl.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill End Sub Как задать качество JPEG?Visual Basic .NET: Графика @Команда Kbyte.Ru 11.12.2011 12:20 Данный пример показывает, как на Visual Basic .NET сохранить изображение в формате JPEG с определенной степенью сжатия. Чем выше сжатие,
тем меньше размер файла картинки, но тем хуже качество изображения. В примере можно указывать качество изображения в диапазоне от 0 до 100.Public Sub Main() Dim myImage As Image = Image.FromFile("C:\image.bmp") 'укажите файл, или изображение Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter Dim myEncoderParameters As New System.Drawing.Imaging.EncoderParameters(1) Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo myImageCodecInfo = GetEncoderInfo(System.Drawing.Imaging.ImageFormat.Jpeg) myEncoderParameter = New System.Drawing.Imaging.EncoderParameter(myEncoder, CType(75L, Integer))'75 - качество изображение, от 0 до 100 myEncoderParameters.Param(0) = myEncoderParameter myImage.Save("C:\kbyte.jpg", myImageCodecInfo, myEncoderParameters) End Sub Private Function GetEncoderInfo(ByVal format As System.Drawing.Imaging.ImageFormat) As System.Drawing.Imaging.ImageCodecInfo Dim j As Integer Dim encoders() As System.Drawing.Imaging.ImageCodecInfo encoders = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders() j = 0 While j < encoders.Length If encoders(j).FormatID = format.Guid Then Return encoders(j) End If j += 1 End While Return Nothing End Function 'GetEncoderInfo Алгоритм ЕвклидаVisual Basic 5.0/6.0: Простые математические операции @Петр (Skript) Пономарев 11.12.2011 03:36 Программа вычисляет дискриминант и дроби.Dim n As Double Dim m As Double Private Sub Command1_Click() m = InputBox("Введите значение первого числа") n = InputBox("Введите значение второго числа") While (m <> 0) And (n <> 0) If m > n Then m = m - n End If n = n - m Wend Print m End Sub Вакансии в ITПрограммист filemakerРоссия, Москва | Работа в офисе Тестировщик - программистРоссия, Москва | Работа в офисе | 55 000.00 RUB Программист базы данных 1С8Россия, Москва | Работа в офисе Инженер-программист (для кодов систем видеонаблюдения)Россия, Москва | Работа в офисе | 55 000.00 RUB Ведущий инженер-программистРоссия, Москва | Работа в офисе | 33 000.00 RUB Инженер программист (наладчик) АСУ и КИПиАРоссия, Москва | Работа в офисе | 40 000.00 RUB Программист . NetРоссия, Москва | Работа в офисе Программист ClarionРоссия, Москва | Работа в офисе | 55 300.00 RUB Java-программистРоссия, Москва | Работа в офисе ПрограммистРоссия,
Москва | Работа в офисе Все вакансии в IT · Новости мира ITMicrosoft запустила интернет-проект Answer Desk
Корпорация Microsoft запустила новый технический сайт поддержки, где зарегистрированные эксперты могут проводить платные 1- или 2-часовые сессии, направленные на оказание услуг "народной техподдержки". В рамках данной услуги, эксперты могут оказывать услуги по настройке Windows и Office, удалять вредоносное ПО с компьютера и решать другие распространенные проблемы. Стоимость технической консультации составляет 99 долларов.
Система Answer Desk была запущена корпорацией без каких-либо дополнительных анонсов и официальных заявлений, о новом проекте не было сообщено даже в соответствующем разделе, посвященном Windows. Как сообщает сайт Fusible.com, система Answer Desk была запущена в прошлую среду на базе технологий компании NameRally, купленной Microsoft в сентябре прошлого года. 15.12.2011 11:17 · Категория: Бизнес в IT · Источник: CyberSecurity.ru Эксперты говорят о росте популярности Java-эксплоитов и опасных PDFАнтивирусная компания G Data Software представила очередной ежемесячный отчет о наиболее опасных и популярных вредоносах в ноябре 2011 года. Каждый 10-ый зловред, который пробирается на компьютер пользователя, является участником ноябрьского Top10 от G Data SecurityLabs и каждый 25-ый – использует уязвимость CVE 2010-0840, обновления для которой были выпущены компанией Oracle в марте 2010 года. Иными словами, киберпреступники опять полагаются на неаккуратность пользователей в обновлении программ на своем ПК и невнимательностью в работе с самозапускаемыми файлами.
«CVE 2010-0840 уже давно используется в охоте на пользователей, – рассказывает Ральф Бенцмюллер, руководитель лаборатории безопасности G Data SecurityLabs. – Но для преступников эта уязвимость в Java до сих пор остается ключевой, так как пользователи недостаточно внимательно относятся к обновлению ПО, и оставляют всезаводские настройки «по умолчапнию». Дело в том, что эксплоит Exploit.CV E-2010-0840.E, который в ноябре стал лидером нашего рейтинга, автоматические закачивает вредоносное
ПО на компьютер, обходя механизмы защиты песочницы. После активации, он начинает закачивать зловредов, которые регистрируют себя в качестве сервиса с помощью Microsoft Register Server. Поэтому, используя настройки автозапуска файлов при включении системы, которые изначально не были отключены пользователем, вредоносный код при активации системы начинает закачиваться автоматически». 15.12.2011 11:17 · Категория: Безопасность · Источник: CyberSecurity.ru Антивирусная компания предупреждает об ИТ-атаке NitroАнтивирусная компания Symantec обнародовала данные об обнаружении крупномасштабной таргетированной атаки, ориентированной на кражу данных у химических и оборонно-промышленных компаний. Новая атака с условными названием Nitro была запущена еще в конце апреля, но сначала она была ориентирована на правозащитные организации и лишь потом ее создатели переориентировались на промышленность.
По данным Symantec, атака начала реализовываться с прицелом на промышленные компании с конца июля. С тех пор в ее фокус попали 29 компаний в 19 отраслях, в том числе химической и оборонной. Достоверно известно, что за несколько месяцев атакующим удалось заразить более сотни промышленных компьютеров и похитить с них данные. 15.12.2011 11:15 · Категория: Безопасность · Источник: CyberSecurity.ru
Подпишитесь на тематические RSS-ленты Kbyte.Ru, чтобы быть в курсе последних новостей: Основная лента · Форумы (темы и сообщения) · Visual Basic 5.0/6.0 · Visual Basic .NET · C# (Си шарп) · Delphi · JavaScript · ActionScript · ASP .NET · ASP .NET MVC Ищите Kbyte.Ru в социальных сетях FaceBook, ВКонтакте, Twitter. Если вы занимаетесь программированием, то наверняка вам пригодятся хитрые инструменты. Международный портал для программистов и разработчиков Kbyte.Ru основан в 2006 году. Целью портала является объединение программистов и специалистов IT-бизнеса, студентов и преподавателей для обмена опытом и знаниями, оказания помощи во всех делах и начинаниях в области IT. |
В избранное | ||