Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры


Выпуск # 731

Очередной выпуск рассылки! За последнее время на сайте произошло столько всего, столько всего, что все просто не уместилось в этот выпуск! Но ничего, ведь вы всегда можете ознакомиться со всеми обновлениями непосредственно посетив сайт. Кстати, помимо изменения в содержании Kbyte.Ru, появлении новых интересных материалов, проект постоянно совершенствуется технически, и вы можете принять в этом непосредственное участие, присылая свои идеи и предложения.
Надеюсь, этот выпуск будет интересен для вас. Если вы хотите увидеть в следующих выпусках что-то конкретное, напишите мне об этом на ящик subscribe@kbyte.ru.


Содержание выпуска

Читайте в этом выпуске:

Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.

Форумы Kbyte.Ru

На форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки.

Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий.

Задать свой вопрос прямо сейчас

Привет всем!!!
У меня есть cisco 881с.
Как его настроит консольно?
Спасибо!

[- к содержанию -]

AeroGlass in WPF @Shark1 10.06.2013 18:55
Возникла проблемка с AeroGlass в WPF окне. При чем точно такой-же код только на C# работает, а вот на VB.Net не хочет. Ниже приведу код. Обрабатываю ошибку - не выскакивает ... Если раскоментировать строчку "MessageBox.Show(DwmIsCompositionEnabled, Nothing)" то можно увидеть, что MARGINS меняется, но при закрытии сообщения окно снова черное ...

Буду признателен за подсказку ...

Код :

Imports System.Runtime.InteropServices
Imports System.Windows
Imports System.Windows.Interop

