Arsip

Posts Tagged ‘VB.Net’

Stack (Tumpukan)

22 Januari 2013 1 komentar

Ada temen kantor yang masih kuliah dan galau dengan tugas kuliahnya tentang Stack (Tumpukan) karena dia akan boring kalau belajar programming….hi…makanya sambil bantu sambil refresh ilmu waktu kuliah dulu.

Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First Out), benda terakhir masuk dalam stack akan menjadi benda pertama yang dikeluarkan dari stack. Di Pascal, ada 2 cara penerapan prinsip stack yakni dengan array dan linked list.

Langsung saja tidak pakai panjang x lebar ini source hasil belajar menggunakan VB.Net…he…sory kalo masih jelek and salah…hi…

Public Class fStack

  Private Const vMax As Integer = 14
  Private stc As stStack

  Structure stStack
    Public top_push, top_pop As Integer
    Public data_push(), data_pop() As String
  End Structure

  Private Sub prPush(ByVal pStr As String)
    stc.data_push(stc.top_push) = pStr
    stc.top_push += 1
  End Sub

  Private Sub prShowStack(ByVal pConPop As Boolean)
    lbPush.Items.Clear()
    For i As Integer = stc.top_push - 1 To 0 Step -1
      lbPush.Items.Add(stc.data_push(i))
    Next
    If pConPop Then
      lbPop.Items.Clear()
      For i As Integer = stc.top_pop - 1 To 0 Step -1
        lbPop.Items.Add(stc.data_pop(i))
      Next
    End If
  End Sub

  Private Function fnPop() As String
    Dim tTmp As String = String.Empty
    If stc.top_push <> 0 Then
      stc.top_push -= 1
      tTmp = stc.data_push(stc.top_push)

      ReDim Preserve stc.data_pop(stc.top_pop)
      stc.data_pop(stc.top_pop) = tTmp
      stc.top_pop += 1
      prShowStack(True)
    Else
      MsgBox("Stack telah Kosong...!", MsgBoxStyle.Exclamation, "Perhatian")
    End If
    Return tTmp
  End Function

  Private Sub btPush_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btPush.Click
    If txInput.Text = String.Empty Then
      MsgBox("Silahkan masukkan data yang akan di Push...!", MsgBoxStyle.Exclamation, "Perhatian")
      Exit Sub
    End If
    Try
      If stc.top_push <> vMax Then
        prPush(txInput.Text)
        prShowStack(False)
      Else
        MsgBox("Stack telah Penuh...!", MsgBoxStyle.Exclamation, "Perhatian")
      End If
    Finally
      txInput.Focus()
    End Try
  End Sub

  Private Sub btPop_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btPop.Click
    Try
      fnPop()
    Finally
      txInput.Focus()
    End Try
  End Sub

  Private Sub fStack_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    With stc
      .top_pop = 0
      .top_push = 0
      ReDim .data_push(vMax - 1)
    End With
  End Sub
End Class

O iya di form designnya saya kasih 1 label, 1 textbox, 2 listbox dan 2 button.

Hasil running programnya :

view_stack

Terima Kasih…

Iklan

Replace non numeric character in String


Iseng2 aja ingin coba2 untuk mempersingkat syntax biar diprogram lebih simpel, syntax yang dipakai untuk menghilangkan character yang bukan numeric / angka.
misalnya ada string berisi S5000TO maka yang keluar akan menjadi 5000 yang dihilangkan character STO
Syntax yang lama…

Private Function fnParseDigits(ByVal strRawValue as String) As String
  Dim strDigits As String = ""
  If strRawValue = Nothing Then Return strDigits

  For Each c As Char In strRawValue.ToCharArray()
  If c.IsDigit Then
    strDigits &= c
  End If
  Next c

  ' return the number string, or "" if no numbers were in the string.
  Return strDigits
End Function

akhirnya ketemu syntax lebih cepatnya dapat dari forum…he…
C#

string initialString = "S5000TO";
System.Text.RegularExpressions.Regex nonNumericCharacters = new System.Text.RegularExpressions.Regex(@"[^0-9]");
string numericOnlyString = nonNumericCharacters.Replace(initialString, String.Empty);

VB

Dim initialString as String = "S5000TO"
Dim nonNumericCharacters As New System.Text.RegularExpressions.Regex("[^0-9]")
Dim numericOnlyString As String = nonNumericCharacters.Replace(initialString, String.Empty)

Selamat mencoba…Terima Kasih…

Stored Procedure dengan Temp Table di Fast Report

5 April 2011 2 komentar

Iseng2 nyoba buat report pake Fast Report karena banyak fitur bagus yang memang sedang saya cari. Saking senangnya coba buat report ketemu error sewaktu buat Data Source untuk koneksi ke server dan eksekusi Stored Procedure.

Saya cek lagi di Stored Procedure lagi

ALTER PROCEDURE [dbo].[prRepKunj]
  -- Add the parameters for the stored procedure here
  @pUnit nchar(2), @pTgl1 nchar(10), @pTgl2 nchar(10), @pPE nchar(4)=''
AS
BEGIN
  DECLARE @tPE nvarchar(254), @tTmp nvarchar(254), @tSQL nvarchar(1000)
  -- SET NOCOUNT ON added to prevent extra result sets from
  -- interfering with SELECT statements.
  --SET NOCOUNT ON;

  CREATE TABLE #tmpKunj(fDtg datetime default null, fSls datetime default null, fIDV nchar(10), fIDR nchar(10),
  fNm nvarchar(35), fAlmt nvarchar(254), fJns nvarchar(254), fLks nchar(1), fLksAlmt nvarchar(254),
  fProd nvarchar(100), fPmkn nchar(1), fTkrUang numeric default 0, fTkrUnd numeric default 0,
  fKet nvarchar(1000))

  ...

END

Baca selanjutnya…

Mempercepat proses Build .NET CF

16 September 2010 Tinggalkan komentar

Dulu waktu saya melakukan Build project .Net CF (Compact Framework) di Visual Studio 2008 lama banget sampai membutuhkan waktu paling cepat 5 menit padahal kalau menggunakan Visual studio 2005 tidak ada masalah seperti ini. Kalau Buildnya sekali sich tidak masalah tapi kalau ada banyak perubahan dan harus sering melakukan Build ulang maka membutuhkan banyak waktu yang akan terbuang percuma dan hanya menunggu proses Build yang lama. Karena terlalu sering begitu maka iseng2 buka2 dan di search MSDN akhirnya menemukan secercah cara yaitu menggunakan Platform Verification Task. Jika kita men Disable akan mempercepat proses Build project .NET CF dengan waktu yang lumayan cepat.

Baca selanjutnya…