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

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


Выпуск # 1


Здравствуйте дамы и господа!
Вот, и настал торжественный момент – наша первая рассылка! Напомню, что наш портал – Kbyte.Ru, открылся в конце февраля 2006 года и на данный момент стремительно развивается. На наш сайт ежедневно поступают новые статьи и примеры кодов по Visual Basic, Visual Basic .NET, ASP, ASP .NET и многое другое.

 

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

 

1. FAQ VB 5.0/6.0

1.1. Как ловить нажатия клавиш вне окна приложения?

1.2. Как добавить пункт в меню во время выполнения программы?

1.3. Как заблокировать Пуск?

1.4. Как передать фокус по нажатию Enter?

1.5. Как сделать MsgBox поверх всех окон?

 

2. Новые статьи

2.1. Форум своими руками, на ASP

2.2. Visual Basic в офисных приложениях

2.3. Методы и события форм

 

3. Универсальные коды

3.1. Как получить данные из базы данных?

3.1.1. Visual Basic

3.1.2. ASP

 

Наверх


I. FAQ VB 5.0/6.0

http://www.kbyte.ru/forum/default.aspx?forumid=8

Ведущий раздела: BiT <bit@kbyte.ru>

 

Как ловить нажатия клавиш вне окна приложения?

Option Explicit
Private Declare Function GetAsyncKeyState _
    Lib "user32" (ByVal vKey As Long) As Integer
Const VK_RETURN = &HD
Private Sub Form_Load()
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
   If GetAsyncKeyState(VK_RETURN) Then
        MsgBox "РэТюююнг!!!"
   End If
End Sub

Некоторые константы, Virtual Key Codes:

 

Private Const VK_ADD = &H6B
Private Const VK_ATTN = &HF6
Private Const VK_BACK = &H8
Private Const VK_CANCEL = &H3
Private Const VK_CAPITAL = &H14
Private Const VK_CLEAR = &HC
Private Const VK_CONTROL = &H11
Private Const VK_CRSEL = &HF7
Private Const VK_DECIMAL = &H6E
Private Const VK_DELETE = &H2E
Private Const VK_DIVIDE = &H6F
Private Const VK_DOWN = &H28
Private Const VK_END = &H23
Private Const VK_EREOF = &HF9
Private Const VK_ESCAPE = &H1B
Private Const VK_EXECUTE = &H2B
Private Const VK_EXSEL = &HF8
Private Const VK_F1 = &H70
Private Const VK_F10 = &H79
Private Const VK_F11 = &H7A
Private Const VK_F12 = &H7B
Private Const VK_F13 = &H7C
Private Const VK_F14 = &H7D
Private Const VK_F15 = &H7E
Private Const VK_F16 = &H7F
Private Const VK_F17 = &H80
Private Const VK_F18 = &H81
Private Const VK_F19 = &H82
Private Const VK_F2 = &H71
Private Const VK_F20 = &H83
Private Const VK_F21 = &H84
Private Const VK_F22 = &H85
Private Const VK_F23 = &H86
Private Const VK_F24 = &H87
Private Const VK_F3 = &H72
Private Const VK_F4 = &H73
Private Const VK_F5 = &H74
Private Const VK_F6 = &H75
Private Const VK_F7 = &H76
Private Const VK_F8 = &H77
Private Const VK_F9 = &H78
Private Const VK_HELP = &H2F
Private Const VK_HOME = &H24
Private Const VK_INSERT = &H2D
Private Const VK_LBUTTON = &H1
Private Const VK_LCONTROL = &HA2
Private Const VK_LEFT = &H25
Private Const VK_LMENU = &HA4
Private Const VK_LSHIFT = &HA0
Private Const VK_MBUTTON = &H4
Private Const VK_MENU = &H12
Private Const VK_MULTIPLY = &H6A
Private Const VK_NEXT = &H22
Private Const VK_NONAME = &HFC
Private Const VK_NUMLOCK = &H90
Private Const VK_NUMPAD0 = &H60
Private Const VK_NUMPAD1 = &H61
Private Const VK_NUMPAD2 = &H62
Private Const VK_NUMPAD3 = &H63
Private Const VK_NUMPAD4 = &H64
Private Const VK_NUMPAD5 = &H65
Private Const VK_NUMPAD6 = &H66
Private Const VK_NUMPAD7 = &H67
Private Const VK_NUMPAD8 = &H68
Private Const VK_NUMPAD9 = &H69
Private Const VK_OEM_CLEAR = &HFE
Private Const VK_PA1 = &HFD
Private Const VK_PAUSE = &H13
Private Const VK_PLAY = &HFA
Private Const VK_PRINT = &H2A
Private Const VK_PRIOR = &H21
Private Const VK_PROCESSKEY = &HE5
Private Const VK_RBUTTON = &H2
Private Const VK_RCONTROL = &HA3
Private Const VK_RETURN = &HD
Private Const VK_RIGHT = &H27
Private Const VK_RMENU = &HA5
Private Const VK_RSHIFT = &HA1
Private Const VK_SCROLL = &H91
Private Const VK_SELECT = &H29
Private Const VK_SEPARATOR = &H6C
Private Const VK_SHIFT = &H10
Private Const VK_SNAPSHOT = &H2C
Private Const VK_SPACE = &H20
Private Const VK_SUBTRACT = &H6D
Private Const VK_TAB = &H9
Private Const VK_UP = &H26
Private Const VK_ZOOM = &HFB