Class MainWindow
    Public Const DWM_BB_ENABLE As UInteger = &H1
    Public Const DWM_BB_BLURREGION As UInteger = &H2
    Public Const DWM_BB_TRANSITIONONMAXIMIZED As UInteger = &H4
    Public Const WM_DWMCOLORIZATIONCOLORCHANGED As Integer = 800

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Sub DwmEnableBlurBehindWindow(ByVal hWnd As IntPtr, ByVal pBlurBehind As DWM_BLURBEHIND)
    End Sub

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Sub DwmExtendFrameIntoClientArea(ByVal hWnd As IntPtr, ByVal pMargins As MARGINS)
    End Sub

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Function DwmIsCompositionEnabled() As Boolean
    End Function

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Sub DwmEnableComposition(ByVal bEnable As Boolean)
    End Sub

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Sub DwmGetColorizationColor(ByVal pcrColorization As Integer, <MarshalAs(UnmanagedType.Bool)> ByVal pfOpaqueBlend As Boolean)
    End Sub

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Function DwmRegisterThumbnail(ByVal dest As IntPtr, ByVal source As IntPtr) As IntPtr
    End Function

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Sub DwmUnregisterThumbnail(ByVal hThumbnail As IntPtr)
    End Sub

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Sub DwmUpdateThumbnailProperties(ByVal hThumbnail As IntPtr, ByVal props As DWM_THUMBNAIL_PROPERTIES)
    End Sub

    <DllImport("dwmapi.dll", PreserveSig:=False)> _
    Public Shared Sub DwmQueryThumbnailSourceSize(ByVal hThumbnail As IntPtr, ByVal size As Size)
    End Sub

    <StructLayout(LayoutKind.Sequential)> _
    Public Class DWM_THUMBNAIL_PROPERTIES
        Public dwFlags As UInteger
        Public rcDestination As RECT
        Public rcSource As RECT
        Public opacity As Byte
        <MarshalAs(UnmanagedType.Bool)> _
        Public fVisible As Boolean
        <MarshalAs(UnmanagedType.Bool)> _
        Public fSourceClientAreaOnly As Boolean
        Public Const DWM_TNP_RECTDESTINATION As UInteger = &H1
        Public Const DWM_TNP_RECTSOURCE As UInteger = &H2
        Public Const DWM_TNP_OPACITY As UInteger = &H4
        Public Const DWM_TNP_VISIBLE As UInteger = &H8
        Public Const DWM_TNP_SOURCECLIENTAREAONLY As UInteger = &H10
    End Class

    <StructLayout(LayoutKind.Sequential)> _
    Public Class MARGINS
        Public cxLeftWidth As Integer, cxRightWidth As Integer, cyTopHeight As Integer, cyBottomHeight As Integer

        Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)
            cxLeftWidth = left
            cyTopHeight = top
            cxRightWidth = right
            cyBottomHeight = bottom
        End Sub
    End Class

    <StructLayout(LayoutKind.Sequential)> _
    Public Class DWM_BLURBEHIND
        Public dwFlags As UInteger
        <MarshalAs(UnmanagedType.Bool)> _
        Public fEnable As Boolean
        Public hRegionBlur As IntPtr
        <MarshalAs(UnmanagedType.Bool)> _
        Public fTransitionOnMaximized As Boolean

    End Class

    <StructLayout(LayoutKind.Sequential)> _
    Public Structure RECT
        Public left As Integer, top As Integer, right As Integer, bottom As Integer

        Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)
            Me.left = left
            Me.top = top
            Me.right = right
            Me.bottom = bottom
        End Sub
    End Structure

    'Protected Overloads Sub WndProc(ByRef msg As MessageBoxResult)
    '    Select Case msg
    '        Case WM_DWMCOLORIZATIONCOLORCHANGED
    '            Dim currColor As UInteger = CUInt(msg)
    '            Dim opacityblend As Boolean = (msg <> 0)
    '            Exit Select
    '    End Select
    'End Sub

    'Private Shared Function GetWindowHandle(ByVal window As Window) As IntPtr
    '    Return (New WindowInteropHelper(window)).Handle
    'End Function

    Private Overloads Function WndProc(ByVal hwnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr, ByRef handled As Boolean) As IntPtr
        If msg = WM_DWMCOLORIZATIONCOLORCHANGED Then
        End If
        Return IntPtr.Zero
    End Function

    Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        DwmEnableComposition(True)
        HwndSource.FromHwnd(New Interop.WindowInteropHelper(Me).Handle).AddHook(AddressOf WndProc)
        If DwmIsCompositionEnabled() Then
            Try
                DwmExtendFrameIntoClientArea(New Interop.WindowInteropHelper(Me).Handle, New MARGINS(-1, -1, -1, -1))
            Catch ex As Exception
                MessageBox.Show(ex.Message, ex.InnerException.ToString)
            End Try
            ''Приостанавливаю и вывожу сообщение о DwmIsCompositionEnabled и теперь видно, что эффект AeroGlass во всем окне изменил MARGINS 
            'MessageBox.Show(DwmIsCompositionEnabled, Nothing)
        End If
    End Sub
End Class


Скриншот :

[- к содержанию -]

Ответ #1 @Алексей Немиро 10.06.2013 23:20
На твои вопросы кроме тебя, вряд ли кто-нибудь сможет ответить :)

Если ты выводишь в MsgBox значение функции, то возможно дело в этом. Можно попробовать сделать переменную, передать ей значение из функции и показать значение переменной в MsgBox.

[- к содержанию -]

Ответ #2 @Shark1 10.06.2013 23:32
Спасибо, буду думать ...

[- к содержанию -]

Ответ #3 @Shark1 11.06.2013 00:45
Тему можно закрывать.

Кому интересно решение, то вот готовый класс:

