Githu b-vdelachaux/bag4d

Simpan pencarian

Use saved searches to filter your results more quickly

Buat pencarian disimpan yang dibatalkan Setel ulang fokus tand a-up

Masuk dengan tab atau jendela lain. Muat ulang dan perbarui sesi. Keluar di tab atau jendela lain. Muat ulang dan perbarui sesi. Saya beralih akun saya di tab atau jendela lain. Muat ulang dan perbarui sesi.

VDELACHAUX / BAG4D PUBLIK

Anda perlu masuk untuk mengubah pengaturan pemberitahuan pemberitahuan.

Vdelachaux/Bag4d

Komit ini bukan milik brunch apa pun di repositori ini, dan mungkin milik garpu di luar repositori.

Menguasai Ke file kode

Folders and files

nama nama

Pesan komit akhir Hari komit terakhir

Latest commit

History

Tampilkan semua file

Repository files navigation

BAG4D V1. 0 (2013/12)

  • Nilai tas dibagi antar proses.
  • Nilai tas dibagi antara database dan komponen host.
  • Nilai tas dapat diekspor ke dokumen atau impor dari dokumen.
  • Nilai tas dapat disimpan sebagai gumpalan dan Anda dapat mentransfer data ke layanan 4D melalui Web lainnya.
  • Nilai tas diperlakukan dengan referensi bilangan bulat panjang. Namun, Anda dapat memberi nama tas, dalam hal ini referensi yang terkait dengan nama ini diperoleh.
  • BAG4D secara otomatis membuat tas tertanam sesuai dengan nama jalur yang ditentukan.
tas := Bag_new ( "Parameter" ) Bag_putboolean ( tas ; "Opsi . general. close window" ; BENAR )

Dalam contoh ini, setelah memanggil Bag_putboolean, $ tas berisi tas tertanam “opsi”, tas tertanam “Jenderal”, dan tas tertanam “Tutup Jendela” termasuk nilai yang benar.

  • Elemen tas berbagi properti dan metode untuk menyederhanakan kode. Misalnya
tas := Bag_new ( "Tes" ) Bag_putlong ( tas ; "Long_1 ++") Bag_putlong ( tas ; "Long_2" ; 2 ) . Bag_putlong ( tas ; "Long_9" ; 9 ) tas ( "Test. sum ()" ; -> total ) //45 tas(Tes.maksimum()"; -& gt; $ max) // 9 Tas ("Tes.Min()"; -& gt; $ min) // 1 Tas ("Tes.jumlah kotak()"; -& gt; $ squaresum) // 285 Tas ("Tes.rata-rata()"; -& gt; $ rat a-rata) // 5 While (tas (")Tes.foreach()" ) ) Tas ("tes.ini.nama"; -& gt; $ name) // Dapatkan nama elemen saat ini Tas ("tes.ini.nilai"; -& gt; $ value) // Dapatkan nilainya . Tas ("tes.ini.Indeks"; -& gt; $ i) // Dapatkan indeks If (($ i % 2) = 0) Tas ("tes.ini.Kosong()") // hapus nilainya Akhiri jika Berakhir saat Tas ("Tes.total()"; -& gt; $ sum) // 25 Hasil: = 0 While (bag_foreach ($ tas; -& gt; $ value))) Hasil: = $ hasil + $ nilai Berakhir saat 

Creation & Destruction Routines

bag_new <( name )>-> bagHandle

Buat tas baru dan kembalikan referensi

Jika namanya dilewatkan, referensi dapat diekstraksi dari nama perintah Bag_findbyname.

tas := Bag_new ( "Tas saya" )

bag_copy ( bagHandle name >) -> bagHandle

Buat salinan tas baghandle dan kembalikan referensi.

Jika namanya dilewatkan, referensi dapat diekstraksi dari nama perintah Bag_findbyname.

Tas 2 := Salinan tas ( tas ; "Tas saya" )

bag_clear <( bagHandle elementName >)>

Hapus elemen Baghandle ElementName.

Jika parameter kedua dihilangkan, seluruh tas dihapus. Jika parameter tidak dilewati, semua tas akan dihapus.

