Ribbon Foxpro dengan codejock

November 1, 2016

langsung aja yaa

capture

naa cara pengunaanya kita pake ocx dari codejock, bisa cari digoogle deh,

pertama, registrasi dulu ocxnya via run administrator, pastikan juga file .lic dalam 1 folder

kedua, pada form drag drop objectnya

capture

ketiga, bikin method dalam form kasih nama misalkan createribbon, sintaknya


Public TabWrite As RibbonTab, GroupFont As RibbonGroup, Control As CommandBarControl
Public GroupClipborad As RibbonGroup, ControlPopup As CommandBarPopup

Public RibbonBar As RibbonBar
RibbonBar = Thisform.CommandBars.AddRibbonBar("Ribbon Bar")

RibbonBar.EnableDocking(1)

Public ControlFile As CommandBarPopup
ControlFile = RibbonBar.Controls.Add(2, -1, "&File", 1)
With ControlFile.CommandBar.Controls
.Add(1, 11, "&New")
.Add(1, 12, "&Open...")
Control = .Add(1, 13, "E&xit")
Control.BeginGroup = .T.
Endwith
*/Menu 1
TabWrite = RibbonBar.InsertTab(0, "Menu Master")
*/SubMenu 1.1
GroupClipborad = TabWrite.Groups.AddGroup("Tabel Referensi",1)
ControlPaste = GroupClipborad.Add(4, 111, "Ref Buku")
ControlPaste.CommandBar.Controls.Add(1, 112, "Ref Guru")
ControlPaste.CommandBar.Controls.Add(1, 113, "Ref Kelas")
GroupClipborad.Add(1,114, "Ref Buku")
GroupClipborad.Add(1, 115, "Ref Buku Lagi")
Control = GroupClipborad.Add(1, 116, "Ref Kelas Lagi")
Control.Enabled =.F.

*/SubMenu 1.2
GroupFont = TabWrite.Groups.AddGroup("&Font",1)
GroupFont.Add(1, 211, "Color")
Control = GroupFont.Add(1, 212, "&Bold")
Control.BeginGroup = .T.
GroupFont.Add(1, 213, "&Italic")
GroupFont.Add(1, 214, "&Underline")
Control = GroupFont.Add(1, 215, "Strikethrough")
Control.Enabled = .F.
Control = GroupFont.Add(1, 216, "Subscript")
Control.Enabled = .F.
Control = GroupFont.Add(1, 217, "Superscript")
Control.Enabled = .F.

*/ Menu 2
TabInsert = RibbonBar.InsertTab(1, "&Insert")
*/SubMenu 2.1
GroupPages = TabInsert.Groups.AddGroup("&Pages",1)
ControlNew = GroupPages.Add(4, 100, "&New Page")
ControlNew.CommandBar.Controls.Add( 1, 101, "&Blank Page")
ControlNew.CommandBar.Controls.Add (1, 108, "&Save Selection as New Page")
ControlCover = GroupPages.Add(4, 108, "Cover Page")
ControlCover.DescriptionText = "Insert a fully-formatted cover page. You fill in the title, author, date, and other information."
ControlCover.CommandBar.Controls.Add (1, 108, "&Remove Current Cover Page")
ControlCover.CommandBar.Controls.Add (1, 108, "&Save Selectio as New Cover Page")
GroupPages.Add(1, 111, "Page Break")

*/SubMenu 2.2
GroupTable = TabInsert.Groups.AddGroup("&Table",2)
ControlTable = GroupTable.Add(3, 108, "&Table")
ControlTable.CommandBar.Controls.Add( 1, 108, "&Inset Table..")
ControlTable.CommandBar.Controls.Add (1, 108, "Dra&w Table")
ControlTable.CommandBar.Controls.Add (1, 108, "Con&vert Text to Table...")
Tabwrite.Selected = .T.

Thisform.Loadicon

naa disana ada sintax .Add( 1, 101, “&Blank Page”), yang mana 1 adalah xtpButtonDropDown, bisa dlihat di object browser

capture

sedangkan 101 adalah id, parameter selanjutnya adalah nama/caption menunya,ok

keempat, cara menambahkan icon di menu, tambahakn method dengan nama loadicon, sintaknya


thisform.CommandBars.Options.UseSharedImageList = .F.
thisform.CommandBars.Icons.LoadIcon("E:\cobacoba\MenuBar\GroupPopup.ico",11,0)
thisform.CommandBars.Icons.LoadIcon("E:\cobacoba\MenuBar\menu.ico",211,0)

penjelasanya singkatnya Icons.LoadIcon(“E:\cobacoba\MenuBar\GroupPopup.ico”,11,0) parameter pertama itu pathnya icon, parameter kedua, id menu yang tadi, sedangkan 0 adalah  xtpImageNormal silahkan cek di object browser

kelimat, untuk execute jika kita klik menu, terletak di method execute yang ada di object commandbarcapture

naa control.id, id disana adalah id yang ada di button menu nya jadi sesuaikan saja kawan 😀

klo mau sampelnya silahkan https://www.mediafire.com/?p5mwi58wr8sujp6 , HANYA UNTUK PEMBELAJARAN SAJA , SILAHKAN BELI PRODUKNYA http://www.codejock.com/

 


Membuat Sisa Waktu di Progressbar Foxpro

Oktober 24, 2016

OK langsung aja yaa, hemat kouta syukur syukur ada yang isikan :D, jadi begini penampakannya

1

2

OK caranya begini,