Imports System.Windows.Interop
Imports System.Collections.Generic
Imports System.Runtime.InteropServices
Public Class Aero
    <StructLayout(LayoutKind.Sequential)>
    Public Structure Margins
        Public cxLeftWidth As Integer
        Public cxRightWidth As Integer
        Public cyTopHeight As Integer
        Public cyBottomHeight As Integer
    End Structure

    Public Shared Function GetMargins(ByVal windowHandle As IntPtr, ByVal left As Integer, ByVal right As Integer, ByVal top As Integer, ByVal bottom As Integer) As Margins
        Dim desktop As System.Drawing.Graphics = System.Drawing.Graphics.FromHwnd(windowHandle)
        Dim DesktopDpiX As Single = desktop.DpiX
        Dim DesktopDpiY As Single = desktop.DpiY
        Dim margins As New Margins()
        margins.cxLeftWidth = Convert.ToInt32(left * (DesktopDpiX / 96))
        margins.cxRightWidth = Convert.ToInt32(right * (DesktopDpiX / 96))
        margins.cyTopHeight = Convert.ToInt32(top * (DesktopDpiX / 96))
        margins.cyBottomHeight = Convert.ToInt32(right * (DesktopDpiX / 96))
        Return margins
    End Function

    <DllImport("DwmApi.dll")>
    Public Shared Function DwmExtendFrameIntoClientArea(ByVal hwnd As IntPtr, ByRef pMarInset As Margins) As Integer
    End Function

    Public Shared Sub Glass(ByVal win As Window, ByVal left As Integer, ByVal right As Integer, ByVal top As Integer, ByVal bottom As Integer)
        Dim windowInterop As New WindowInteropHelper(win)
        Dim windowHandle As IntPtr = windowInterop.Handle
        Dim mainWindowSrc As HwndSource = HwndSource.FromHwnd(windowHandle)
        mainWindowSrc.CompositionTarget.BackgroundColor = Colors.Transparent
        Dim margins As Margins = GetMargins(windowHandle, left, right, top, bottom)
        Dim returnVal As Integer = DwmExtendFrameIntoClientArea(mainWindowSrc.Handle, margins)
        If returnVal < 0 Then
            Throw New NotSupportedException("Операция завершилась неудачно")
        End If
    End Sub
End Class


Применение :

Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        If Environment.OSVersion.Version.Major >= 6 Then
            Aero.Glass(Me, -1, -1, -1, -1)
        End If
    End Sub



Всем спасибо тема закрыта ...

[- к содержанию -]

Добавить свой ответ в эту тему
Test-Graphica @Akiva 09.06.2013 19:56
Привет.
Пробую сделать что-то с графическими примитивами.
Упаси Бог, не претендую сравнивать свое "творение" с Paint-om.
Трудолюбием и фантазией эта "игрушка" может многое.
Но не сумел сделать чтоб сохранить, нарисованное.
Может кто подскажет, как?

С уважение, Форуму. Akiva

[- к содержанию -]

Ответ #1 @Алексей Немиро 10.06.2013 11:05
Но не сумел сделать чтоб сохранить, нарисованное.
А в чем именно проблема?
Image.Save("C:\путь к файлу.png")
, где Image - объект типа Image или Bitmap, на котором все это дело рисуется.

[- к содержанию -]

Добавить свой ответ в эту тему
Стиль @Crash666 09.06.2013 15:20
Это будет моя глобальная тема, вообщем как создать свой стиль для формы Windows, нечто подобное что находится в программе "Aeonsofts Theme Manager"
С чего начать и как?

[- к содержанию -]

Ответ #1 @Akiva 09.06.2013 21:48
Crash666,
B Microsoft Visual Studio 2010(2012) имеется приложение WPF.
Может это будет Вам в помощь?

[- к содержанию -]

Ответ #2 @Crash666 09.06.2013 21:50
Akiva Посмотрите темы ниже и вы поймёте что они пока мне не подходят...

[- к содержанию -]

Ответ #3 @Алексей Немиро 10.06.2013 11:14
http://msdn.microsoft.com/ru-ru/library/ms229595.aspx
нечто подобное что находится в программе "Aeonsofts Theme Manager"
Не смотрел, но обычно нестандартный интерфейс рисуется руками.

[- к содержанию -]

Ответ #4 @Crash666 11.06.2013 11:47
А где находится панель управления Экран?

[- к содержанию -]

