Saturday 4 July 2015

VB.NET :: membuat Web cam dengan vb.net



This sample shows how to display the incoming video from a webcam in a picturebox. It will display a list of avaliable devices and allow you to capture an image and save it. It uses the CapCreateCaptureWindow api. This sample requires a listbox lstDevices, picturebox picCapture, 4 buttons (btnStart, btnSave, btnStop, btnInfo), and a Save File Dialog sfdImage.
Imports System.Runtime.InteropServices
Public Class Form1
    Const WM_CAP As Short = &H400S
    Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10
    Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11
    Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30
    Public Const WM_CAP_GET_STATUS As Integer = WM_CAP + 54
    Public Const WM_CAP_DLG_VIDEOFORMAT As Integer = WM_CAP + 41
    Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50
    Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52
    Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53
    Const WS_CHILD As Integer = &H40000000
    Const WS_VISIBLE As Integer = &H10000000
    Const SWP_NOMOVE As Short = &H2S
    Const SWP_NOSIZE As Short = 1
    Const SWP_NOZORDER As Short = &H4S
    Const HWND_BOTTOM As Short = 1
    Private DeviceID As Integer = 0 ' Current device ID
    Private hHwnd As Integer ' Handle to preview window
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
        (ByVal hwnd As IntegerByVal wMsg As IntegerByVal wParam As Integer, _
        ByRef lParam As CAPSTATUSAs Boolean
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
       (ByVal hwnd As IntegerByVal wMsg As IntegerByVal wParam As Boolean, _
       ByRef lParam As IntegerAs Boolean
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
         (ByVal hwnd As IntegerByVal wMsg As IntegerByVal wParam As Integer, _
         ByRef lParam As IntegerAs Boolean
    Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, _
        ByVal hWndInsertAfter As IntegerByVal x As IntegerByVal y As Integer, _
        ByVal cx As IntegerByVal cy As IntegerByVal wFlags As IntegerAs Integer

    Declare Function DestroyWindow Lib "user32" (ByVal hndw As IntegerAs Boolean
    Structure POINTAPI
        Dim x As Integer
        Dim y As Integer
    End Structure
    Public Structure CAPSTATUS
        Dim uiImageWidth As Integer                    '// Width of the image
        Dim uiImageHeight As Integer                   '// Height of the image
        Dim fLiveWindow As Integer                     '// Now Previewing video?
        Dim fOverlayWindow As Integer                  '// Now Overlaying video?
        Dim fScale As Integer                          '// Scale image to client?
        Dim ptScroll As POINTAPI                    '// Scroll position
        Dim fUsingDefaultPalette As Integer            '// Using default driver palette?
        Dim fAudioHardware As Integer                  '// Audio hardware present?
        Dim fCapFileExists As Integer                  '// Does capture file exist?
        Dim dwCurrentVideoFrame As Integer             '// # of video frames cap'td
        Dim dwCurrentVideoFramesDropped As Integer     '// # of video frames dropped
        Dim dwCurrentWaveSamples As Integer            '// # of wave samples cap'td
        Dim dwCurrentTimeElapsedMS As Integer          '// Elapsed capture duration
        Dim hPalCurrent As Integer                     '// Current palette in use
        Dim fCapturingNow As Integer                   '// Capture in progress?
        Dim dwReturn As Integer                        '// Error value after any operation
        Dim wNumVideoAllocated As Integer              '// Actual number of video buffers
        Dim wNumAudioAllocated As Integer              '// Actual number of audio buffers
    End Structure
    Declare Function capCreateCaptureWindowA Lib "avicap32.dll" _
         (ByVal lpszWindowName As StringByVal dwStyle As Integer, _
         ByVal x As IntegerByVal y As IntegerByVal nWidth As Integer, _
         ByVal nHeight As ShortByVal hWndParent As Integer, _
         ByVal nID As IntegerAs Integer
    Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, _
        ByVal lpszName As StringByVal cbName As IntegerByVal lpszVer As String, _
        ByVal cbVer As IntegerAs Boolean
    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        LoadDeviceList()
        If lstDevices.Items.Count > 0 Then
            btnStart.Enabled = True
            lstDevices.SelectedIndex = 0
            btnStart.Enabled = True
        Else
            lstDevices.Items.Add("No Capture Device")
            btnStart.Enabled = False
        End If
        Me.AutoScrollMinSize = New Size(100, 100)
        btnStop.Enabled = False
        btnSave.Enabled = False
        btnInfo.Enabled = False
        picCapture.SizeMode = PictureBoxSizeMode.StretchImage
    End Sub
    Private Sub LoadDeviceList()
        Dim strName As String = Space(100)
        Dim strVer As String = Space(100)
        Dim bReturn As Boolean
        Dim x As Short = 0
        
        ' Load name of all avialable devices into the lstDevices
        '
        Do
            '
            '   Get Driver name and version
            '
            bReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100)
            '
            ' If there was a device add device name to the list
            '
            If bReturn Then lstDevices.Items.Add(strName.Trim)
            x += CType(1, Short)
        Loop Until bReturn = False
    End Sub

    Private Sub OpenPreviewWindow()
        Dim iHeight As Integer = picCapture.Height
        Dim iWidth As Integer = picCapture.Width
        '
        ' Open Preview window in picturebox
        '
        hHwnd = capCreateCaptureWindowA(DeviceID.ToString, WS_VISIBLE Or WS_CHILD, 0, 0, 1280, _
            1024, picCapture.Handle.ToInt32, 0)
        '
        ' Connect to device
        '
        If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, DeviceID, 0) Then
            '
            'Set the preview scale
            '
            SendMessage(hHwnd, WM_CAP_SET_SCALE, True, 0)

            '
            'Set the preview rate in milliseconds
            '
            SendMessage(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0)

            '
            'Start previewing the image from the camera
            '
            SendMessage(hHwnd, WM_CAP_SET_PREVIEW, True, 0)

            '
            ' Resize window to fit in picturebox
            '
            SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, picCapture.Width, picCapture.Height, _
                    SWP_NOMOVE Or SWP_NOZORDER)

            btnSave.Enabled = True
            btnStop.Enabled = True
            btnStart.Enabled = False
            btnInfo.Enabled = True
        Else
            '
            ' Error connecting to device close window
            
            DestroyWindow(hHwnd)
            btnSave.Enabled = False
        End If
    End Sub
    Private Sub btnStart_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnStart.Click
        DeviceID = lstDevices.SelectedIndex
        OpenPreviewWindow()
        Dim bReturn As Boolean
        Dim s As CAPSTATUS
        bReturn = SendMessage(hHwnd, WM_CAP_GET_STATUS, Marshal.SizeOf(s), s)
        Debug.WriteLine(String.Format("Video Size {0} x {1}"s.uiImageWidth, s.uiImageHeight))
    End Sub
    Private Sub ClosePreviewWindow()
        '
        ' Disconnect from device
        '
        SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, DeviceID, 0)
        '
        ' close window
        '
        DestroyWindow(hHwnd)
    End Sub
    Private Sub btnStop_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnStop.Click
        ClosePreviewWindow()
        btnSave.Enabled = False
        btnStart.Enabled = True
        btnInfo.Enabled = False
        btnStop.Enabled = False
    End Sub
    Private Sub btnSave_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnSave.Click
        Dim data As IDataObject
        Dim bmap As Bitmap

        '
        ' Copy image to clipboard
        '
        SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0)
        '
        ' Get image from clipboard and convert it to a bitmap
        '
        data = Clipboard.GetDataObject()
        If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
            bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Bitmap)
            picCapture.Image = bmap
            ClosePreviewWindow()
            btnSave.Enabled = False
            btnStop.Enabled = False
            btnStart.Enabled = True
            btnInfo.Enabled = False
            Trace.Assert(Not (bmap Is Nothing))
            If sfdImage.ShowDialog = DialogResult.OK Then
                bmap.Save(sfdImage.FileName, Imaging.ImageFormat.Bmp)
            End If
        End If
    End Sub
    Private Sub Form1_Closing(ByVal sender As ObjectByVal e As System.ComponentModel.CancelEventArgsHandles MyBase.Closing
        If btnStop.Enabled Then
            ClosePreviewWindow()
        End If
    End Sub
    Private Sub btnInfo_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles btnInfo.Click
        SendMessage(hHwnd, WM_CAP_DLG_VIDEOFORMAT, 0&, 0&)
    End Sub
End Class

PHP :: Download Source code Login Multi User dengan PHP



Tampilan apabila user belum login, terlihat pada gambar dibawah apabila user belum login menu yang tampil hanya tiga buah, yaitu menu Home, Download dan About.


Tampilan apabila user berhasil login dengan hak akses/level user, terlihat pada gambar tidak ada tombol tambah, edit maupun delete disana, kemudian lihat jumlah menu yang tampil menjadi lima buah menu..















Nah dibawah ini dia login yang menggunakan hak akses/level admin, terlihat lengkap dengan tombol CRUDnya,
















tapi jangan salah kaprah ya... aplikasi ini dibuat hanya untuk mempelajari tentang cara login dengan hak akses tertentu/login multiuser, tidak termasuk operasi CRUD didalamnya, nah pada gambar itu tu yang tampil datanya merupakan data statis yang dibuat sendiri alias tidak diambil dari database...

Login admin :
--username = admin
--password = admin
Login user :
--username = user
--password = user

Download source codenya disini 

ANDROID :: Membuat Splash Screen Pada Android Menggunakan Delphi XE5/XE6


1. Buat Folder untuk projek kita
2. Siapakan Gambar untuk spalsh screen.
3. Buat styles.xml - untuk konfigurasi splash screen.
4. Edit AndroidManifest.template.xml
5. Atur deployment pada delphi XE5 / XE6


 Membuat Folder untuk projek kita

Jika teman - teman menyimpan file projek android dan mengcompilenya maka akan tampil struktur folder seperti

 -Folder Projek
     -Android
     -res
         -splash.png
         -styles.xml

Nah silahkan buat folder res sendiri.

Mempersiapkan gambar splash.png

Buat atau download gambar yang ingin kita buat sebagai gambar splash

Contoh Gambar yang saya siapakan ( Klik Gambar untuk melihat resulusi sebenrnya )


Simpan gambar dengan splash.png kedalam folder res.

Membuat File styles.xml

Buatlah file styles.xml lalu simpan kedlam folder res

 <resources>
<style name="MyTheme.NoTitleBar.SplashWindow" parent="@android:Theme.Holo">
  <item name="android:windowBackground">@drawable/splash</item>
  <item name="android:windowNoTitle">true</item>
  <item name="android:windowFullscreen">true</item>
</style>
</resources>
Mengedit File AndroidManifest.template.xml 

Berikut adalah hasil edit dari AndroidManifest.template.xml yang sya miliki



Buka File  AndroidManifest.template.xml  yang ada didalam folder projek.
Ganti baris berikut
Original: android: theme = "% theme%">

Menjadi
android:theme="@style/MyTheme.NoTitleBar.SplashWindow"

Mengatur deployment prjek pada delphi XE5/XE6 

Pilih Projek - deployment ,Lalu pilih Add File dan tambahkan file styles.xml dan splash.png

Untuk splash.png atur 
Platform: Android
Remote Path: res\drawable\

Untuk styles.xml atur
Platform: Android
Remote Path: res\values\

Silahkan coba compile apliasi yang sudah dibuat :) semoga bermanfaat.
Untuk video demonya akan di upload saat ada waktu luang :) 