Bag_clear ($ bag; "elemen 1") // hapus elemen 1 dari tas bernilai $ tas bag_clear ($ tas) // hapus nilai tas $ bag_clear // hapus semua tas dibuat 

Jika Baghandle bukan referensi tas yang valid, pernyataan peringatan* ditampilkan.

Catatan: Pernyataan diaktifkan secara default, tetapi Anda juga dapat menonaktifkan perintah BAG_SET_OPTION.

Put Value Routines

Serangkaian perintah ini dapat menyimpan data dalam tas bernilai.

Setiap perintah menentukan pegangan tas yang valid sebagai parameter pertama dan nama atau nama jalur sebagai parameter kedua. Dalam kasus nama jalur, tas tertanam dibuat seperlunya.

Jika tidak ada item atau nama pass yang ditentukan dalam tas, item baru akan dibuat.

Jika ada item yang memiliki nama tertentu atau nama pass, dan memiliki tipe yang sama, nilainya diganti.

Jika ada item dengan nama yang diberikan atau nama pass, dan jika memiliki tipe yang berbeda, jika opsi “tipe varian” mati, nilainya tidak disimpan dan pernyataan kesalahan ditampilkan (“pernyataan” opsional ” . kasus).

Jika relevan, Anda dapat merujuk ke elemen array dengan menambahkan indeks item dalam tanda kurung kuadrat. Misalnya, baris berikut menetapkan elemen kesepuluh dari array yang disimpan dalam item “counter” menjadi 100.

Bag_putlong ( tas ; "Counter [10]" ; 100 )

Dalam hal elemen array, jika memungkinkan, jika memungkinkan, pastikan nilainya dikonversi sebelum penyimpanan. Misalnya, nilai 1 disimpan selama longint array, sebagai nilai teks “1” dalam array teks, dan “benar” dalam urutan boolean.

Beberapa perintah menerima operator sebagai akhiran. Operator ini dapat mengubah data yang disimpan. Misalnya, pada baris pertama di bawah ini, gambar yang ditambahkan ditambahkan ke sisi kanan gambar yang disimpan dalam elemen “mycture”. Baris berikutnya akan meningkatkan nilai item “MyCounter” oleh satu.

Bag_putpicture ( tas ; "MyPicture+ PL-V" & GT; ) Bag_putlong ( tas ; "MyCounter ++" )

bag_putArray ( bagHandle ; pathname ; -> array internal format >)

Perintah ini dapat menyimpan array sat u-dimensi yang ditunjuk oleh parameter ketiga dalam tas yang dirujuk oleh parameter baghandle.

Semua jenis array kecuali dua arra y-dimensi dikelola.

Parameter opsional keempat adalah nilai Boolean. Jika parameter “format internal” adalah False, array akan disimpan untuk pengambilan dan pengaturan elemen yang lebih cepat. Jika parameter ini Benar (nilai default), padatkan array sebelum menyimpannya. Mode ini membuat penyimpanan dan pemuatan array besar menjadi lebih cepat, namun pengambilan dan pengaturan elemen menjadi lebih lambat. Silakan pilih mode yang paling sesuai dengan kebutuhan Anda.

Tipe array, jumlah elemen, dan elemen saat ini disimpan sebagai properti dan dapat diambil tanpa memuat array.

bag_putLong ( bagHandle ; pathname longint >)

Perintah ini memungkinkan Anda untuk menyimpan bilangan bulat panjang di dalam tas yang direferensikan oleh parameter bagHandle.

Parameter opsional ketiga adalah nilai yang akan disimpan di dalam tas. Jika parameter ini tidak ada, nilainya ditetapkan ke 0.

Bag_putlong ( tas ; "PENGENAL" ; 123456789 )

Operator manajemen untuk perintah ini adalah:

