Monday, June 22, 2015

Membuat Notpead Dengan Gambas

Posted by UJIAN PAS TAHUN AJARAN 2020/2021 on 1:37 AM




Pertama tama yang harus kita sediakan untuk membuat Notpead sederhana :

1. Buat halaman baru dengan Nama Form FAbout




2. Copy paste secript di bawah ini

STATIC PUBLIC SUB Run()
 
  DIM hForm AS Form
 
  hForm = NEW FAbout
  hForm.ShowModal
 
END


PUBLIC SUB _new()
 
  ME.Center
 
END


PUBLIC SUB btnOK_Click()
 
  ME.Close
 
END







3. Buat Form baru dengan cara Klik kanan pada FAbout New Form dengan nama FNotpead










4. Cara Membuat sub Menu dengan Klik kanan pada tampilan Form + Menu Editor



5. Lalu Copy paste secript di bawah ini

PRIVATE $sPath AS String
PRIVATE $bModify AS Boolean


STATIC PUBLIC SUB Main()

  DIM hForm AS Form

  hForm = NEW FNotepad
  hForm.Show
 

END


PUBLIC SUB _new()

  txtNotepad.Text = ""
  $bModify = FALSE
  RefreshTitle
  txtNotePad.SetFocus

END


PRIVATE FUNCTION GetName() AS String

  IF $sPath THEN RETURN $sPath

  RETURN "(SASMITA)"

END


PRIVATE SUB RefreshTitle()

  DIM sTitle AS String

  IF $bModify THEN sTitle = "*"
  sTitle = sTitle & GetName()

  ME.Title = sTitle

END


PRIVATE SUB SetPath(sPath AS String)

  $sPath = sPath
  RefreshTitle

END

PRIVATE SUB SetModify(bModify AS Boolean)

  IF $bModify = bModify THEN RETURN
  $bModify = bModify
  RefreshTitle

END


PRIVATE FUNCTION CloseDoc() AS Boolean

  IF $bModify THEN
    SELECT CASE Message.Question(GetName() & "\n\nApakah Anda Yakin Ingin Keluar, Save Terdahulu ?", "Yes", "No", "Cancel")
      CASE 1
        Save
      CASE 3
        RETURN TRUE
    END SELECT
  ENDIF

  $sPath = ""
  txtNotepad.Text = ""
  $bModify = FALSE
  RefreshTitle

END



PUBLIC SUB Load(sPath AS String)

  DIM sData AS String

  IF CloseDoc() THEN RETURN

  sData = File.Load(sPath)
  txtNotepad.Text = Conv(sData, System.Charset, Desktop.Charset)
  $bModify = FALSE
  SetPath(sPath)

CATCH

  Message.Error(sPath & "\nUnable to load file.\n" & Error.Text)

END


PUBLIC SUB Save(OPTIONAL bSaveAs AS Boolean)
 
  IF bSaveAs OR NOT $sPath THEN
    IF Dialog.SaveFile() THEN RETURN
    SetPath(Dialog.Path)
  ENDIF
 
  File.Save($sPath, txtNotepad.Text)
 
END


PUBLIC SUB mnuOpen_Click()
 
  DIM sPath AS String

  Dialog.Filter = ["*", "All files", "*.{c;cpp;h}", "C/C++ files", "*.txt", "Text files", "*.desktop", "Desktop files"]

  IF Dialog.OpenFile() THEN RETURN
  Load(Dialog.Path)
 
END


PUBLIC SUB mnuSave_Click()
 
  Save
 
END


PUBLIC SUB mnuSaveAs_Click()
 
  Save(TRUE)
 
END


PUBLIC SUB mnuQuit_Click()
 
  ME.Close
 
END


PUBLIC SUB txtNotepad_Change()
 
  SetModify(TRUE)
 
END


PUBLIC SUB mnuClose_Click()
 
  CloseDoc
 
END


PUBLIC SUB Form_Close()
 
  IF CloseDoc() THEN STOP EVENT
 
END


PUBLIC SUB mnuAbout_Click()

  INC Application.Busy
  FAbout.Run
  DEC Application.Busy
 
END


PUBLIC SUB mnuCopy_Click()
  Clipboard.Clear 
  txtNotepad.Copy
 
END


PUBLIC SUB mnuPaste_Click()
 
  txtNotepad.Paste
 
END


PUBLIC SUB mnuCut_Click()
 
  txtNotepad.Cut
 
END


PUBLIC SUB mnuUndo_Click()


txtNotepad.Undo



 
END


PUBLIC SUB mnuRedo_Click()


  txtNotepad.Redo
 
END


PUBLIC SUB mnuFont_Click()
 
  Dialog.Font = txtNotepad.Font
  IF Dialog.SelectFont() THEN RETURN
  txtNotepad.Font = Dialog.Font
 
 

 
END

PUBLIC SUB mnuWrap_Click()

  mnuWrap.Checked = NOT mnuWrap.Checked
  txtNotePad.Wrap = mnuWrap.Checked

END




PUBLIC SUB txtNotepad_KeyPress()

 

END

PUBLIC SUB MenuAbout_Click()

  INC Application.Busy
  FAbout.Run
  DEC Application.Busy
 

END


6. Selesai. . . .  :)
semoga bermanfaat bagi kawan - kawan

Thursday, June 4, 2015

Identitas Calon Dengan Gambas