ANDROID :: membuat aplikasi android dengan delphi ras xe6


Salam Pada Postingan Kali ini saya Akan memberikan tutorial membuat aplikasi Android dengan RAD XE6 untuk Pemula.
Langsung Saja Pada Langkah Pertama
silahkan Di buka Dulu IDE RAD XE6
Pada menu file , silahkan klik new kemudian Pilih FireMonkey Mobile Aplication-Delphi lihat Gambar 1
brgin1
Gambar 1
maka akan muncul popup form seperti gambar 2
begin2
Gambar 2
klik Blank Aplication kemudian klik OK seperti gambar 2 , dan akan mucul interface aplikasi kita lihat Gambar 3
begin3
Gambar 3
Anda Bisa Menambahkan komponen-komponen yang ada pada tool Palete lihat gambar 4
begin4
Gambar 4
Pada Button OK silahkan diberi even onClick kemudian Silahkan Isikan Kode berikut
1
2
3
4
5
6
7
8
9
10
procedure TForm1.OKClick(Sender: TObject);
 
var alamat,nama : string;
begin
nama:='Hallo Nama Saya : '+Edit1.Text;
alamat:= 'Alamat saya di : '+Edit2.Text;
ShowMessage(nama + sLineBreak + alamat)
 
 
end;
Dari kode di atas dapat di lihat . ketika kita meng klik tombol OK maka akan tampil pesan dengan paramater yang ada pada variabel nama dan Alamat yang di isi denganString yang terdapat pada Edit1 dan Edit2 
Sekarang kita dapat menjalankan atau Debug Program dengan menekan f9 yang ada pada keyboard ,
nah untuk menjalankan program kita dapat menggunakan Device atau HH Androidyang kita punya atau bisa juga menggunakan Emulator yang sudah di bundle pada saat kita install  RAD XE6
disini saya menggunakan Target Device Android yang saya punya dapat dilihat target nya pada gambar 5 dan Gambar 6 saat saya Running
Gambar 5
Gambar 5
Gambar 6
Gambar 6
Nah setelah dirunning Dapat Dilihat  program yang kita Buat tadi dapat lihat gambar 7
Gambar 7
Gambar 7
Demikian Tutorial Dari saya jika Ada yang Kurang Paham silahkan Koment#keepCoding
Untuk APK dapat Di Download disini
Untuk Source nya disini