ariswb

See also: Other Geeks@INDC
HgSqlEditor -> sql editor with #region

Kadang saya sering mengalami banyak kesulitan kalau bikin stored procedure di sql management karena banyaknya line yg harus ditulis(> 1000).

Saat mencari2 variable yang sudah didekalrasikan kita harus tarik cursor keata, kebawah.. ribet juga..

akhirnya saya berencana  buat sqleditor sendiri.. agar lebih mudahnya saya tambahin #region ..

mudahan hgSleditor bisa ditambah dengan yg lainnya (intellisense yang komplex, goto definition. dan debugging)

Berikut tampilan hgsqleditor

 

1. Un collapse

uncollapse 

Uncolapse

 

2. Collapse

Collapse

fyi.. menurut berita sql 2008 sudah ada intellisense

Sql2008

 

Share this post: | | | |
Email Notifikasi

Dalam pembuatan program serign kali kita membuatuhkan beberapa notifikasi.
Notifikasi bisa di taruh dalam log file atau email. Namun sebaiknya notifikasi menggunakan email, karena user dapat dengan mudah membaca email tersebut.
Dalam dunia .net mudah sekali membuat(mengirim) email
Berikut Contohnya:
 

Imports System.Net.Mail
Module Module1
Sub Main()
SendEmail("aaa@hgs.com;bbb@hgs.com", "test subject", "body message", "C:\test.txt")
End Sub
Private Function SendEmail(ByVal iEmailaddr As String, ByVal iSubject As String, ByVal ibodymessage As String, ByVal iFullpathAttachment As String) As Boolean
Dim avalue As Boolean = False
Dim aMailMsg As MailMessage = Nothing
Dim aMailAttachment As Attachment = Nothing
Dim aError As String = String.Empty
Dim aListEmail() As String = Split(iEmailaddr, ";")
Dim aidx As Integer
Dim ClientAddress As New MailAddress("sendermail")
‘ Dim DestAddress As New MailAddress(iEmailaddr)
Try
aMailMsg = New MailMessage
‘aMailMsg.Sender = ClientAddress
For aidx = 0 To aListEmail.Length - 1
aMailMsg.To.Add(aListEmail(aidx))
Next
aMailMsg.From = ClientAddress
aMailMsg.Subject = iSubject
aMailMsg.Body = ibodymessage
aMailAttachment = New Attachment(iFullpathAttachment)
aMailMsg.Attachments.Add(aMailAttachment)
‘bila smtp server menggunakan user authotification
Dim aClient As SmtpClient = New SmtpClient("ipsmtp")
Dim aCred As New Net.NetworkCredential("user mail sender", "passwdmail")
‘Add credentials if the SMTP server requires them
aClient.Credentials = aCred
aClient.Send(aMailMsg)
aMailMsg.Dispose()
avalue = True
Catch ex As Exception
Console.WriteLine("error send email : " & ex.Message)
End Try
Return avalue
End Function
End Module

Share this post: | | | |
Posted: Jul 03 2008, 11:41 AM by ariswb | with no comments
Filed under:
SAP .net Connector

Bagaimana kah cara SAP berkomunikasi dengan aplikasi lain?
SAP dapat mengirim data dengan aplikasi lain lewat SAP. Net Connector sebuah penghubung antara SAP dengan dunia .net.
Memang teknologi ini agak ketinggalan jaman. terlebih konektor ini hanya bisa diinstal di visual studio 2003.
cara membuat aplikasi .net yang bisa berkomunikasi dengan SAP.
1. Buat RFC (remote function call) di SAP

perbedaan sebuah function bisa dipanggil oleh RFC atau tidak hanya di radio button "remote enabe module"
2. Buka .net 2003 dan create new project untuk RFC tersebut.
- Membuat project baru

- koneksi ke SAP

- memanggil rfc


- build code


3. di compile dan menhasilkan DLL, dll ini bisa diimport ke .net 2005

4. aplikasi dipanggil dari .net 2005
setelah mendapatkan dll, sekarang build code dengan .net 2005
code utama:
Function GetCustomer(ByVal iKunnr As String) As String
Dim aCust As getcustdetail.BRFCKNA1
Dim aCustTbl As New getcustdetail.BRFCKNA1Table
Dim Getcust As New getcustdetail.getcustdetail
Dim avalue As String
Try
aCon = New SAPConnection(aConstr)
aCon.Open()
Getcust.Connection = aCon
Getcust.Rfc_Customer_Get(iKunnr, "", aCustTbl)
For Each aCust In aCustTbl
avalue = aCust.Name1
Next
Catch ex As Exception
End Try
aCon.Close()
Return avalue
End Function