operator tindakan 1
++ Menambah nilai saat ini sebanyak satu.
Kurangi nilai saat ini sebanyak satu
+= Tambahkan nilai yang diteruskan ke nilai saat ini
-= Kurangi nilai yang diteruskan dari nilai saat ini
*= Kalikan nilai saat ini dengan nilai yang diteruskan
/= Bagilah nilai saat ini dengan nilai yang diteruskan
= Bagilah nilai saat ini dengan longint dengan nilai yang diteruskan.
%= Temukan sisanya ketika nilai saat ini dibagi dengan nilai yang diteruskan
^= Kekuatan nilai saat ini dan nilai yang diteruskan.
! Nilai yang disimpan adalah 1 jika sama dengan 0, dan 0 sebaliknya.
&= Menyimpan bitwise AND antara nilai yang disimpan dan nilai yang diteruskan.
|= Menyimpan bitwise OR (inklusif) antara nilai yang disimpan dan nilai yang diteruskan.
Bag_putlong ( tas ; "Nomor" ; 100 ) //nilainya 100 Bag_putlong ( tas ; "angka++" ) //Nilainya adalah 101 Bag_putlong ( tas ; "number* pl-c1">2 ) //Nilainya adalah 202 Bag_putlong ( tas ; "number% pl-c1">100 ) //Nilainya adalah 0, 02 Bag_putlong ( tas ; "arrayPanjang[3]++")

bag_putReal ( bagHandle ; pathname real >)

Perintah ini dapat menyimpan bilangan real di dalam tas yang direferensikan oleh parameter bagHandle.

Parameter opsional ketiga adalah nilai yang akan disimpan di dalam tas. Jika parameter ini tidak ada, nilainya ditetapkan ke 0.

bag_putReal ( tas ; "Pi" ; 3.141592653589793239 )

Operator manajemen untuk perintah ini adalah:

operator tindakan
++ Menambah nilai saat ini sebanyak satu.
Kurangi nilai saat ini sebanyak satu
+= Tambahkan nilai yang diteruskan ke nilai saat ini
-= Kurangi nilai yang diteruskan dari nilai saat ini
*= Kalikan nilai saat ini dengan nilai yang diteruskan
/= Bagilah nilai saat ini dengan nilai yang diteruskan
= Bagilah nilai saat ini dengan longint dengan nilai yang diteruskan.
%= Temukan sisanya ketika nilai saat ini dibagi dengan nilai yang diteruskan
^= Kekuatan nilai saat ini dan nilai yang diteruskan.

bag_putText ( bagHandle ; pathname text >)

Perintah ini dapat menyimpan teks di tas yang dirujuk oleh parameter baghandle.

Parameter ketiga dari opsi ini adalah nilai yang disimpan di dalam tas. Jika tidak ada parameter, nilainya diatur ke “”.

Bag_putText ( tas ; "Selamat datang" ; "Halo Dunia!" )

Operator konsolidasi dikelola sebagai nama Sapix untuk mengubah elemen teks yang ada.

Bag_putText ( tas ; "Selamat datang" ; "Halo" ) //Nilainya halo Bag_putText ( tas ; "Welcomeessage+ PL-S" & GT; " ) //Nilainya adalah Hello World!

bag_putBoolean ( bagHandle ; pathname boolean >)

Perintah ini dapat menyimpan nilai boule dalam tas yang dirujuk oleh parameter baghandle.

Parameter ketiga dari opsi ini adalah nilai yang disimpan di dalam tas. Jika Anda tidak memiliki parameter ini, nilainya akan diatur ke false.

 Bag_putbolean ($ tas; "Bag4d luar biasa"; benar) 

bag_putDate ( bagHandle ; pathname date >)

Perintah ini menyimpan tanggal dalam tas yang ditentukan dalam parameter Baghanle.

Parameter ketiga dari opsi ini adalah nilai yang disimpan di dalam tas. Jika tidak ada parameter, nilainya akan diatur ke 00/00/00.

Bag_putDate ( tas ; "HARI INI"Tanggal saat ini)

bag_putTime ( bagHandle ; pathname time >)

Perintah ini menyimpan nilai waktu dalam tas yang dirujuk dalam parameter baghandle.

Parameter ketiga dari opsi ini adalah nilai yang disimpan di dalam tas. Jika Anda tidak memiliki parameter ini, nilainya akan ditetapkan pada 00:00:00.

Bag_puttime ( tas ; waktuWaktu saat ini)

