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

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


Выпуск # 2


http://www.kbyte.ru/

 

Новый выпуск!

Здравствуйте дамы и господа!

Не прошло и недели, как вот, готов очередной выпуск рассылки нашего портала – Kbyte.Ru!

 

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

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

 

1.

FAQ VB 5.0/6.0

 

1.1. Как добавлять текст в метку по одной букве?

 

1.2. Как воспроизвести .avi файл?

 

1.3. Как запретить ввод в TextBox отрицательных чисел?

 

1.4. Как определить версию Windows?

 

1.5. Как сделать форму с закругленными краями?

 

 

2.

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

 

2.1. ASP: Работа с Cookies

 

2.2. ASP: Как отправить E-Mail?

 

2.3. VB: Стандартное окно «О программе»

 

2.4. VB: Как издать звук через динамик ПК?

 

2.5. VB: Как конвертировать цветную картинку в черно-белую (оттенок серого)?

 

 

FAQ VB 5.0/6.0

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

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

 

1.1 > Как добавлять текст в метку по одной букве?

 

  Option Explicit
  Dim strPer As String
  Dim strTemp As String
  Dim bytCount As Byte

  Private Sub Form_Load()
    Timer1.Interval = 300
    Label1 = ""
  End Sub

  Private Sub Timer1_Timer()
    strPer = "Наш текст, будет появляться по одной букве"
    strTemp = Left(strPer, bytCount)
    bytCount = bytCount + 1
    Label1 = strTemp
  End Sub

 

<наверх>

 

1.2 > Как воспроизвести .avi файл?

 

  Option Explicit
  Dim i As Integer

  Private Sub Command1_Click()
    If i = 0 Then
      Command1.Caption = "Удалить файл"
      With Animation1
        .Stop
        .Visible = False
        .Open (App.Path & "\One.avi")
        .Visible = True
        .Play
      End With
      i = i + 1
    Else
      Command1.Caption = "Очистить корзину"
      With Animation1
        .Stop
        .Visible = False
        .Open (App.Path & "\Two.avi")
        .Visible = True
        .Play
      End With
      i = 0
    End If
  End Sub

 

<наверх>

 

1.3 > Как запретить ввод в TextBox отрицательных чисел?

 

Разрешен ввод только цифр от 1 до 9.

 

  Option Explicit

  Private Sub Form_Load()
    Text1 = ""
  End Sub

  Private Sub Text1_Change()
    If Val(Right((Text1), 1)) <= 0 And Len(Text1) > 0 Then
      Text1 = Left(Text1, Len(Text1) - 1)
      Text1.SelStart = Len(Text1)
    End If
  End Sub

 

<наверх>

 

1.4 > Как определить версию Windows?

 

  Option Explicit

  Private Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
  End Type

  Private Declare Function GetVersionEx Lib _
  "kernel32" Alias "GetVersionExA" _
  (lpVersionInformation As OSVERSIONINFO) As Long

  Private Sub Form_Load()
    'Multiline = True
    Dim lngOS As OSVERSIONINFO, strName As String
    Dim strVer As String
    Me.AutoRedraw = True
    lngOS.dwOSVersionInfoSize = Len(lngOS)
    strVer = GetVersionEx(lngOS)
    Select Case lngOS.dwPlatformId
      Case 0
        strName = "Windows 32s"
      Case 1
        strName = "Windows 95/98"
      Case 2
        strName = "Windows NT"
    End Select
    Text1 = ""
    Text1 = "Операционка: " + strName & vbCrLf & "Версия винды:" _
    + Str$(lngOS.dwMajorVersion) + "." _
    + LTrim$(Str(lngOS.dwMinorVersion)) _
    & vbCrLf & "Build: " + Str$(lngOS.dwBuildNumber)
  End Sub

 

<наверх>

 