Posted by UJIAN PAS TAHUN AJARAN 2020/2021 on 11:10 PM

 1. kita buat dulu module1 untuk koneksi database 

l
Lalu kelik 2x pada module1 copy paste script di bawah

PUBLIC db AS NEW connection

PUBLIC rsF AS result
PUBLIC rsP AS Result
PUBLIC sql AS String

PUBLIC FUNCTION koneksi() AS Boolean
  db.CLOSE
  db.type = "MySQL"
  db.host = "localhost"
  db.login = "root"
  db.password = ""
  db.OPEN
 
 
END
PUBLIC SUB Fill1(tbv1 AS TableView, sql AS String)
 
  DIM i AS Float
  rsF = db.Exec(sql)
 
  WITH rsF
  tbv1.Rows.count = 0
  IF .count <> 0 THEN 
  tbv1.Columns.count = .fields.count
  tbv1.Rows.Count = .count
  ENDIF
 
 
END WITH
END
PUBLIC SUB Fill2(tbv2 AS TableView, sql AS String)
 
  DIM i AS Float
  rsP = db.Exec(sql)

  WITH rsP
  tbv2.Rows.count = 0
  IF .count <> 0 THEN 
  tbv2.Columns.count = .fields.count
  tbv2.Rows.Count = .count
  ENDIF
 
 
END WITH
END

2. Buatlah tampilan Form seperti di bawah ini







Lalu copy paste script dibawah ini
 





PUBLIC sql AS String
PUBLIC rsF AS result
PUBLIC rs AS result
hfile AS File
flname AS String

SUB tampilkan()
WITH TableView1
.Rows.count = 0
.Columns.count = 17
.Columns[0].Text = "Nomor Peserta"
.Columns[1].Text = "Nama"
.Columns[2].Text = "Tempat"
.Columns[3].Text = "Tanggal Lahir"
.Columns[4].Text = "Jenis Kelamin"
.Columns[5].Text = "Pekerjaan"
.Columns[6].Text = "Alamat Lengkap Calon"
.Columns[7].Text = "Agama"
.Columns[8].Text = "Tinggi Badan"
.Columns[9].Text = "Berat Badan"
.Columns[10].Text = "Suku"
.Columns[11].Text = "Bangsa"
.Columns[12].Text = "Pendidikan Terakhir"
.Columns[13].Text = "Jurusan"
.Columns[14].Text = "Tahun Lulus"
.Columns[15].Text = "Nilai Nem/Huan"
.Columns[16].Text = "Nomor Hp"

END WITH
Module1.Fill1(TableView1, "select * from calon order by nop")
END
SUB aturtombol(tambah AS Boolean, ubah AS Boolean, hapus AS Boolean, simpan AS Boolean, batal AS Boolean, keluar AS Boolean, cari AS Boolean)
 
  btntambah.enabled = tambah
  btnubah.enabled = ubah
  btnhapus.enabled = hapus
  btnsimpan.enabled = simpan
  btnbatal.enabled = batal
  btnkeluar.enabled = keluar
  btncari.enabled = cari
 
END
SUB aturtext(nop AS Boolean, nama AS Boolean, tempat AS Boolean, tgl AS Boolean, jk AS Boolean, pekerjaan AS Boolean, alamat AS Boolean, agama AS Boolean, tinggi AS Boolean, berat AS Boolean, suku AS Boolean, bangsa AS Boolean, pendidikan AS Boolean, jurusan AS Boolean, tahun AS Boolean, nilai AS Boolean, no AS Boolean)
 
  txtnomor.enabled = nop
  txtnama.enabled = nama
  txttempat.enabled = tempat
  txttgl.Enabled = tgl
  cmbjk.Enabled = jk
  txtpekerjaan.Enabled = pekerjaan
  txtalamat.Enabled = alamat
  cmbagama.Enabled = agama
  cmbtinggi.Enabled = tinggi
  cmbberat.Enabled = berat
  cmbsuku.Enabled = suku
  cmbbangsa.Enabled = bangsa
  cmbpendidikan.Enabled = pendidikan
  cmbjurusan.Enabled = jurusan
  cmbtahun.Enabled = tahun
  txtnilai.Enabled = nilai
  txtno.Enabled = no
 
 
 
END
SUB bersihin()
 
   txtnomor.Text = ""
  txtnama.Text = ""
  txttempat.Text = ""
  txttgl.Text = ""
  cmbjk.Text = ""
  txtpekerjaan.Text = ""
  txtalamat.Text = ""
  cmbagama.Text = ""
  cmbtinggi.Text = ""
  cmbberat.Text = ""
  cmbsuku.Text = ""
  cmbbangsa.Text = ""
  cmbpendidikan.Text = ""
  cmbjurusan.Text = ""
  cmbtahun.Text = ""
  txtnilai.Text = ""
  txtno.Text = ""
 
 
 
END

PUBLIC SUB Form_Open()

DIM dbname AS String
DIM tbname AS String
DIM htable AS table
txtcari.Text = "Masukkan Kode ID"

cmbjk.Add("Laki-Laki")
cmbjk.Add("Perempuan")

cmbagama.Add("Islam")
cmbagama.Add("Kristen")
cmbagama.Add("Katolik")
cmbagama.Add("Hindu")

