VBNet.Su - Visual Basic .NET. ASP .NET. Framework .NET.
Новости
26.12.2008 Лимитный инвайт для тех, кто хочет присоединиться к VBNet.Su, но не может :)
vbnet-super
С наступающим!
join

18.12.2008 Увеличен размер поля для подписи. Разрешено использовать некоторые теги HTML.
Изменены правила форума, в подписи разрешено использовать партнерские ссылки. Ссылки в подписи могут использовать только те пользователи, которые разместили обратную ссылку на VBNet.Su на одном из сайтов, указанных в профиле. Проверка обратных ссылок производится в автоматическом режиме. Если у Вас возникнут какие-либо вопросы, обращайтесь к администратору.

15.12.2008 Открылась рассылка VBNet.Su!
Рассылка будет выходить автоматически, несколько раз в неделю. В рассылке будут содержаться последние обновления сайта (аналог RSS). Чтобы подписаться на рассылку VBNet.Su, перейдите по этой ссылке.
Архив новостей
Будь в теме
КПК и коммуникаторы
VBNet.Su рекомендуетNokia N73 Music Edition
Расслабьтесь и наслаждайтесь песнями на карте памяти формата miniSD объемом 2 ГБ, которая поставляется в комплекте с телефоном. Будьте в курсе новейшей музыки благодаря FM-радио. Музыка создана, чтобы слушать ее всем вместе, поэтому воспользуйтесь ... подробнее..
Цена: 8990 руб. КУПИТЬ
Партнеры
Kbyte.Ru OZON.ru
Счетчики
Рассылка 'Visual Basic .NET - новости, коды, статьи, форум'
Полезная информация
Ігор
Ігор
  1. Imports System.Security.Cryptography
  2. Imports System.IO
  3.  
  4. Public Module Encryptorrr
  5.  
  6. Private encv() As Byte = {64, 122, 10, 56, 20, _
  7.  74, 121, 39, 19, 91, 145, 78, 189, 211, 133, 162}
  8.  
  9. Public Function Encrypt(ByRef data() As Byte, ByVal key() As Byte) As Boolean
  10.     If (data Is Nothing) OrElse (data.Length <= 0) Then Return False
  11.     If (key Is Nothing) OrElse (key.Length <= 0) Then Return False
  12.     Dim key2() As Byte = key.Clone(), data2() As Byte = data.Clone()
  13.     If key2.Length > 32 Then ReDim Preserve key2(31)
  14.     Dim n As Int64
  15.     For n = 0 To 31
  16.         If n > key2.GetUpperBound(0) Then
  17.            ReDim Preserve key2(key2.Length)
  18.            key2(key2.GetUpperBound(0)) = CByte(n)
  19.         End If
  20.     Next
  21.     Dim arr() As Byte = {CByte(Asc("i")), CByte(Asc("g")), CByte(Asc("o")), CByte(Asc("r"))}
  22.     Dim res As Boolean = True
  23.     Dim ms As MemoryStream = Nothing
  24.     Dim cs As CryptoStream = Nothing
  25.     Dim rm As RijndaelManaged = Nothing
  26.     Dim bw As BinaryWriter = Nothing
  27.     Try
  28.         ReDim Preserve data2(data2.GetUpperBound(0) + 4)
  29.         Call Array.Copy(arr, 0, data2, data.Length, 4)
  30.         rm = New RijndaelManaged
  31.         ms = New MemoryStream()
  32.         cs = New CryptoStream(ms, rm.CreateEncryptor(key2, encv), CryptoStreamMode.Write)
  33.         cs.Write(data2, 0, data2.Length)
  34.         Call cs.FlushFinalBlock()
  35.         bw = New BinaryWriter(ms)
  36.         Call bw.Seek(0, SeekOrigin.End)
  37.         Dim bs() As Byte = BitConverter.GetBytes(CType((data.GetLongLength(0) + 4), Int64))
  38.         bw.Write(bs) : bw.Flush() : Erase bs   
  39.         data = ms.ToArray()
  40.     Catch
  41.         res = False
  42.     Finally
  43.        Try
  44.           If Not IsNothing(rm) Then rm.Clear()
  45.           If Not IsNothing(cs) Then cs.Close()
  46.        Catch
  47.        Finally
  48.           If Not IsNothing(ms) Then ms.Close()
  49.           If Not IsNothing(bw) Then bw.Close()
  50.           Erase arr : Erase data2 : Erase key2
  51.        End Try
  52.     End Try
  53.     Return res
  54. End Function
  55.  
  56. Public Function Decrypt(ByRef data() As Byte, ByVal key() As Byte) As Boolean
  57.    If IsNothing(data) OrElse (data.Length <= 8) Then Return False
  58.    If (key Is Nothing) OrElse (key.Length <= 0) Then Return False
  59.    Dim key2() As Byte = key.Clone(), data2() As Byte = data.Clone()
  60.    Dim l As Int64, res As Boolean = True
  61.    Try
  62.       l = BitConverter.ToInt64(data2, data2.GetLongLength(0) - 8)
  63.       ReDim Preserve data2(data2.GetLongLength(0) - 9)
  64.    Catch
  65.       Return False
  66.    End Try
  67.    If key2.Length > 32 Then ReDim Preserve key2(31)
  68.    Dim n As Int64
  69.    For n = 0 To 31
  70.        If n > key2.GetUpperBound(0) Then
  71.           ReDim Preserve key2(key2.Length)
  72.           key2(key2.GetUpperBound(0)) = CByte(n)
  73.        End If
  74.    Next
  75.    Dim decripted() As Byte = Nothing
  76.    Dim rm As RijndaelManaged = Nothing
  77.    Dim ms As MemoryStream = Nothing
  78.    Dim cs As CryptoStream = Nothing
  79.    Try
  80.        ReDim decripted(data2.Length - 1)
  81.        ms = New MemoryStream(data2)
  82.        rm = New RijndaelManaged
  83.        cs = New CryptoStream(ms, rm.CreateDecryptor(key2, encv), CryptoStreamMode.Read)
  84.        cs.Read(decripted, 0, decripted.Length)
  85.        ReDim Preserve decripted(l - 1)
  86.        If (decripted(decripted.GetUpperBound(0) - 3) = Asc("i")) AndAlso _
  87.           (decripted(decripted.GetUpperBound(0) - 2) = Asc("g")) AndAlso _
  88.           (decripted(decripted.GetUpperBound(0) - 1) = Asc("o")) AndAlso _
  89.           (decripted(decripted.GetUpperBound(0)) = Asc("r")) Then
  90.           ReDim Preserve decripted(decripted.GetUpperBound(0) - 4)
  91.           data = decripted
  92.        Else
  93.           Erase decripted
  94.           res = False
  95.        End If
  96.    Catch
  97.        res = False
  98.    Finally
  99.        Try
  100.           If Not IsNothing(rm) Then rm.Clear()
  101.           If Not IsNothing(cs) Then cs.Close()
  102.        Catch
  103.        Finally
  104.           If Not IsNothing(ms) Then ms.Close()
  105.           Erase data2 : Erase key2
  106.        End Try
  107.    End Try
  108.    Return res
  109. End Function
  110.  
  111. End Module
  112.  