bag_putPicture ( bagHandle ; pathname picture codec hOffset vOffset >>>>)

Perintah ini dapat disimpan dalam tas yang dirujuk oleh parameter baghandle.

Parameter ketiga dari opsi ini adalah gambar yang disimpan di dalam tas. Tanpa parameter ini, gambar yang disimpan adalah gambar kosong.

Parameter keempat opsi adalah codec yang digunakan untuk gambar yang akan disimpan. Nilai defaultnya adalah “. png”.

Bag_putpicture ( tas ; "Gambar" ; gambar ; ". Bertengkar") //Foto disimpan sebagai tiff Bag_putpicture ( tas ; "Gambar" ; gambar ) //Foto disimpan sebagai PNG

Nama dapat berupa operator untuk mengubah elemen yang ada. Operator yang dikelola adalah sebagai berikut:

operator tindakan
+= Tambahkan gambar yang diteruskan ke sisi kanan gambar saat ini.
/= Tambahkan gambar yang diteruskan di bawah gambar saat ini.
&= Letakkan gambar yang disahkan pada gambar saat ini

Jika parameter hoffset dan voffset opsional digunakan, konversi diterapkan pada gambar yang dilewatkan sebelum pelapisan.

Codec gambar, lebar, tinggi, dan ukuran disimpan sebagai properti dan dapat diperoleh tanpa membaca gambar.

bag_putBlob ( bagHandle ; pathname ; -> blob )

Perintah ini dapat menyimpan gumpalan di dalam tas yang dirujuk oleh parameter baghandle.

Parameter ketiga yang diperlukan adalah pointer untuk gumpalan yang disimpan di dalam tas.

Konversi dari teks ( "Halo Dunia!" ; "UTF-8" ; Gumpal ) Bag_putblob ( tas ; "Myblob" ; Gumpal )

bag_putPointer ( bagHandle ; pathname ; -> something )

Perintah ini menyimpan pointer di tas yang dirujuk dalam parameter baghandle.

Parameter ketiga adalah pointer yang disimpan dalam tas.

Poinsters dapat menunjuk ke variabel dan bidang. Kecuali untuk pointer ke variabel lokal, semua penunjuk dikelola.

Bag_putpointer ( tas ; "Mypointer" ; -> [meja] )

bag_putVariable ( bagHandle ; pathname ; -> value )

Perintah ini dapat menyimpan isi variabel atau bidang yang ditunjuk oleh parameter penting ketiga dalam tas yang dirujuk oleh parameter baghandle.

Jenis nilai harus boolean, integer atau longint, nyata, string, teks, waktu, tanggal, gambar, gumpalan.

Nilai dapat diperoleh dengan perintah Bag_GetVariable atau perintah Bag_Get (Type) sesuai dengan jenis nilai asli.

Bag_putVariable ( tas ; "Myvar" ; -> vtest )

bag_putBag ( bagHandle ; pathname ; bagHandle )

Perintah ini dapat menanamkan tas yang ada di dalam tas yang dirujuk oleh parameter baghandle.

Bag_putVariable ( tas ; "Myvar" ; Tas 2 )

Get Value Routines

Rangkaian perintah ini memungkinkan nilai item yang disimpan dalam tas nilai.

Masin g-masing menentukan nama atau nama jalur sebagai parameter pertama, nama atau nama jalur sebagai parameter kedua.

Jika pegangan tas tidak valid atau tidak dapat ditemukan, pernyataan kesalahan ditampilkan. Dalam kasus ini, nilai kosong dikembalikan.

Jika memungkinkan, BAG4D melakukan konversi data yang disimpan dan jenis yang diminta. Jika tidak, peringatan akan ditampilkan.

Jika relevan, Anda dapat merujuk ke elemen array dengan menambahkan indeks item dalam tanda kurung kuadrat. Misalnya, baris berikut memperoleh elemen kesepuluh dari array yang disimpan dalam item “counter”.

Count10 := Bag_getlong ( tas ; "Counter [10]" )

bag_getLong ( bagHandle ; pathname ) -> longint

Perintah ini mendapat nilai longint dari item yang disimpan dalam tas yang dirujuk oleh parameter baghandle.