1.5 > Как сделать форму с закругленными краями?

 

  Option Explicit

  Private Declare Function _
  CreateRoundRectRgn Lib "gdi32" _
  (ByVal X1 As Long, _
  ByVal Y1 As Long, _
  ByVal X2 As Long, _
  ByVal Y2 As Long, _
  ByVal X3 As Long, _
  ByVal Y3 As Long) As Long

  Private Declare Function SetWindowRgn _
  Lib "user32" (ByVal hwnd As Long, _
  ByVal hRgn As Long, _
  ByVal bRedraw As Long) As Long

  Private Declare Function CreatePolygonRgn _
  Lib "gdi32" (lpPoint As Koor, _
  ByVal nCount As Long, _
  ByVal nPolyFillMode As Long) As Long

  Private Type Koor
    x As Long
    y As Long
  End Type

  Private Sub Form_Load()
    Dim MakeRegion As Long
    MakeRegion = CreateRoundRectRgn _
    (0 / Screen.TwipsPerPixelX, _
    0 / Screen.TwipsPerPixelY, _
    2000 / Screen.TwipsPerPixelX, _
    2000 / Screen.TwipsPerPixelY, 50, 50)
    Call SetWindowRgn(Me.hwnd, MakeRegion, True)
  End Sub

 

<наверх>

 

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

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

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

 

2.1 > ASP: Работа с Cookies

 

'запись куков
'срок хранение куков – 1 год
Response.Cookies("Kbyte.Ru").Expires = DateAdd("yyyy", 1, Date)
'данные
Response.Cookies("Kbyte.Ru")("Test") = "какие-то данные"
Response.Cookies("Kbyte.Ru")("EsheTest") = "еще данные"
'==============================================================
'получение данных из куков
Response.Write(Request.Cookies("Kbyte.Ru")("Test"))

 

<наверх>

 

2.2 > ASP: Как отправить E-Mail?

 

Set mailMessage = Server.CreateObject("CDO.Message")
If Not mailMessage Is Nothing Then
  mailMessage.From = "admin@kbyte.ru"
  mailMessage.To = "Вася@пупкин.net"
  mailMessage.Subject = "Тема письма"
  mailMessage.HTMLBody = "Тест письма"
  mailMessage.Send
End If
Set mailMessage = Nothing

 

<наверх>

 

2.3 > VB: Стандартное окно «О программе»

 

Зачем изобретать велосипед и каждый раз придумывать новое окно «О программе». В Windows уже давно все придумано! Создайте стандартный EXE-проект, на форме (Form) разместите один элемент CommandButton и вставьте следующий код.

 

Private Declare Function ShellAbout _
  Lib "shell32" Alias "ShellAboutA" _
  (ByVal hWnd As Long, ByVal szApp As String, _
  ByVal szOtherStuff As String, _
  ByVal hIcon As Long) As Long

Private Sub Command1_Click()
  ShellAbout Me.hWnd, _
  "Пример ShellAbout", _
  "Автор примера: Немиро Алексей", _
  Me.Icon
End Sub

 

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

<наверх>

 

2.4 > VB: Как издать звук через динамик ПК?

 

Создайте стандартный EXE-проект и вставьте следующий код.

 

Private Declare Function Beep _
  Lib "kernel32" (ByVal dwFreq As Long, _
  ByVal dwDuration As Long) As Long

Private Sub Form_Load()
  Beep 300, 500
  Beep 100, 500
  Beep 50, 500
End Sub

 

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

<наверх>

 

2.5 > VB: Как конвертировать цветную картинку в черно-белую (оттенок серого)?

 

Создайте стандартный EXE-проект, на форме (Form) разместите два элемента PictureBox и один элемент CommandButton. В первый элемент PictureBox – Picture1 установите любую цветную картинку.

 

Private Sub Form_Load()
  Picture1.ScaleMode = vbPixels
  Picture2.ScaleMode = vbPixels
  Picture1.AutoRedraw = True
  Picture2.AutoRedraw = True
End Sub

Private Sub Command1_Click()
  Dim b1 As Byte, b2 As Byte, b3 As Byte
  Dim lColor&, x&, y&, Gray!

  Picture2.Cls
  For x = 0 To Picture1.ScaleWidth
    For y = 0 To Picture1.ScaleHeight
      lColor = Picture1.Point(x, y)
      b1 = lColor And &HFF
      b2 = (lColor \ 256) And &HFF
      b3 = (lColor \ 65536) And &HFF
      Gray = b1 * 0.3 + b2 * 0.59 + b3 * 0.11
      lColor = RGB(Gray, Gray, Gray)
      Picture2.PSet (x, y), lColor
    Next y
    DoEvents
  Next x
End Sub

 

<наверх>


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


В избранное