http://vbnet.su/forum/single-224.html
Алексей Немиро
Алексей Немиро
Небольшой совет на тему, как сделать визуальный HTML-редактор (WYSIWYG) в Windows Forms.
На самом деле все довольно просто, даже программистом быть не обязательно, чтобы сделать такой редактор.

Итак, порядок действий:

0. Создаем новый проект (Windows Forms Application).

1. Размещаем на форме компонент WebBrowser, и три кнопки: Button1, Button2, Button3.

2. Жмем меню Project (Проект) -> Add Reference... (Добавить ссылку...). В появившемся окне ищем и выбираем Microsoft.mshtml, нажимаем Ok.

3. Вставляем код:
  1. '(c) vbnet.su
  2. Public _Doc As mshtml.IHTMLDocument2
  3.  
  4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  5.   WebBrowser1.DocumentText = "<html><style type=""text/css"">p{padding:0;margin:0;}</style><body style=""padding:0;margin:8px;""></body></html>" 'шаблон
  6.   _Doc = CType(WebBrowser1.Document.DomDocument, mshtml.IHTMLDocument2)
  7.   _Doc.designMode = "On"
  8.   Button1.Text = "Жирный"
  9.   Button2.Text = "Курсив"
  10.   Button2.Text = "Подчеркнутый"
  11. End Sub
  12.  
  13. 'жирный
  14. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  15.   _Doc.execCommand("Bold", False, Nothing)
  16. End Sub
  17.  
  18. 'курсив
  19. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  20.   _Doc.execCommand("Italic", False, Nothing)
  21. End Sub
  22.  
  23. 'подчеркнутый
  24. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  25.   _Doc.execCommand("Underline", False, Nothing)
  26. End Sub


Собственно все. Запускаем, и любуемся результатом.

Изменить фот или заливку выделенного текста можно, например, так:
  1. 'цвет шрифта выделенного текста
  2. If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
  3.   Dim txt As mshtml.IHTMLTxtRange = _Doc.selection.createRange()
  4.   txt.pasteHTML("<span style=""color:" & ColorTranslator.ToHtml(ColorDialog1.Color) & ";"">" & txt.htmlText & "</span>")
  5. End If
  6.  
  7. 'фон выделенного текста
  8. If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
  9.   Dim txt As mshtml.IHTMLTxtRange = _Doc.selection.createRange()
  10.   txt.pasteHTML("<span style=""background-color:" & ColorTranslator.ToHtml(ColorDialog1.Color) & ";"">" & txt.htmlText & "</span>")
  11. End If