Ответ #5 @Алексей Немиро 11.06.2013 12:19
А где находится панель управления Экран?
В Windows 7? Правой кнопкой по рабочему столу -> Персонализация.

[- к содержанию -]

Добавить свой ответ в эту тему · В теме есть еще 29 ответов. Смотреть все ответы.
Среда Visual Basic STUDIO’2010 Professional
Строка кода для подключения к базе Access имеет вид:
Public Con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " +
" Data Source=E:\CD_MY_new\DATA\My_Pension.mdb") ' Переменная для подключения базы
Аналогично подсоединению к базе Access
My_Pension.mdb
Пытаюсь подсоединиться к к базе типа Microsoft SQL Server'2008
My_Pension_MSSQLS.mdf, находящейся в каталоге
E:\CD_MY_new\DATA
База создана в среде STUDIO'2010 используя обозреватель серверов,
Т.е. всё находится на одном компьютере, который не подсоединён ни к сети, ни к
интернету.
Показываю попытки:
Module Module1
Public ConSQLServer As New OleDb.OleDbConnection("Data Source=.\sqlexpress; Provider=SQLOLEDB;Initial Catalog=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=SSPI;")

Public ConSQLServer As New OleDb.OleDbConnection("Data Source=.\sqlexpress; Provider=SQLOLEDB;Initial Catalog=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=SSPI;")

Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=SSPI;")
Не удалось прикрепить базу данных, которой автоматически было присвоено имя, к 
файлу E:\CD_MY_new\DATA\My_Pension_MSSQLS. База данных с таким именем уже существует, указанный файл нельзя открыть, или он находится на общем ресурсе UNC.

Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=SSPI;")
 Не удалось прикрепить базу данных, которой автоматически было присвоено имя, к 
 файлу E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf. База данных с таким именем уже 
 существует, указанный файл нельзя открыть, или он находится на общем ресурсе UNC.
 Не удалось открыть физический файл "E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf". 
 Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, 
т ак как этот файл занят другим процессом.)".

Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=SSPI;")

Public ConSQLServer As New OleDb.OleDbConnection("Provider=SQLNCLI10;Server=.\SQLExpress;AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf;Database=My_Pension_MSSQLS.mdf;Trusted_Connection=Yes;")
Не удалось присоединить файл "E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf" в качестве базы данных "My_Pension_MSSQLS.mdf".
Не удалось открыть физический файл "E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf". 
Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, 
так как этот файл занят другим процессом.)".

Public ConSQLServer As New OleDb.OleDbConnection("Data Source=(local); Provider=SQLOLEDB;Initial Catalog=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=True;User Instance=True")
Сообщение об ошибке не предусмотрено, код результата: DB_E_ERRORSOCCURRED(0x80040E21).

Public ConSQLServer As New OleDb.OleDbConnection("Data Source=(local); AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS; Integrated Security=True;User Instance=True")
Инициализатор типа "My_Pension_VB_NET.Module1" выдал исключение.

Public ConSQLServer As New OleDb.OleDbConnection("Data Source=(local); AttachDbFilename=E:\CD_MY_new\DATA\My_Pension_MSSQLS.mdf; Integrated Security=True;User Instance=True")
Инициализатор типа "My_Pension_VB_NET.Module1" выдал исключение.
указывает на строку  DT.Clear() 

Public SqlCom_dbf As OleDb.OleDbCommand ' Переменная для Sql запросов
Public DT_dbf As New Data.DataTable ' Таблица для хранения результатов запроса
End Module


Sub LoadAll_SQL() 'Процедура чтения всей таблицы [Pensioner] из базы 
DT.Clear() 'Очищаем таблицу DT
SqlCom = New OleDb.OleDbCommand("SELECT * FROM [Pensioner]", ConSQLServer)
ConSQLServer.Open()
End Sub
СПАСИБО

[- к содержанию -]

Ответ #1 @Александр 07.06.2013 17:12
Попробуйте
"providerName="System.Data.SqlClient" connectionString="Data Source=SQL2008;User ID=sa;Password=sa"