cmbtinggi.Add("160cm")
cmbtinggi.Add("161cm")
cmbtinggi.Add("162cm")
cmbtinggi.Add("163cm")
cmbtinggi.Add("164cm")
cmbtinggi.Add("165cm")
cmbtinggi.Add("166cm")
cmbtinggi.Add("167cm")
cmbtinggi.Add("168cm")
cmbtinggi.Add("169cm")
cmbtinggi.Add("170cm")
cmbtinggi.Add("172cm")
cmbtinggi.Add("172cm")
cmbtinggi.Add("173cm")
cmbtinggi.Add("174cm")
cmbtinggi.Add("175cm")
cmbtinggi.Add("176cm")
cmbtinggi.Add("177cm")
cmbtinggi.Add("178cm")
cmbtinggi.Add("179cm")
cmbtinggi.Add("180cm")

cmbberat.Add("35kg")
cmbberat.Add("36kg")
cmbberat.Add("37kg")
cmbberat.Add("38kg")
cmbberat.Add("39kg")
cmbberat.Add("40kg")
cmbberat.Add("41kg")
cmbberat.Add("42kg")
cmbberat.Add("43kg")
cmbberat.Add("44kg")
cmbberat.Add("45kg")
cmbberat.Add("46kg")
cmbberat.Add("47kg")
cmbberat.Add("48kg")
cmbberat.Add("49kg")
cmbberat.Add("50kg")
cmbberat.Add("51kg")
cmbberat.Add("52kg")
cmbberat.Add("53kg")
cmbberat.Add("54kg")
cmbberat.Add("55kg")
cmbberat.Add("56kg")
cmbberat.Add("57kg")
cmbberat.Add("58kg")
cmbberat.Add("59kg")
cmbberat.Add("60kg")

cmbsuku.Add("Gayo")
cmbsuku.Add("Aceh")
cmbsuku.Add("Padang")
cmbsuku.Add("Batak")
cmbsuku.Add("Jawa")
cmbsuku.Add("Papua")

cmbbangsa.Add("Indonesia")
cmbbangsa.Add("Papua")

cmbpendidikan.Add("TK")
cmbpendidikan.Add("SD")
cmbpendidikan.Add("SMP")
cmbpendidikan.Add("SMA")
cmbpendidikan.Add("S1")
cmbpendidikan.Add("S2")

cmbjurusan.Add("-")
cmbjurusan.Add("IPA")
cmbjurusan.Add("IPS")
cmbjurusan.Add("Tekni Informatika")
cmbjurusan.Add("Pisipol")
cmbjurusan.Add("Pertanian")
cmbjurusan.Add("Ekonomi")
cmbjurusan.Add("Managemen")
cmbjurusan.Add("Budi Daya Perairan")

cmbtahun.Add("1998")
cmbtahun.Add("1999")
cmbtahun.Add("2000")
cmbtahun.Add("2001")
cmbtahun.Add("2002")
cmbtahun.Add("2003")
cmbtahun.Add("2004")
cmbtahun.Add("2005")
cmbtahun.Add("2006")
cmbtahun.Add("2007")
cmbtahun.Add("2008")
cmbtahun.Add("2009")
cmbtahun.Add("2010")

aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
aturtext(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
dbname = "identitas"
tbname = "calon"
ME.Caption = "Tabel Calon"
ME.Center
flname = User.Home & "/datacalon.html"
WITH module1
.koneksi

IF NOT .db.Databases.Exist(dbname) THEN
.db.Databases.Add(dbname)
.db.Close
.db.Name = dbname
.db.Open

IF NOT .db.Tables.Exist(tbname) THEN
htable = .db.Tables.Add(tbname)
htable.fields.add("nop", gb.String, 50)
htable.fields.add("nama", gb.String, 30)
htable.fields.add("tempat", gb.String, 30)
htable.fields.add("tgl", gb.String, 30)
htable.fields.add("jk", gb.String, 30)
htable.fields.add("pekerjaan", gb.String, 30)
htable.fields.add("alamat", gb.String, 30)
htable.fields.add("agama", gb.String, 30)
htable.fields.add("tinggi", gb.String, 30)
htable.fields.add("berat", gb.String, 30)
htable.fields.add("suku", gb.String, 30)
htable.fields.add("bangsa", gb.String, 30)
htable.fields.add("pendidikan", gb.String, 30)
htable.fields.add("jurusan", gb.String, 30)
htable.fields.add("tahun", gb.String, 30)
htable.fields.add("nilai", gb.String, 30)
htable.fields.add("no", gb.String, 30)
htable.primarykey = ["nop"]
htable.update
END IF

ELSE
.db.Close
.db.Name = dbname
.db.Open
END IF
END WITH
bersihin()
tampilkan()
sql = "select count(*)as jml from calon"
rs = db.Exec(sql)
Label2.Text = "Jumlah Data:" & rs!jml
END
PUBLIC SUB Form_Close()
  IF Exist(flname) THEN KILL flname
 

END

PUBLIC SUB TableView1_Data(Row AS Integer, Column AS Integer)

  DIM arrtable[17] AS String
arrtable[0] = "nop"
arrtable[1] = "nama"
arrtable[2] = "tempat"
arrtable[3] = "tgl"
arrtable[4] = "jk"
arrtable[5] = "pekerjaan"
arrtable[6] = "alamat"
arrtable[7] = "agama"
arrtable[8] = "tinggi"
arrtable[9] = "berat"
arrtable[10] = "suku"
arrtable[11] = "bangsa"
arrtable[12] = "pendidikan"
arrtable[13] = "jurusan"
arrtable[14] = "tahun"
arrtable[15] = "nilai"
arrtable[16] = "no"


WITH Module1
.rsF.MoveTo(row)
TableView1.Data.Text = Str(.rsF[arrtable[column]])
END WITH

END

PUBLIC SUB TableView1_Click()

txtnomor.Text = TableView1[TableView1.row, 0].Text
txtnama.Text = TableView1[TableView1.row, 1].Text
txttempat.Text = TableView1[TableView1.row, 2].Text
txttgl.Text = TableView1[TableView1.row, 3].Text
cmbjk.Text = TableView1[TableView1.row, 4].Text
txtpekerjaan.Text = TableView1[TableView1.row, 5].Text
txtalamat.Text = TableView1[TableView1.row, 6].Text
cmbagama.Text = TableView1[TableView1.row, 7].Text
cmbtinggi.Text = TableView1[TableView1.row, 8].Text
cmbberat.Text = TableView1[TableView1.row, 9].Text
cmbsuku.Text = TableView1[TableView1.row, 10].Text
cmbbangsa.Text = TableView1[TableView1.row, 11].Text
cmbpendidikan.Text = TableView1[TableView1.row, 12].Text
cmbjurusan.Text = TableView1[TableView1.row, 13].Text
cmbtahun.Text = TableView1[TableView1.row, 14].Text
txtnilai.Text = TableView1[TableView1.row, 15].Text
txtno.Text = TableView1[TableView1.row, 16].Text


aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
aturtext(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
CATCH
message.Info("Data Masih Kosong", "OK")

END



PUBLIC SUB btntambah_Click()

  bersihin()
aturtext(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
TableView1.Enabled = FALSE
txtnomor.setfocus


END

PUBLIC SUB btnsimpan_Click()

  IF txtnomor.Text = "" OR txtnama.Text = "" OR txttempat.Text = "" OR txttgl.Text = "" OR cmbjk.Text = "" OR txtpekerjaan.Text = "" OR txtalamat.Text = "" OR cmbagama.Text = "" OR cmbtinggi.Text = "" OR cmbberat.Text = "" OR cmbsuku.Text = "" OR cmbbangsa.Text = "" OR cmbpendidikan.Text = "" OR cmbjurusan.Text = "" OR cmbtahun.Text = "" OR txtnilai.Text = "" OR txtno.Text = "" THEN
 Message.Warning("Data belum lengkap", "OK")
 ELSE
 
WITH Module1
sql = "insert into calon values ('" & txtnomor.Text & "', '" & txtnama.Text & "', '" & txttempat.Text & "', '" & txttgl.Text & "', '" & cmbjk.Text & "', '" & txtpekerjaan.Text & "', '" & txtalamat.Text & "', '" & cmbagama.Text & "', '" & cmbtinggi.Text & "', '" & cmbberat.Text & "', '" & cmbsuku.Text & "', '" & cmbbangsa.Text & "', '" & cmbpendidikan.Text & "', '" & cmbjurusan.Text & "', '" & cmbtahun.Text & "', '" & txtnilai.Text & "', '" & txtno.Text & "')"
.db.Exec(sql)
tampilkan()
TableView1.Enabled = TRUE
aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
txtcari.Enabled = TRUE

END WITH

ENDIF


END

PUBLIC SUB btncari_Click()

  sql = "select * from calon where nop='" & txtcari.Text & "'"
rsF = Module1.db.Exec(sql)
txtnomor.Text = rsF!nop
txtnama.Text = rsF!nama
txtalamat.Text = rsF!tempat
txttgl.Text = rsF!tgl
cmbjk.Text = rsF!jk
txtpekerjaan.Text = rsF!pekerjaan
txtalamat.Text = rsF!alamat
cmbagama.Text = rsF!agama
cmbtinggi.Text = rsF!tinggi
cmbberat.Text = rsF!berat
cmbsuku.Text = rsF!suku
cmbbangsa.Text = rsF!bangsa
cmbpendidikan.Text = rsF!pendidikan
cmbjurusan.Text = rsF!jurusan
cmbtahun.Text = rsF!tahun
txtnilai.Text = rsF!nilai
txtno.Text = rsF!no


txtnomor.SetFocus
END

PUBLIC SUB txtcari_GotFocus()

  txtcari.Text = "" 
END




PUBLIC SUB btnhapus_Click()

  SELECT Message.Question("Yakin Anda Menghapus", "ya", "tidak")
CASE 1
sql = "delete from calon where nop='" & txtnomor.Text & "'"
Module1.db.Exec(sql)
tampilkan()
IF NOT ERROR THEN
  Message.Info("Data Berhasil Dihapus", "ok")
  tampilkan
  ENDIF
CASE 2
txtcari.setfocus
END SELECT
btnhapus.Enabled = TRUE
btnubah.Enabled = TRUE
bersihin()
tampilkan()


END

PUBLIC SUB btnubah_Click()

  sql = "update calon set nop ='" & txtnomor.Text & "',nama='" & txtnama.Text & "',tempat='" & txttempat.Text & "',tgl='" & txttgl.Text & "',jk='" & cmbjk.Text & "',pekerjaan='" & txtpekerjaan.Text & "',alamat='" & txtalamat.Text & "',agama='" & cmbagama.Text & "',tinggi='" & cmbtinggi.Text & "',berat='" & cmbberat.Text & "',suku='" & cmbsuku.Text & "',bangsa='" & cmbbangsa.Text & "',jurusan='" & cmbjurusan.Text & "',tahun='" & cmbtahun.Text & "',nilai='" & txtnilai.Text & "',no='" & txtno.Text & "'"
module1.db.Exec(sql)
tampilkan()
IF NOT ERROR THEN
  Message.Info("data telah terubah")
  ENDIF
  FINALLY
CATCH
message.Error(DConv(Error.Text))

tampilkan()
aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
END


PUBLIC SUB header(prn AS Boolean)
 
PRINT #hfile, "<html>"
PRINT #hfile, "<head><title>Identitas Calon/title></head>"
PRINT #hfile, "<body"
  IF prn = TRUE THEN PRINT #hFile, " onload='window.print()'"
PRINT #hfile, ">"
PRINT #hfile, "<table border='0' align= center>"
PRINT #hfile, "<tr"
PRINT #hfile, "<td colspan='18'align='center'bgcolor='blue>"
PRINT #hfile, "<h3><font face='lucida sans'color='white'>Data Identitas Calon</font></h3>"
PRINT #hfile, "</td>"
PRINT #hfile, "</tr>"
PRINT #hfile, "<td width='35%'align='center'bgcolor='gray'<b>Nomor Peserta</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Nama</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tempat</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tanggal Lahir</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Jenis Kelamin</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Pekerjaan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Alamat Lengkap Calon</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Agama</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tinggi Badan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Berat Badan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Suku</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Bangsa</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Pendidikan Terakhir</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Jurusan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Tahun Lulus</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Nilai Nem/Huan</b></td>"
PRINT #hfile, "<td align='center'bgcolor='yellow'<b>Nomor Hp</b></td>"

            
 
END

PUBLIC SUB content(p1 AS String, p2 AS String, p3 AS String, p4 AS String, p5 AS String, p6 AS String, p7 AS String, p8 AS String, p9 AS String, p10 AS String, p11 AS String, p12 AS String, p13 AS String, p14 AS String, p15 AS String, p16 AS String, p17 AS String)
 
PRINT #hfile, "<tr>"
PRINT #hfile, "<td >" & p1 & "</td>"
PRINT #hfile, "<td >" & p2 & "</td>"
PRINT #hfile, "<td >" & p3 & "</td>"
PRINT #hfile, "<td >" & p4 & "</td>"
PRINT #hfile, "<td >" & p5 & "</td>"
PRINT #hfile, "<td >" & p6 & "</td>"
PRINT #hfile, "<td >" & p7 & "</td>"
PRINT #hfile, "<td >" & p8 & "</td>"
PRINT #hfile, "<td >" & p9 & "</td>"
PRINT #hfile, "<td >" & p10 & "</td>"
PRINT #hfile, "<td >" & p11 & "</td>"
PRINT #hfile, "<td >" & p12 & "</td>"
PRINT #hfile, "<td >" & p13 & "</td>"
PRINT #hfile, "<td >" & p14 & "</td>"
PRINT #hfile, "<td >" & p15 & "</td>"
PRINT #hfile, "<td >" & p16 & "</td>"
PRINT #hfile, "<td >" & p17 & "</td>"
PRINT #hfile, "</tr>"
END

PUBLIC SUB footer()
 
   PRINT #hfile, "</table>"
    PRINT #hfile, "</body>"
     PRINT #hfile, "<html>"
    
  
 
END
PUBLIC SUB printit(prn AS Boolean)
 
  DIM i AS Float
  WITH module1
  .rsF = .db.Exec("select * from calon order by nop")
  IF .rsF.count <> 0 THEN
  IF Exist(flname) THEN KILL flname
  OPEN flname FOR WRITE CREATE AS #hfile
  header(prn)
  i = 0
  WHILE i < .rsF.Count
  content(CStr(.rsF!nop), CStr(.rsF!nama), CStr(.rsF!tempat), CStr(.rsF!tgl), CStr(.rsF!jk), CStr(.rsF!pekerjaan), CStr(.rsF!alamat), CStr(.rsF!agama), CStr(.rsF!tinggi), CStr(.rsF!berat), CStr(.rsF!suku), CStr(.rsF!bangsa), CStr(.rsF!pendidikan), CStr(.rsF!jurusan), CStr(.rsF!tahun), CStr(.rsF!nilai), CStr(.rsF!no))
  i = i + 1
  .rsF.MoveNext
  WEND
  footer
 CLOSE #hFile
      Fpreview.SetPath(flname)
      Fpreview.ShowModal
  ENDIF
  END WITH
  END

PUBLIC SUB btnbatal_Click()

  aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
  txtcari.Enabled = TRUE
  bersihin()
  TableView1.Enabled = TRUE

END


PUBLIC SUB btnkeluar_Click()

  ME.Close

END

PUBLIC SUB gbtn_Click()

   SELECT CASE LAST.tag
    CASE 1
      printit(FALSE)

    CASE 2
      printit(TRUE)

  END SELECT

END


3.Buatlah WebBrowser dengan Klik kanan pada form lalau new, beri nama dengan Fpreview




Lalu copy paste script dibawah ini

' Gambas class file


PUBLIC SUB btnoke_Click()

  ME.Close
 

END

PUBLIC SUB Form_Open()

  ME.Center
 

END

PUBLIC SUB Form_Resize()

   webbrowser1.Move(0, 36, ME.ClientWidth, ME.ClientHeight - 70)
  Button1.Move(ME.clientwidth - 88, ME.ClientHeight - 32, 88, 32)

END

PUBLIC SUB SetPath(sPath AS String)

  WebBrowser1.Path = sPath

END

Selesai. . . . .. . 
semoga bermanfaat jangan lupa comentnya. . .
By Amex





Tuesday, June 2, 2015

Membuat Data Mahasiswa Dengan Gambas

Posted by UJIAN PAS TAHUN AJARAN 2020/2021 on 2:03 AM

1. Langsung saja kita mulai, pertam kita sediakan bahan untuk membuat Data Mahasiswa.

Nama                         Type             Group
NPM (PK)                   Label                -
Nama Mahasiswa      Label                -
Tempat Tgl                 Label                -
Alamat                        Label               -
txtnpm                        Textbox            -
txtnama_mahasiswa  Textbox            -
txtlhr                          Textbox            -
txtalamat                   Textbox            -
txtcari                        Textbox            -
btnsmpn                     Button             -
btntmbh                     Button             -  
btnhps                        Button             -
btnubah                     Button              -
btnbtl                         Button              -
btnkeluar                   Button              -
btntmpl                      Button            gbtn
btncetak                    Button             gbtn
btncari                       Button
TableView1
WebBrowser1
btnoke

 2. Tampilan form






3.Copy paste script di bawah ini

' Gambas class file

PUBLIC sql AS String
PUBLIC rsb AS Result
hfile AS File
flname AS String

PUBLIC SUB Form_Open()

  DIM dbname AS String
  DIM tbname AS String
  DIM htable AS Table
 
  txtcari.Text = "Masukkan NPM"
  ME.Caption = "Tabel Mahasiswa"
  ME.Center
 
  dbname = "kampus"
  tbname = "mahasiswa"
  flname = User.Home & "/ datamahasiswa.html "
 
  WITH Module1
  .koneksi
  IF NOT .db.Databases.Exist(dbname) THEN
  .db.Databases.Add(dbname)
  .db.Close
  .db.Name = dbname
  .db.Open
 
  IF NOT .db.Tables.Exist(tbname) THEN
  htable = .db.Tables.Add(tbname)
  htable.Fields.Add("npm ", gb.string, 20)
  htable.Fields.Add("nama_mahasiswa ", gb.varchar, 100)
  htable.Fields.Add("tempat_tgl_lahir ", gb.varchar, 50)
  htable.Fields.Add("alamat ", gb.varchar, 30)
  htable.PrimaryKey = ["npm"]
  htable.Update
  END IF
 
  ELSE
  .db.Close
  .db.Name = dbname
  .db.Open
  END IF
  END WITH
 bersbihin()
 tampilkan()

 sql = "select count(*)as jml from mahasiswa"
 rsb = Module1.db.Exec(sql)

 Label5.Text = "Jumlah Data:" & rsb!jml

END

PUBLIC SUB Form_Close()

  IF Exist(flname) THEN KILL flname
 

END

SUB bersbihin()
 
  txtnpm.Text = ""
  txtnama_mahasiswa.Text = ""
  txtlhr.Text = ""
  txtalamat.Text = ""
 
 
END

SUB tampilkan()
 
  WITH TableView1
  .Rows.Count = 0
  .Columns.Count = 4
 
  .Columns[0].Text = "NPM"
  .Columns[1].Text = "Nama Mahasiswa"
  .Columns[2].Text = "Tempat/Tgl. Lahir"
  .Columns[3].Text = "Alamat"
 
  .Columns[0].Width = "150"
  .Columns[1].Width = "300"
  .Columns[2].Width = "250"
  .Columns[3].Width = "300"
 
  END WITH
  Module1.Fill(TableView1, "select*from mahasiswa order by nama_mahasiswa")

END

PUBLIC SUB TableView1_Click()

  txtnpm.Text = TableView1[TableView1.Row, 0].Text
  txtnama_mahasiswa.Text = TableView1[TableView1.Row, 1].Text
  txtlhr.Text = TableView1[TableView1.Row, 2].Text
  txtalamat.Text = TableView1[TableView1.Row, 3].Text
  CATCH
  Message.Info("Data Masih Kosong", "Ok")
 

END

PUBLIC SUB TableView1_Data(Row AS Integer, column AS Integer)
 
  DIM arrtable[4] AS String
  arrtable[0] = "npm"
  arrtable[1] = "nama_mahasiswa"
  arrtable[2] = "tempat_tgl_lahir"
  arrtable[3] = "alamat"
  WITH Module1
 
  .rsb.MoveTo(Row)
 
  TableView1.Data.Text = Str(.rsb[arrtable[column]])
  END WITH

END

PUBLIC SUB btntmbh_Click()

  bersbihin()
  TableView1.Enabled = FALSE
  txtnpm.SetFocus

END

PUBLIC SUB btnsmpn_Click()

  IF txtnpm.Text = "" OR txtnama_mahasiswa.Text = "" OR txtlhr.Text = "" OR txtalamat.Text = "" THEN
  Message.Warning("Data belum lengkap", " Ok ")
  ELSE
  WITH Module1
 
  sql = "insert into mahasiswa values('" & txtnpm.Text & "','" & txtnama_mahasiswa.Text & "','" & txtlhr.Text & "','" & txtalamat.Text & "')"
  .db.Exec(sql)
  tampilkan()
  TableView1.Enabled = TRUE
  END WITH
  END IF
  CATCH
  Message.Info("Data sudah ada dalam database", "Ok")
  bersbihin()
  TableView1.Enabled = TRUE

END

PUBLIC SUB btncari_Click()

  sql = "select*from mahasiswa where npm='" & txtcari.Text & "'"
  rsb = Module1.db.Exec(sql)
  txtnpm.Text = rsb!npm
  txtnama_mahasiswa.Text = rsb!nama_mahasiswa
  txtlhr.Text = rsb!tempat_tgl_lahir
  txtalamat.Text = rsb!alamat
  txtnpm.SetFocus
  CATCH
  Message.Info("Data tidak ditemukan", "Ok")

END

PUBLIC SUB txtcari_GotFocus()

  txtcari.Text = ""

END

PUBLIC SUB btnhps_Click()

  SELECT Message.Question("Yakin akan menghapus", "Ya", "Tidak")
  CASE 1
  sql = "delete from mahasiswa where npm='" & txtnpm.Text & "'"
  Module1.db.Exec(sql)
  IF ERROR THEN
  Message.Info("Data berhasil dihapus", "Ok")
  tampilkan
  END IF
 
  CASE 2
  txtcari.SetFocus
  END SELECT
  bersbihin()

END

PUBLIC SUB btnubah_Click()

  sql = "update mahasiswa set npm='" & txtnpm.Text & "',nama_mahasiswa='" & txtnama_mahasiswa.Text & "',tempat_tgl_lahir='" & txtlhr.Text & "',alamat='" & txtalamat.Text & "'where npm='" & txtnpm.Text & "'"
  Module1.db.Exec(sql)

END

PUBLIC SUB btnbtl_Click()

  bersbihin()
  TableView1.Enabled = TRUE

END

PUBLIC SUB gbtn_Click()
 
  SELECT CASE LAST.tag
  CASE 1
  printit(FALSE)
  CASE 2
  printit(TRUE)
  END SELECT
 
 
END

PUBLIC SUB header(prn AS Boolean)
 
  PRINT #hfile, "<HTML>"
  PRINT #hfile, "<body topmargin='15' leftmargin='0'>"
  IF prn = TRUE THEN PRINT #hfile, "onload='window.print()'"
  PRINT #hfile, "<h3 align='center'><b>Data Mahasiswa</b></h3>"
  PRINT #hfile, "<table border='1' width='500' cellpadding='3' cellspacing='0' align='center'>"
  PRINT #hfile, "<tr>"
  PRINT #hfile, "<td align='center'><b>NPM</b></td>"
  PRINT #hfile, "<td align='center'><b>Nama Mahasiswa</b></td>"
  PRINT #hfile, "<td align='center'><b>Tempat/Tgl.Lahir</b></td>"
  PRINT #hfile, "<td align='center'><b>Alamat</b></td>"
  PRINT #hfile, "</tr>"
  
 
END

PUBLIC SUB content(p1 AS String, p2 AS String, p3 AS String, p4 AS String)
 
  PRINT #hfile, "<tr>"
  PRINT #hfile, "<td>" & p1 & " </td >"
  PRINT #hfile, "<td>" & p2 & " </td >"
  PRINT #hfile, "<td>" & p3 & " </td >"
  PRINT #hfile, "<td>" & p4 & " </td >"
  PRINT #hfile, "</tr>"
 
 
END

PUBLIC SUB footer()
 
  PRINT #hFile, "<table>"
  PRINT #hFile, "</body>"
  PRINT #hFile, "</html>"
 
END

PUBLIC SUB printit(prn AS Boolean)
 
  DIM i AS Float
  WITH Module1
  .rsb = .db.Exec("select*from mahasiswa order by nama_mahasiswa")
  IF .rsb.Count <> 0 THEN
  IF Exist(flname) THEN KILL flname
  OPEN flname FOR WRITE CREATE AS #hfile
  header(prn)
  i = 0
  WHILE i < .rsb.Count
  content(CStr(.rsb!npm), CStr(.rsb!nama_mahasiswa), CStr(.rsb!tempat_tgl_lahir), (.rsb!alamat))
  i = i + 1
  .rsb.MoveNext
  WEND
  footer
  CLOSE #hfile
  FPreview.SetPath(flname)
  FPreview.ShowModal
  END IF
  END WITH
END
PUBLIC SUB btnkeluar_Click()

  ME.Close

END


3. Buat form baru dengan nama FPreview  lalu tambahkan WebBrowser di dalm form yang kita buat tadi




PUBLIC SUB Form_Open()

  ME.Center

END

PUBLIC SUB Form_Resize()

  WebBrowser1.Move(0, 36, ME.ClientWidth, ME.ClientHeight - 70)
  Button1.Move(ME.ClientWidth - 88, ME.ClientHeight - 33, 88, 32)
 

END

PUBLIC SUB Button1_Click()

  ME.Close

END

PUBLIC SUB SetPath(sPath AS String)
 
  WebBrowser1.Path = sPath
 
END


selesai !!!!!!!
thanks sudah mengunjung blog saya !!!!
ayo undang teman teman mu juga ke blog ini. . . ?
Salam Amex.




Saturday, May 30, 2015

Membuat Koneksi Database Dengan Gambas

Posted by UJIAN PAS TAHUN AJARAN 2020/2021 on 10:24 AM

Kawan - kawan pasti bingung bagai mana cara membuat koneksi databse. Nah sekarang langsung saja kita mulai untuk membuat database ?

1.Pertama kita sediakan Module dengan cara Klik kanan pada Modules, New,  Module.


2. Klik pada Module1 yang sudah kita buat tadi, dengan isi kan Script di bawah ini.

PUBLIC db AS NEW Connection
PUBLIC rsb AS Result

PUBLIC FUNCTION koneksi() AS Boolean
 
  db.Close
  db.Type = "mysql"
  db.Host = "localhost"
  db.User = "root"
  db.Password = ""
  db.Open
 
 
END


Terimakasih .
Semoga bermanfaat ^_^ salam Amex

Friday, May 29, 2015

Script Simpan, Ubah, Tampil, Hapus, Print, Cari dengan gambas

Posted by UJIAN PAS TAHUN AJARAN 2020/2021 on 10:27 AM


PUBLIC SUB btnsimpan_Click()

  IF txtid.Text = "" OR txtnama.Text = "" OR txttgl.Text = "" OR txtalamat.Text = "" OR txtno.Text = "" OR txtjml.Text = "" THEN
 Message.Warning("Data belum lengkap", "OK")
 ELSE
 
WITH Module1
sql = "insert into karyawan values ('" & txtid.Text & "', '" & txtnama.Text & "', '" & txttgl.Text & "', '" & txtalamat.Text & "', '" & txtno.Text & "', '" & txtjml.Text & "')"
.db.Exec(sql)
tampilkan()
TableView1.Enabled = TRUE
aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
txtcari.Enabled = TRUE

END WITH

ENDIF


END




PUBLIC SUB gbtn_Click()

   SELECT CASE LAST.tag
    CASE 1
      printit(FALSE)

    CASE 2
      printit(TRUE)

  END SELECT

END



PUBLIC SUB btntambah_Click()

  bersihin()
aturtext(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
TableView1.Enabled = FALSE
txtid.setfocus


END






PUBLIC SUB btnubah_Click()

  sql = "update karyawan set id ='" & txtid.Text & "',nama='" & txtnama.Text & "',tgl='" & txttgl.Text & "',alamat='" & txtalamat.Text & "',no='" & txtno.Text & "',jml='" & txtjml.Text & "'"
module1.db.Exec(sql)
tampilkan()
IF NOT ERROR THEN
  Message.Info("data telah terubah")
  ENDIF
  FINALLY
CATCH
message.Error(DConv(Error.Text))

tampilkan()
aturtombol(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)
END



PUBLIC SUB btnhapus_Click()

  SELECT Message.Question("Yakin Anda Menghapus", "ya", "tidak")
CASE 1
sql = "delete from karyawan where id='" & txtid.Text & "'"
Module1.db.Exec(sql)
tampilkan()
IF NOT ERROR THEN
  Message.Info("Data Berhasil Dihapus", "ok")
  tampilkan
  ENDIF
CASE 2
txtcari.setfocus
END SELECT
btnhapus.Enabled = TRUE
btnubah.Enabled = TRUE
bersihin()
tampilkan()


END


Add caption

PUBLIC SUB btncari_Click()

  sql = "select * from karyawan where id='" & txtcari.Text & "'"
rsF = Module1.db.Exec(sql)
txtid.Text = rsF!id
txtnama.Text = rsF!nama
txttgl.Text = rsF!tgl
txtalamat.Text = rsF!alamat
txtno.Text = rsF!no
txtjml.Text = rsF!jml

txtid.SetFocus
END

PUBLIC SUB txtcari_GotFocus()

  txtcari.Text = "" 
END





PUBLIC SUB gbtn_Click()
 
  SELECT CASE LAST.tag
  CASE 1
  printit(FALSE)
  CASE 2
  printit(TRUE)
  END SELECT
 
 
END

Monday, May 25, 2015

Contoh Login dengan Gambas

Posted by UJIAN PAS TAHUN AJARAN 2020/2021 on 3:08 AM


1. Buat Lah Tampilan Form Login sebaik Mungkin atau sebagai berikut : 
    - PictureBox1
    - ProgressBar1
    - Timer1
    - Label1
    - Label2
    - TextBox1
    - TextBox2
    - Button1
    - Button2


2. Klik 2x pada Timer1


PUBLIC SUB Timer1_Timer()

  ProgressBar1.value = ProgressBar1.value + 0.20
  IF ProgressBar1.value = 1 THEN
  ME.Close
  timer1.enabled = FALSE
  FMain.show
  ENDIF

END


3. Klik 2x pada Button2 atau Button Login

 PUBLIC SUB Button2_Click()

  IF TextBox1.text = "1" AND textbox2.text = "admin" THEN
  ProgressBar1.Visible = TRUE
  timer1.Enabled = TRUE
  TextBox1.height = 28
  TextBox1.border = FALSE
  ELSE
  SELECT Message.Question("password salah", "ulangi", "tidak")
  CASE 1
  TextBox1.text = ""
  CASE 2
  ME.Close
  END SELECT
  END IF

END


4. Klik 2x pada Button2 atau Button Exit


 PUBLIC SUB Button2_Click()

  ME.close

END


Selesai semoga bermanfaat. . .  :)
dan jangan lupa Komentarnya. . .
Like nya jugaya.





  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin

Search Site