Выравнивание текста:
  1. _Doc.execCommand("JustifyLeft", False, Nothing)
  2. _Doc.execCommand("JustifyCenter", False, Nothing)
  3. _Doc.execCommand("JustifyRight", False, Nothing)
  4. _Doc.execCommand("JustifyFull", False, Nothing)


Размер библиотеки Microsoft.mshtml.dll семь с половиной мегабайт. Поставляется вместе с Visual Studio, а также она (dll-ка) должна входить в состав Microsoft Office.
http://vbnet.su/forum/single-137.html
Алексей Немиро
Алексей Немиро
Для получения статистики выполнения SQL-запроса, нужно перед его выполнением вставить следующий код:

  1. SET STATISTICS IO ON
  2. SET STATISTICS TIME ON

Опция STATISTICS IO - позволяет увидеть сведения о дисковой активности
Опция STATISTICS TIME - позволяет увидеть затраченное на выполнение запроса время в миллисекундах

Например:
  1. SET STATISTICS IO ON
  2. SET STATISTICS TIME ON
  3.  
  4. SELECT * FROM Table


Статистическую информацию можно посмотреть на вкладе Messages в SQL Server Management Studio.
http://vbnet.su/forum/single-161.html
Больше полезной информации
Новые коды (обновлено: 25 мая 2009 / 01:42)
Visual Basic .NET (Framework x.x) HTML-код цвета без ColorTranslator
Автор: Ігор | добавлено: 25 мая 2009 / 01:42 | просмотров: 5305 (+4673)
Visual Basic .NET (Framework x.x) Позднее связывание
Автор: Ігор | добавлено: 10 мая 2009 / 03:26 | просмотров: 6144 (+5623)
Visual Basic .NET (Framework x.x) Пример контрола
Автор: Kolyasik | добавлено: 04 мая 2009 / 12:38 | просмотров: 6172 (+5662)
Visual Basic .NET (Framework x.x) Преобразование цвета в целое 32-битовое число и наоборот
Автор: Ігор | добавлено: 24 января 2009 / 04:39 | просмотров: 6312 (+5698)
Visual Basic .NET 2008 (Framework 3.0/3.5) Реализация пользовательского CheckBox
Автор: Karl Shifflett | добавлено: 26 декабря 2008 / 09:50 | просмотров: 7680 (+6715)
Visual Basic .NET 2008 (Framework 3.0/3.5) Реализация интерфейса WPF
Автор: Karl Shifflett | добавлено: 26 декабря 2008 / 09:45 | просмотров: 7094 (+5918)
Visual Basic .NET 2008 (Framework 3.0/3.5) Сортировка данных в ComboBox
Автор: Karl Shifflett | добавлено: 26 декабря 2008 / 09:40 | просмотров: 7313 (+6455)
Visual Basic .NET 2008 (Framework 3.0/3.5) ErrorProvider с использованием WPF
Автор: Rahul Singla | добавлено: 26 декабря 2008 / 09:33 | просмотров: 5438 (+4771)
Visual Basic .NET 2008 (Framework 3.0/3.5) ProgressBar как в IE 7
Автор: jebarson | добавлено: 26 декабря 2008 / 09:26 | просмотров: 7421 (+6165)
Visual Basic .NET 2008 (Framework 3.0/3.5) Использование WPF-контролов в Office 2007
Автор: Alessandro Del Sole | добавлено: 26 декабря 2008 / 09:20 | просмотров: 5162 (+4470)
Все коды
У нас есть
Мозолистые пальцы
Всего:1260
С ногами:2520
Красные глаза
Всего:252
Левых:126
Правых:126
Горячие мозги
Всего:126
Левых:3
Правых:27
Еще какие-то:96
Сегодня сказали
Сегодня еще никто ничего не говорил :-(
Архив сказанного ранее
Букварь всему голова
Книги на VBNet.SuMicrosoft Visual Basic .NET 2003. Русская версия. Шаг за шагом (+ CD-ROM)
Visual Basic .NET 2003 - это профессиональная среда для разработки приложений, а практическое руководство из серии "Шаг за шагом" - быстрый путь к ее освоению.
Настоящее руководство с помощью пошаговых упражнений, примеров кода, подсказок по ... подробнее..
Автор: Майкл Хальворсон
Цена: 347 руб. КУПИТЬ
Все книги на VBNet.Su
TOP 10 пользователей
Алексей Немиро65.2275660625+
Ігор47.181654625+
kibernetics16.0390645+
Kolyasik5.9658263125+
rublenko3.734375+
Arseny3.6845703125+
Skywalker2.904296875+
ostgals2.857421875+
5acredphoenix2.708994375+
andrey_z5z2.3857511875+
Все пользователи


Реклама:
viagra canada pharmacy