bag_getReal ( bagHandle ; pathname ) -> real

Perintah ini mendapatkan nilai nyata dari item yang disimpan dalam tas yang dirujuk oleh parameter baghandle.

bag_getText ( bagHandle ; pathname ) -> text

Dapatkan nilai teks dari item yang disimpan dalam tas yang dirujuk oleh parameter baghandle.

bag_getBoolean ( bagHandle ; pathname ) -> boolean

Memperoleh nilai bouleque dari baran g-barang yang disimpan dalam tas yang dirujuk oleh parameter baghandle.

bag_getDate ( bagHandle ; pathname ) -> date

Dapatkan nilai tanggal dari item yang disimpan dalam tas yang dirujuk oleh parameter baghandle.

bag_getTime ( bagHandle ; pathname ) -> time

Perintah ini mendapat nilai waktu dari item yang disimpan dalam tas yang dirujuk oleh parameter baghandle.

bag_getPicture ( bagHandle ; pathname codec >) -> picture

Perintah ini mendapatkan nilai nyata dari item yang disimpan dalam tas yang dirujuk oleh parameter baghandle.

Jika parameter ketiga dihilangkan, codec yang digunakan akan “. png”.

bag_getBlob ( bagHandle ; pathname ; -> blob )

Perintah ini menyetel objek yang ditunjuk oleh parameter ketiga ke nilai blob item yang disimpan di tas yang direferensikan oleh parameter bagHandle.

bag_getPointer ( bagHandle ; pathname ) -> pointer

Perintah ini memperoleh nilai penunjuk dari item yang disimpan di tas yang direferensikan oleh parameter bagHandle.

bag_getBag ( bagHandle ; pathname ) -> bagHandle

Perintah ini mengambil bagHandle dari tas tertanam yang disimpan di tas yang direferensikan oleh parameter bagHandle.

bag_getVariable ( bagHandle ; pathname ; -> blob )

Perintah ini menyetel objek yang ditunjuk oleh parameter ketiga dengan nilai item yang disimpan di tas yang direferensikan oleh parameter bagHandle.

Perintah ini tidak mengizinkan Anda mengambil nilai elemen array.

Item info routines

bag_itemExist ( bagHandles ; name ) -> boolean

Mengembalikan nilai benar jika nilai tas yang direferensikan oleh parameter bagHandle berisi item bernama nama.

bag_itemType ( bagHandles ; name ) -> longint

Mengembalikan tipe data yang disimpan dalam nama item di tas nilai bagHandle.

Tipe adalah nilai tipe yang sesuai dalam 4D ditambah 1: 8858 dikembalikan jika item tersebut adalah tas yang tertanam.

bag_arraySize ( bagHandles ; name ) -> longint

Mengembalikan ukuran array yang disimpan dalam nama item tas nilai bagHandle.

The command bag

Perintah ini adalah jalan pintas untuk mengelola item di tas nilai Anda.

Sintaksnya sangat sederhana, berikan nama tas dan tindakan yang akan dilakukan pada parameter pertama, itu akan mengembalikan nilai true jika tindakan selesai, dan secara opsional nilai objek yang ditunjukkan oleh parameter kedua. Sesuatu seperti ini:

tas ( 'nama tas.tindakan' ; -> obyek ) -> Boolean

Parameter pertama selalu dimulai dengan nama kantong nilai yang ada, diikuti dengan titik, jalur ke item, dan kemudian nama metode atau properti.

tas ( 'nama tas.Tingkat_1.tindakan tingkat 2' ; -> obyek ) -> Boolean

Misalnya, setelah mengeksekusi baris berikut, variabel ‘hasil’ akan berisi jumlah item tingkat atas tas ‘myBag’.

tas('Tasku.total()' ; -> hasil )

methods

forEach()

Metode ini digunakan untuk melakukan iterasi melalui setiap elemen array atau tas. Metode Exp. While

pada saat yang sama (tas ( "Tasku. untukSetiap()" )) tas ( "Tasku. nama ini" ; ->nama ) tas ( "Tasku. nilai ini" ; ->nilai ) Berakhir saat