Option Explicit
Dim bar, i, j As Integer
Dim newbar As Integer
Dim Totalbar As Integer
Dim tmpnama() As String
Dim tmpalamat() As String
Dim tmpkelas() As String
Dim tmplahir() As String
Dim tmptxt As String
Dim Pilih As Integer
Private Sub Command1_Click()
LihatSort.Show
End Sub
Private Sub Command6_Click()
Open "sorting.txt" For Output As #1
For i = 1 To Totalbar
For j = i To Totalbar
Select Case Pilih
Case 0
If tmpnama(i) < tmpnama(j) Then sorting ' nama ascending
Case 1
If tmpnama(i) > tmpnama(j) Then sorting ' nama descending
Case 2
If Val(tmpkelas(i)) < Val(tmpkelas(j)) Then sorting ' kelas ascending
Case 3
If Val(tmpkelas(i)) > Val(tmpkelas(j)) Then sorting ' kelas descending
Case 4
If tmpalamat(i) < tmpalamat(j) Then sorting ' alamat ascending
Case 5
If tmpalamat(i) > tmpalamat(j) Then sorting ' alamat descending
Case 6
If Val(tmplahir(i)) < Val(tmplahir(j)) Then sorting ' lahir ascending
Case 7
If Val(tmplahir(i)) > Val(tmplahir(j)) Then sorting ' lahir descending
End Select
Next j
Write #1, tmpnama(i), tmpkelas(i), tmpalamat(i), tmplahir(i)
Next i
Close #1
LihatRec (bar)
End Sub
Private Sub Form_Load() ' sorting load data
Me.Top = FormUtama.Top
Me.Left = FormUtama.Width + FormUtama.Left + 10
Totalbar = 30
ReDim tmpnama(Totalbar)
ReDim tmpalamat(Totalbar)
ReDim tmpkelas(Totalbar)
ReDim tmplahir(Totalbar)
bar = 1
Open "datasiswa.txt" For Input As #1
Do While Not EOF(1)
Input #1, tmpnama(bar), tmpkelas(bar), tmpalamat(bar), tmplahir(bar)
bar = bar + 1
Loop
Totalbar = bar - 1
Close #1
'LihatRec (Totalbar)
End Sub
Sub sorting()
tmptxt = tmpnama(i)
tmpnama(i) = tmpnama(j)
tmpnama(j) = tmptxt
tmptxt = tmpkelas(i)
tmpkelas(i) = tmpkelas(j)
tmpkelas(j) = tmptxt
tmptxt = tmpalamat(i)
tmpalamat(i) = tmpalamat(j)
tmpalamat(j) = tmptxt
tmptxt = tmplahir(i)
tmplahir(i) = tmplahir(j)
tmplahir(j) = tmptxt
End Sub
Sub LihatRec(bar As Integer)
Text1.Text = tmpnama(bar)
Text2.Text = tmpkelas(bar)
Text3.Text = tmpalamat(bar)
Text4.Text = tmplahir(bar)
End Sub
Private Sub CommandSebelum_Click(Index As Integer)
bar = bar - 1
If bar <= 1 Then bar = 1
LihatRec (bar)
End Sub
Private Sub CommandSelanjutnya_Click(Index As Integer)
bar = bar + 1
If bar >= Totalbar Then bar = Totalbar
LihatRec (bar)
End Sub
Private Sub Option1_Click()
Pilih = 0
End Sub
Private Sub Option2_Click()
Pilih = 1
End Sub
Private Sub Option3_Click()
Pilih = 2
End Sub
Private Sub Option4_Click()
Pilih = 3
End Sub
Private Sub Option5_Click()
Pilih = 4
End Sub
Private Sub Option6_Click()
Pilih = 5
End Sub
Private Sub Option7_Click()
Pilih = 6
End Sub
Private Sub Option8_Click()
Pilih = 7
End Sub
=======================================
Option Explicit
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Form_Load()
Me.Top = FormUtama.Top
Me.Left = FormUtama.Width + FormUtama.Left + 10
Dim nama, kelas, alamat, lahir As String
Dim bar As Integer
Dim tinggi
tinggi = Text_nama(1).Height + 20
bar = 1
Label5.Alignment = 2
Open "d:\sorting.txt" For Input As #1
Do While Not EOF(1)
Debug.Print "Bar : "; bar
Input #1, nama, kelas, alamat, lahir
If bar = 1 Then
Text_nama(1).Text = nama
Text_kelas(1).Text = kelas
Text_alamat(1).Text = alamat
Text_lahir(1).Text = lahir
End If
If bar > 1 Then
Load Text_nama(bar)
Text_nama(bar).Visible = True
Text_nama(bar).Left = Text_nama(bar - 1).Left
Text_nama(bar).Top = Text_nama(bar - 1).Top + tinggi
Text_nama(bar).Text = nama '&H00C0E0FF&
Load Text_kelas(bar)
Text_kelas(bar).Visible = True
Text_kelas(bar).Left = Text_kelas(bar - 1).Left
Text_kelas(bar).Top = Text_kelas(bar - 1).Top + tinggi
Text_kelas(bar).Text = kelas
Load Text_alamat(bar)
Text_alamat(bar).Visible = True
Text_alamat(bar).Left = Text_alamat(bar - 1).Left
Text_alamat(bar).Top = Text_alamat(bar - 1).Top + tinggi
Text_alamat(bar).Text = alamat
Load Text_lahir(bar)
Text_lahir(bar).Visible = True
Text_lahir(bar).Left = Text_lahir(bar - 1).Left
Text_lahir(bar).Top = Text_lahir(bar - 1).Top + tinggi
Text_lahir(bar).Text = lahir
Load No(bar)
No(bar).Visible = True
No(bar).Left = No(bar - 1).Left
No(bar).Top = No(bar - 1).Top + tinggi
No(bar).Caption = bar
End If
If bar Mod 2 = 0 Then
Text_nama(bar).BackColor = &H8000000F '&HC0E0FF
Text_kelas(bar).BackColor = &H8000000F '&HC0E0FF
Text_alamat(bar).BackColor = &H8000000F '&HC0E0FF
Text_lahir(bar).BackColor = &H8000000F '&HC0E0FF
End If
bar = bar + 1
Loop
Close #1
Me.Height = 1500 + Text_nama(bar - 1).Top
Command1.Top = Text_nama(bar - 1).Top + 500
End Sub