[- к содержанию -]

Добавить свой ответ в эту тему

Все темы и обсуждения

Исходные коды

WPF Window Style

Visual Basic .NET: Интерфейс @Shark1 11.06.2013 23:44
Пример стиля для WPF окна.

К данном исходному коду прилагаются файлы примеров. Скачать.

[- к содержанию -]

Creation and processing of hyperlinks in WPF

Visual Basic .NET: Общие вопросы @Shark1 08.06.2013 01:35
Пример создания и обработки гиперссылок в Windows Presentation Foundation.

К данном исходному коду прилагаются файлы примеров. Скачать.

[- к содержанию -]

Все исходные коды

Вакансии в IT

Программист 1с-битрикс + php

Россия, Чебоксары | Работа в офисе | 38 100,00 KBP

Веб-дизайнер, дизайнер сайтов

Россия, Чебоксары | Работа в офисе | 38 100,00 KBP

Программист

Россия, Тюмень | Работа в офисе

Программист 1С

Россия, Казань | Удаленная работа | 40 000,00 KBP

Программист PHP

Россия, Новосибирск | Работа в офисе | 30 000,00 KBP

Инженер-программист

Россия, Новосибирск | Работа в офисе | 23 000,00 KBP

Программист 1С

Россия, Самара | Работа в офисе

Главный программист

Россия, Ростов-на-Дону | Работа в офисе

Веб-программист

Россия, Ростов-на-Дону | Работа в офисе | 20 000,00 KBP

Программист, системный администратор

Россия, Ростов-на-Дону | Работа в офисе | 25 000,00 KBP

Все вакансии в IT · Создать резюме

[- к содержанию -]

Новости мира IT

Nokia отгрузит последнюю партию смартфонов на Symbian

Компания Nokia летом 2013 года произведет последние поставки смартфонов на базе операционной системы Symbian. Впоследствии компания будет поставлять только аппараты на Windows Phone. При этом в ряде стран на складах Nokia еще остались нераспроданные запасы смартфонов на Symbian, которые, по всей видимости, будут распродавать с уценкой.

13.06.2013 11:29 · Категория: Железо · Источник: Lenta.ru

[- к содержанию -]

Galaxy S4 превратили в камерофон

Компания Samsung анонсировала аппарат Galaxy S4 Zoom. Он представляет собой гибрид смартфона и фотоаппарата. Устройство снабжено выдвижным объективом с десятикратным «зумом», 16-мегапиксельной матрицей, двухъядерным процессором и 4,3-дюймовым экраном. Аппарат работает на Android.

13.06.2013 11:29 · Категория: Железо · Источник: Lenta.ru

[- к содержанию -]

Intel анонсировала новые копроративные SSD-накопители

Корпорация Intel представила новую линейку SSD-накопителей серии DC S3500 для использования в серверах и критически важных системах хранения данных в датацентрах. В Intel говорят, что новинки ориентированы на приложения, предъявляющие высокие требования к скорости доступа к информации.

Новые накопители базируются на флеш-памяти с технологической нормой в 20 нанометров и предлагают скорость доступа на чтение в 500 Мб/сек, записи - 450 Мб/сек. Также SSD-накопители предлагают скорость доступа в 75 000 случайных операций ввода-вывода. Работают накопители по стандартизированному интерфейсу SATA 6 Гб/сек.

Физически носители доступны в разных емкостях - от 80 до 800 Гбайт и выполнены в корпусах 2,5 или 1,8 дюйма, стоимость варьируется от 115 долларов за младшую модель, до 979 долларов за 2,5-дюймовый 800-гигабайтный накопитель.

12.06.2013 10:57 · Категория: Железо · Источник: 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.
Kbyte.Ru является парнёром компаний Mail.Ru Group, WebMoney Transfer, Ozon.Ru и др.
Выпуск рассылки подготовлен автоматически. Все права на материалы выпуска принадлежат Kbyte.Ru если иное не указано отдельно.


В избранное