Наверх

 

Как добавить пункт в меню во время выполнения программы?

Option Explicit
Private Sub Command1_Click()
If mnuADD(0).Visible Then
   Load mnuADD(mnuADD.Count)
   With mnuADD(mnuADD.Count - 1)
       .Caption = Text1.Text
       .Visible = True
   End With
Else
   mnuADD(0).Caption = Text1.Text
   mnuADD(0).Visible = True
End If
End Sub

Скачать пример

Наверх

 

Как заблокировать Пуск?

Option Explicit
Private Declare Function EnableWindow Lib "user32" _
    (ByVal hWnd As Long, _
     ByVal fEnable As Boolean) As Long
Private Declare Function FindWindow Lib _
    "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, _
     ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib _
    "user32" Alias "FindWindowExA" _
    (ByVal hWndParent As Long, _
     ByVal hWndChildAfter As Long, _
     ByVal lpClassName As String, _
     ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib _
    "user32" (ByVal hWnd As Long, _
    ByVal nCmdShow As Long) As Long
Dim hPanel As Long, hPusk As Long
Private Sub Command1_Click()
  EnableWindow hPusk, False
End Sub
Private Sub Command2_Click()
  EnableWindow hPusk, True
End Sub
Private Sub Form_Load()
  hPanel = FindWindow("Shell_traywnd", _
                            vbNullString)
  hPusk = FindWindowEx(hPanel, 0, "Button", _
                            vbNullString)
End Sub

Наверх

Как передать фокус по нажатию Enter?

Option Explicit
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
       SendKeys "{tab}"
       KeyAscii = 0
End If
End Sub

Наверх

Как сделать MsgBox поверх всех окон?

Option Explicit
Dim strMsg As String
Private Sub Form_Load()
strMsg = "Сегодня: " & Date & " Время: " & Time
MsgBox strMsg, vbSystemModal
End
End Sub

Наверх


II. Новые статьи

http://www.kbyte.ru/articles/

Ведущий раздела: Немиро Алексей <aleksey@kbyte.ru>

 

Форум своими руками, на ASP

Автор: Немиро Алексей <aleksey@kbyte.ru>

добавлено: 08.04.2006 / 12:13

Как известно, форум – это средство общения пользователей сети Интернет, и в тоже время, это большой справочник вопросов и ответов определенной тематики, и, пожалуй, ни один современный сайт не может обойтись без форума. В данной статье я расскажу, как можно быстро сделать собственный форум на ASP, причем, для этого не надо никуда ходить, искать и закачивать какие-либо дополнительные программы, и даже вовсе не обязательно быть программистом. Для этого достаточно иметь Windows 2000/XP и комплект программ MS Office, а именно - MS Access. В качестве реактора ASP-страниц, можно использовать обычный Блокнот.

Вся статья: http://www.kbyte.ru/articles/showarticle.aspx?id=34&group=2

Наверх

 

Visual Basic в офисных приложениях

Автор: Присяжнюк Анатолий Васильевич < awpriss17@mail.ru>

добавлено: 08.04.2006 / 10:16

Среду программирования Visual Basic, а особенно её разновидность VBA (Visual Basic for Aplication), можно успешно использовать при проведении всевозможных олимпиад и турниров по программированию. Именно под этим углом зрения мы рассмотрим два следующих вопроса: файлы и массивы, так как без первоначальных умений работать с массивами и файлами мы не можем приступать к разработке на VB.Net обещанной игрушки. Сначала сформулируем условие задачи.

Вся статья: http://www.kbyte.ru/articles/showarticle.aspx?id=33&group=1

Наверх

 

Методы и события форм

Автор: BiT <bit@kbyte.ru>

добавлено: 07.04.2006 / 16:47

Основные свойства форм я рассматривал в статье “Фундамент программы или основные свойства форм”, пришло время рассмотреть основные методы и события форм.

Вся статья: http://www.kbyte.ru/articles/showarticle.aspx?id=32&group=1

Наверх


III. Универсальные коды

http://www.kbyte.ru/unicode/

Ведущий раздела: Немиро Алексей <aleksey@kbyte.ru>

 

Как получить данные из базы данных?

 

Visual Basic

Создайте стандартный EXE-проекта. Добавьте ссылку на библиотеку MS DAO 3.6 (меню Проект => Ссылки => Microsoft DAO 3.6 Object Library). Для чтения данных из базы данных, используйте следующий код:

'создание необходимых объектов 
Dim RS As DAO.Recordset 
Dim db As DAO.Database 
Dim strSQL As String 

'подключение к базе данных Access 
Set db = DAO.OpenDatabase(App.Path & "\db.mdb") 

'стандартный SQL-запрос на выборку данных 
strSQL = "SELECT * FROM tblMain ORDER BY id" 

  'выполнение запроса 
  Set RS = db.OpenRecordset(strSQL) 
   
  'проверка количества записей в БД 
  RS.MoveLast: RS.MoveFirst 
  If RS.RecordCount > 0 Then 
    'перебор данных 
    Do Until RS.EOF 
      'вывод данных 
      Debug.Print RS("id") 
      'следующая запись 
      'ВНИМАНИЕ: если эту строку пропустить 
      'получится бесконечный цикл 
      'и программа зависнет! 
      RS.MoveNext 
    Loop 
  End If

Скачать пример

Наверх

ASP

Для получения данных из базы данных можно использовать ниже следующий код. Обратите внимание, в одной папке с asp-страничкой должна находться база данных MS Access db.mdb с таблицой tblMain и полями id и name.

<%
  Response.CacheControl = "no-cache"
  Response.AddHeader "Pragma", "no-cache"
  Response.Expires = -1
  adOpenStatic = 3
  'создаем объекты доступа к базе данных
  Set Conn = Server.CreateObject("ADODB.Connection")
  Set RS = Server.CreateObject("ADODB.Recordset")
  'получаем путь к базе данных
  strDBPath = Server.MapPath("db.mdb")
  'подключаемся к базе данных
  Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
            strDBPath
  'создаем запрос выборки данных
  strSQL = "SELECT * FROM tblMain " & _
           "ORDER BY id"
  'выполняем запрос в подключенной БД
  strResult = vbNullString
  RS.Open strSQL, Conn, adOpenStatic
  'если данные есть, то выводим их
  If RS.RecordCount > 0 Then
    'выводим данные
    Do Until RS.EOF
      strResult = strResult & "Запись #" & RS("id") & _
            ": " & RS("name") & "<br/>" & vbCrLf
    Loop
  Else
    'данных нет, выводим сообщение об этом
    strResult = "Нет данных..."
  End If
  
  'закрываем БД
  Conn.Close
  'удаляем объекты из памяти
  Set RS = Nothing
  Set Conn = Nothing
'выводим данные
Response.Write(strResult)
%>

Скачать пример

Наверх


Выпуск подготовил: Немиро Алексей


В избранное