dan hasilnya

untuk code aseli bisa di download di sini(ubah ext jadi zip)

Share this post: | | | |
Posted: Jul 03 2008, 11:23 AM by ariswb | with 3 comment(s)
Filed under:
Instr di dalam tsql

Kebetulan butuh mencari sebuah char dalam suatu string dalam stored procedure, setelah mencari di help mendapatkan charindex, contohnya: declare @data varchar(500) declare @pos int set @data = 'dataku=hasil' set @pos = charindex('=',@data ) select @pos hasil -> @pos = 7

Share this post: | | | |
Custom Textbox dengan warna yang berubah

Dahulu pas jamannya programming Delphi, rasanya senang banget kalo bisa menampilkan object secara runtime. Apalagi membuat visualisasi dengan object2 secara runtime dan ditambah sedikit logic programming.

Di Vb kayaknya object runtime belum ada, tetapi pas ngeliat .net 2003 dan nyobain dikit. Ternyata kita bisa buat object secara runtime, dan mudah sekali membuat class2 design dan tampilan.

Di .net 2005 saya mulai membuat object itu.. mulai dari text box yg bisa macam2, textbox yang kalau ada edit masuk warnanya berubah, kalau obligatory warnanya juga berubah..

Disini saya mau share pengalaman saat membuat textbox secara runtime

JOB: Membuat custom textbox yang warnanya bisa berubah dan ada fungsi obligatory(harus diisi) 

Tujuan dari membuat class ini :  agar dapat menggunakan object textbox lebih mudah pemakainnya


1. Membuat Class baru

 

2.Memasukan Code ke class baru

Bagian Coding yang penting saat onenter, onvalidating, onproperty changed

Coding pada class tersebut;

Public Class mytextbox : Inherits TextBox

 

    Dim _ObligColor As Color = Color.Plum

    Dim _InputColor As Color = Color.Khaki

    Dim _IsOblig As Boolean = False

    Dim _IsError As Boolean

    Dim _myErr As New System.Windows.Forms.ErrorProvider

    Sub New()

        Me.BorderStyle = Windows.Forms.BorderStyle.FixedSingle

 

    End Sub

 

    Property IsOblig() As Boolean

        Get

            Return _IsOblig

        End Get

        Set(ByVal value As Boolean)

            _IsOblig = value

            If value Then

                Me.BackColor = _ObligColor

            Else

                Me.BackColor = Color.White

            End If

        End Set

    End Property

    ReadOnly Property IsError() As Boolean

        Get

            Return _IsError

        End Get

    End Property

 

 

    Private Sub mytextbox_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Enter

        _myErr.Clear()

        _IsError = False

        Me.BackColor = _InputColor

    End Sub

 

    Private Sub mytextbox_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Leave

        If _IsOblig Then

            Me.BackColor = _ObligColor

        Else

            Me.BackColor = Color.White

        End If

 

    End Sub

 

    Private Sub mytextbox_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.Validating

        If _IsOblig Then

            doOblig()

        End If

    End Sub

    Sub doOblig()

        If Trim(Me.Text) = String.Empty Then

            _myErr.SetError(Me, "Data harus diisi")

            _IsError = True

        End If

    End Sub

End Class

 

Setelah di compile aka nada object baru


3.  Kemudian  masukan object ke dalam form

Set isOblig menjadi True

 

4. Masukan Code setelah user mengclick di button

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim aCtrl As Control

        Dim aIsError As Boolean = False

        For Each aCtrl In Me.Controls

            If aCtrl.ProductName = "textbox1" Then

                If DirectCast(aCtrl, mytextbox).IsOblig And Not DirectCast(aCtrl, mytextbox).IsError Then

                    DirectCast(aCtrl, mytextbox).doOblig()

                End If

                If DirectCast(aCtrl, mytextbox).IsError Then

                    aIsError = True

                    MsgBox("Masih ada kesalahan, data tidak dapat disimpan")

                    Exit For

 

 

                End If

            End If

        Next

        If Not aIsError Then

            MsgBox("Lakukan simpan data")

            MsgBox("Data telah disimpan")

        End If

End Sub

 

 

 

PS: ajarin dong cara masukin gambar ke blog yg enak, ada toolsnya gak, terus kalo mau upload source code gimana caranya, terus ada program spelling untuk bhs indonesia gak.. hehe biar nulisnya lebih cepet dan gak salah2 :P

 

thx

 

 

 

 

 

Share this post: | | | |