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

Visual Basic.Net - новости, коды, статьи, форум


VBNet.Su - Visual Basic .NET. ASP .NET. Framework .NET.
RE: Кодировать текст (24 января 2009 г. / 08:17)
  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
Преобразование цвета в целое 32-битовое число и наоборот (24 января 2009 г. / 04:39)
Как преобразовать цвет в число и наоборот не прибегая к услугам структуры Color?
http://vbnet.su/sources/gdi/58.html
RE: Можно ли сделать Cascading... ListBox? (20 января 2009 г. / 15:53)

Некросбраузерно. Тогда уж лучше заюзать какой-нибудь jquery. +в наше время JSON рулит, проще его использовать:
http://ru.wikipedia.org/wiki/JSON
http://vbnet.su/forum/single-223.html
RE: Можно ли сделать Cascading... ListBox? (20 января 2009 г. / 15:48)
kibernetics пишет:
это легко сказать.

и также легко сделать smile
  1. <asp:UpdatePanel ID="UpdatePanel1" runat="server">
  2.   <ContentTemplate>
  3.     <asp:ListBox ID="ListBox1" DataValueField="c" DataTextField="c" runat="server" AutoPostBack="true" />
  4.     <asp:ListBox ID="ListBox2" DataValueField="c" DataTextField="c" runat="server" AutoPostBack="true" />
  5.   </ContentTemplate>
  6. </asp:UpdatePanel>

  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.     If Not Page.IsPostBack Then
  3.       Dim DT As New DataTable("Table")
  4.       DT.Columns.Add("c")
  5.       DT.Rows.Add(1)
  6.       DT.Rows.Add(2)
  7.       DT.Rows.Add(3)
  8.       ListBox1.DataSource = DT
  9.       ListBox1.DataBind()
  10.     End If
  11. End Sub
  12.  
  13. Protected Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
  14.     Dim DT As New DataTable("Table")
  15.     DT.Columns.Add("c")
  16.     DT.Rows.Add(1)
  17.     DT.Rows.Add(2)
  18.     DT.Rows.Add(3)
  19.     ListBox2.DataSource = DT
  20.     ListBox2.DataBind()
  21. End Sub

Остальные мелочи тоже достаточно просто сделать.
To modify the original code of CascadingDropDown is a really hard work. Maybe my replay in this thread is helpful. It is a simple scenario aimed at calling WebService by using the XMLHttpRequest.

руками с нуля DropDownList тоже достаточно просто сделать, JavaScript в зубы и вперед smile И с ListBox тоже, но в данном случае, проще использовать UpdatePanel, для визуализации можно свой JavaScript написать, либо использовать Animation (не понмю как называет контрол, что-то типа UpdateAnimation) из AJAX Extension.
http://vbnet.su/forum/single-222.html
RE: Можно ли сделать Cascading... ListBox? (20 января 2009 г. / 15:39)
и вот ещё нашёл реализацию, но без тулкита как я понял
http://forums.asp.net/p/1363647/2830556.aspx#2830556

http://vbnet.su/forum/single-221.html
RE: Можно ли сделать Cascading... ListBox? (20 января 2009 г. / 15:28)

это легко сказать.
спросил на форум.асп.нет, так посоветовали заюзать сторонний контрол... :( http://easylistbox.com/purchase.aspx грустно
ещё написали:
To modify the original code of CascadingDropDown is a really hard work. Maybe my replay in this thread is helpful. It is a simple scenario aimed at calling WebService by using the XMLHttpRequest.

http://vbnet.su/forum/single-220.html
Новости VBNet.Su (26 декабря 2008 г. / 13:53)
Лимитный инвайт для тех, кто хочет присоединиться к VBNet.Su, но не может :)
vbnet-super
С наступающим!
join
http://vbnet.su/news/#9
Реализация пользовательского CheckBox (26 декабря 2008 г. / 09:50)
Простой пример реализации пользовательского CheckBox с использованием технологии Windows Presentation Foundation (WPF). В примере показано, как можно отображать надпись слева, либо справа относительно самого CheckBox.
http://vbnet.su/sources/wpf/57.html
Реализация интерфейса WPF (26 декабря 2008 г. / 09:45)
Неплохой пример реализации пользовательского интерфейса с использованием технологии Windows Presentation Foundation (WPF).
http://vbnet.su/sources/wpf/56.html
Сортировка данных в ComboBox (26 декабря 2008 г. / 09:40)
Простой пример сортировки данных в списке ComboBox с использованием технологии Windows Presentation Foundation (WPF).
http://vbnet.su/sources/wpf/55.html
ErrorProvider с использованием WPF (26 декабря 2008 г. / 09:33)
ErrorProvider с использованием WPF.
http://vbnet.su/sources/wpf/54.html
Новости VBNet.Su (18 декабря 2008 г. / 09:34)
Увеличен размер поля для подписи. Разрешено использовать некоторые теги HTML.
Изменены правила форума, в подписи разрешено использовать партнерские ссылки. Ссылки в подписи могут использовать только те пользователи, которые разместили обратную ссылку на VBNet.Su на одном из сайтов, указанных в профиле. Проверка обратных ссылок производится в автоматическом режиме. Если у Вас возникнут какие-либо вопросы, обращайтесь к администратору.
http://vbnet.su/news/#8
Новости VBNet.Su (15 декабря 2008 г. / 09:37)
Открылась рассылка VBNet.Su!
Рассылка будет выходить автоматически, несколько раз в неделю. В рассылке будут содержаться последние обновления сайта (аналог RSS). Чтобы подписаться на рассылку VBNet.Su, перейдите по этой ссылке.
http://vbnet.su/news/#7
Наследование в VB.Net (07 декабря 2008 г. / 19:37)
Если кто-нибудь уже сталкивался с мелкомягким контролом DataGridView, то наверняка порадовался обилию возможностей, которые он предлагает. Однако, когда дело доходит до реального кодинга, начинаешь хотеть чего-то большего. Мне, к примеру, понадобилось, чтобы внутри таблицы был ComboBox – конечно, он там есть, но мне понадобилось, чтобы в нём можно было ЛИБО печатать, ЛИБО выбирать. Т.е., если в списке не оказалось нужной нам вещицы, то мы могли впечатать её и тем самым дополнить список.
http://vbnet.su/articles/default/7.html
Работа с XML средствами Visual Basic .NET (07 декабря 2008 г. / 19:28)
Статья на тему работы с XML-файлами средствами Visual Basic .NET.
http://vbnet.su/articles/xml/5.html
Использование XML.Serialization (07 декабря 2008 г. / 19:25)
В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.
http://vbnet.su/articles/xml/4.html
Как сделать программку с поддержкой плагинов? (07 декабря 2008 г. / 17:57)
В статье рассказывается, как можно сделать программу с поддержкой плагинов на языке Visual Basic .NET.
http://vbnet.su/articles/default/2.html
Автоматизация поиска SQL Injection (07 декабря 2008 г. / 17:52)
SQL Injection (SQL-вторжение) довольно распространенная уязвимость web-сайтов, которая позволяет злоумышленнику выполнять свой SQL-код путем подстановки его в ожидаемые параметры страницы. Таким образом, злоумышленник может запросто получить доступ к секретным данным, добавить, изменить, либо удалить данные. В данной статье я расскажу и покажу на примерах языков PHP и C#, как написать программку, которая будет автоматически сканировать заданные сайты на предмет наличия в них уязвимости типа SQL Injection. Естественно, все это делается в благих целях. :)
http://vbnet.su/articles/other/1.html

В избранное