pertama,  tambahkan label dengan nama lblTimeRem kemudian bikin properti dalam form, kasih nama nreportinternal,nstart,ntoprosess, semuanya value kosong(none)

kedua, bikin method , kasih nama prosestime, naa sintaxnya


lParameters tnProcessed

local lnUnitsRemaining,lnTimePerUnit,;
lnSecondsRemaining,lnFractHours,;
lnHrs,lnMin,lnSec

lnElapsed = seconds() - this.nStart

if mod(tnProcessed,this.nReportInterval) = 0
lnUnitsRemaining = this.nToProcess - tnProcessed
lnTimePerUnit = lnElapsed/tnProcessed
lnSecondsRemaining = lnTimePerUnit * lnUnitsRemaining
lnHrs = int(lnSecondsRemaining/3600)
lnFractHours = mod(lnSecondsRemaining,3600)
lnMin = int(lnFractHours/60)
lnSec = mod(lnFractHours,60)


pcTimeRemaining = iif(lnHrs>0,padl(alltrim(str(lnHrs)),3);
+ iif(lnHrs>1,' Jam ',' Jam'),'');
+ iif(lnMin>0,padl(alltrim(str(lnMin)),2);
+ iif(lnMin>1,' Menit ',' Menit'),'');
+ iif(lnSec>0,padl(alltrim(str(lnSec)),2);
+ iif(lnSec>1,' Detik ',' Detik'),'')




this.lblTimeRem.Caption = 'Sisa Waktu :' + IIF(EMPTY(alltrim(pcTimeRemaining)),'Selesai',alltrim(pcTimeRemaining))

endif

cara pakainya, misalkan dalam commandbotton


CREATE CURSOR mData(cNama C(100))
i=0
FOR i=1 TO 100000
lcNama ="ABCDEF"+PADL(ALLTRIM(STR(i)),2,'0')

INSERT INTO mData value(lcNama)
ENDFOR

thisform.nstart=SECONDS()
thisform.nreportinterval=1
nJumlah=RECCOUNT("mData")
thisform.ntoprocess=nJumlah
i=0
SELECT mData
SCAN
i=i+1
lnvalue = INT((i/nJumlah)*100)
thisform.Progressbar1.value=lnValue
thisform.prosestime(i)
ends

Naa OK jalankan deh 🙂 selamat mencoba kawan, moga sukses, long live foxpro :*


Fix error error:14090086 Swiftmailer di Yii 2

Oktober 22, 2016

berikut error lengkapnya

capture

naa fixnya, tambahkan sintax ini


'mail' => [
'class' => 'yii\swiftmailer\Mailer',

...

...
'streamOptions'=>['ssl'=>
               ['allow_self_signed'=>true,
                    'verify_peer'=>false,
                    'verify_peer_name'=>false,
                ]
            ]
],

OK Moga sukses kawan 😀


[Yii 2]Menampilkan dan Input tanggal ke Mysql

Oktober 11, 2016

OK langsung aja yaa, naa biasanya klo mau menginputkan tanggal di mysql format standar mysql adalah yyyy-mm-dd , sedangkan inputan kita tanggal di halaman web formatnya dd-mm-yyyy , dan juga biasanya kalau menampilkan tanggal dari database yang muncul formatnya yyyy-mm-dd bukan dd-mm-yyyy, maka dari itu kita harus mengubahnya di model , berikut sintaxnya


public function afterFind ()
{
// Tampil dengan format DMY
$this->tanggal = strtotime ($this->tanggal);
$this->tanggal = date ('d-m-Y', $this->tanggal);

parent::afterFind ();
}

public function beforeValidate ()
{
// simpan dengan format YMD
$this->tanggal = strtotime ($this->tanggal);
$this->tanggal = date ('Y-m-d', $this->tanggal);

return parent::beforeValidate ();
}

Ok tarus sintak itu di model yang ada field tanggalnya 🙂 ok mg sukses selalu buat kalian 🙂


Membuat paging sederhana di Yii2 dengan DAO

Oktober 2, 2016

OK , yaa dengan DAO , hanya untuk mengingat pribadi aja sih, beberapa kali lupa, beberapa kali juga buka documentasi 😀 , semuanya ada di doc nya sih, langsung aja, hanya untuk nubi seperti saya aja 🙂 kasusnya saya ada bebearpa query yang menggunakan DAO untuk menampilkan data didalam gridview, naa di dalam controller, tepatnya (default) ada di actionIndex, saya gunakan sederhannya


$sql = {disini query sql};

$sqlcount = "select count(*) from .... ";

$count = Yii::$app->db->createCommand($sqlcount)->queryScalar();

$pagination = new \yii\data\Pagination(['totalCount' => $count]); //Buat Jumlah paging

$dataProvider = new \yii\data\SqlDataProvider([
'sql' => $sql,
'params' => [':thnbln' => $thnbln], //jika menggunakan parameter
'totalCount' => $count,
'pagination' => [
'pageSize' => 10, ], //jumlah record yang ditampilkan perpage
]);

return $this->render('index', [
'dataProvider' => $dataProvider,
'pagination'=>$pagination

]);

 

naa dalam view index.php


use yii\widgets\LinkPager;

...

...

<div id="custom-pagination">
<?=
LinkPager::widget([ 'pagination' => $pagination,]);
?>
</div>

udah selesai begitu aja master :D, mohon maaf jika ada salah 🙂 tolong perbaiki dan kasih saya saran yang terbaik 😀