BudakCumpung 0 Report post Posted September 29, 2004 I will be the among the first daftar jadi beta testernyer...very good .. keep up the good works guy.. Quote Share this post Link to post Share on other sites
ZAMTOI 0 Report post Posted October 1, 2004 ape susah kita kan bahasa jawa,jawi pun boleh koding Quote Share this post Link to post Share on other sites
'ra 0 Report post Posted October 3, 2004 (edited) Terdapat sedikit kelewatan untuk peringkat seterusnya didalam projek ini kerana kesibukkan dan terpaksa mengkaji subjek-subjek yang diperlukan degan lebih mendalam untuk membina kompiler yang lebih lengkap dan rumit dari am32. Nampaknya saya kena lakukan sendiri kerana cuaca 'Open Source' tempatan tidak membantu memperkembangkannya. Kebanyakkannya hanya menggunakan sumber-sumber tersebut tanpa memberi balik sebarang peningkatan atau pendekatan dari perspektif berbeza.Agak kecewa dengan keadaan ini. Tetapi sekurang-kurangnya saya mempelajari apa yang akan dihadapi dimasa akan datang kelak. Jadi taklah menaruh harapan yang terlalu tinggi dari sumber tenaga dan sumbangan tempatan. Bagi yang ingin mempelajarinya dari projek ini sila teruskan kerana hanya dari sumber ini sahaja yang dapat membantu projek ini berkembang. Saya akan cuba usahakan sebaik mungkin agar dapat kita sama-sama belajar sesama kita. Edited October 3, 2004 by 'ra Quote Share this post Link to post Share on other sites
Ancient One 3 Report post Posted October 3, 2004 Terdapat sedikit kelewatan untuk peringkat seterusnya didalam projek ini kerana kesibukkan dan terpaksa mengkaji subjek-subjek yang diperlukan degan lebih mendalam untuk membina kompiler yang lebih lengkap dan rumit dari am32. Memang ni idea yang terbaik..Actually problemnya datang dari awak sendiri.. awak belum dapat tunjukkan"sesuatu" yang dapat membuka mata orang yang pakar dalam bidang ni.. at least awak buat la sesuatu yang berbaloi untuk diaorang tolong awak. Part "sesuatu" tu kena fikir la . aku pun taknak la cakap banyak karang ader yang salah tafsir plak...good luck..ENJOY!! Quote Share this post Link to post Share on other sites
BudakCumpung 0 Report post Posted October 7, 2004 aku dah baca dari mula sampai ler ke akhir forum nie... aku masih lagi tak paham...okay first..:1. apa sebenarnya masalahnya.. 2. macamana kita semua boleh membantu 'ra3. apa maksud..cuaca 'Open Source' tempatan tidak membantu memperkembangkannyaaku amatlar berminat ngan forum nie.. rasa-rasa kat mana aku 'lost' nie..aku dah tak paham nie.. hheheheheh Quote Share this post Link to post Share on other sites
'ra 0 Report post Posted October 7, 2004 Selamat berjumpa kembali. Sungguh sibuk sekali masa dekat hujung2 tahun ni. BudakCumpung, masalah utama sekarang adalah masa dan sumber rujukkan. Rujukkan pula adalah terlalu terhad baik dari sumber tempatan atau pun dari Internet. Sebagai contoh, saya sedang mengumpulkan rujukan2 operasi konsol Win32 dari internet. Terlalu sedikit 'tutorial' dan contoh2 yang boleh perolehi. Operasi konsol ini adalah seperti pengguna fungsi2 terus dari Kernel32.DLL yang mana saya pilih untuk tidak menggunakan 'runtime' dari compiler C atau CPP seperti MSVCRT.DLL.Mengenai cuaca Open Source tempatan pula adalah dari segi aktiviti-aktiviti sumbangan terhadap perisian baru yang masih diperingkat awal seperti yang sedang diasaskan dari perbincangan topik ini. Kebanyakkan peserta-peserta open-source tempatan mula menyumbang bila perisian itu sudah hampir kepada tahap lengkap dan boleh dikatakan sumbangan mereka itu adalah sebagai 'nasi tambah' sahaja. Ini boleh di ukur dari aktiviti sumbangan atau komplen yang diterima adalah kosong. Anda boleh lihat pergerakkan ini di website ictmelayu:http://www.smartgroups.com/groups/ictmelayuTiada langsung feedback, pertanyaan atau pun apa-apa sahaja tindak-balas dari pengguna yang telah memindah turun perisian contoh seperti PAR dan AM32 yang telah saya hasilkan. Aatupun terjemahan kepada bahasa pengaturcaraan lain untuk membantu pengaturcara lain yang tak biasa dengan sumber bahasa BASIC yang saya gunakan. Nak kata kat m'sia ini ada pakar kompiler, saya amat ragu-ragu sekali ianya wujud.Kembali kepada topik Pengaturcaraan Bahasa Melayu ini, saya amat hargai jika ada sebarang contoh2 atau 'code snippets' yang boleh membantu untuk digunakan, konsep atau pun idea untuk disumbangkan kepada projek ini. tak kira apa-apa contoh yang banyak menggunakan panggilan USER32.DLL dan KERNERL32.DLL. Di dalam topik ini saja ada boleh lihat hanya dua atau tiga orang saja yang menampilkan 'kod-kod contoh'. Itupun diperingkat awal perbincangan.Saya akan kembali lagi bila prototaip Kompiler versi seterusnya dapat dilengkapkan. Quote Share this post Link to post Share on other sites
alternat0r 0 Report post Posted October 7, 2004 Kalau tukar bahasa programming jadi bahasa melayu mesti pelik bunyinya ...BI:If (ayam != kambing){ ayam = lembu;}BM:Kalau (ayam tu bukan kambing){ ayam tu lembu lah;}Ni baru sikit jer ... belum ayat programming yang komplex macam 'Struct', 'Process32First', 'SetThreadPriority' dan memacam lagi ... haha ... Just kidding ...Tapi kalau susun ayat bahasa Melayu Programming tu ngan betul aku rasa oklah gak bunyinya ... Quote Share this post Link to post Share on other sites
BudakCumpung 0 Report post Posted October 8, 2004 Mungkin antara website nie akan boleh membantu...Evaluate new programming languageGetting To know the languageProgramming Language ResearchWhat makes PL last for hundred yearProgramming Language Naming Patterns Quote Share this post Link to post Share on other sites
C-Fu 0 Report post Posted October 10, 2004 (edited) Tiada langsung feedback, pertanyaan atau pun apa-apa sahaja tindak-balas dari pengguna yang telah memindah turun perisian contoh seperti PAR dan AM32 yang telah saya hasilkan.ako ingat ako ade pos dah kat sini, tapi takde lak post ako.nak tau nape?1. smartgroups? wth. ako tak penah dengar pon tempat tu sampai mase skarang. and judging from the forum response ako rase takde sesape nak join another forum just untuk post comments. ako rase orang dah post kat sini cukup la. and i doubt kalo ko buat registration-free kat forum ko tu akan ade mamat yang nak spam kat programming forum 2. dah iklankan kat forum lain? ittutor? punyela banyak mamat oss kat situ. ako boleh iklankan macam ape yang ako selalu buat, tapi ako bz3. Tapi kalau susun ayat bahasa Melayu Programming tu ngan betul aku rasa oklah gak bunyinya ...ako slalu gelak bile dengar komen camni. macam ayat2 dalam BI tu make sense sangat. struct tu betul sangat ke? what about if then else? yang client server lak? joystick != gayingot?4. Kalau (ayam tu bukan kambing)ako suke kalo bebaru nye language macam ni, ape ek panggil ako lupe. semantically correct language, elok for beginners. leh intro kat skolah pon kalo dah besar2 nanti. better than kalau ayam != kambing IMHO.if because of these simple annoyance yang membuatkan ko dah fedap then elok takyah buat langsung. nak suruh orang contribute time dan masa daripada keje skolah cam ako or keje opis or keje oss lain untuk projek sampingan ko takes time and a lot of shaits mate. sabo lerrrrr. kun fayakun, kalo Tuhan tu nak bagi Die bagi la Edited October 10, 2004 by C-Fu Quote Share this post Link to post Share on other sites
izwan 1 Report post Posted October 15, 2004 Rakyat Malaysia memang suka buat kerja utk upah.. Kalau tak ada pulangan, tak ada pasal nak buat.. itu masalah rakyat Malaysia.. yang sampai sekarang tak maju-maju lagi.. Quote Share this post Link to post Share on other sites
izwan 1 Report post Posted October 15, 2004 Wa lase aaa lagi baik guna itu omputih punye compiler... lu kalu mau bikin sampai tua pun talak siap.. lagipun aaa.. itu compiler international punye glup sudah bincang bincang kasi itu teknologi power... apa kate kita semua gabung sama itu olang lua negale kasi power lagi itu compiler yang sedia ade....wa dulu ale bikin compiler... tapi bila wa compare sama omputih punye compiler haa.. wa mau nangis... sebab wa lase wa punye compiler boleh taluk dalam tong sampah... hahaha... at least wa masih usaha...mau kasi maju itu melayu punye name←Contoh orang yang tak ada wawasan.. dan ikut telunjuk dan suka ikut orang.. betul? Quote Share this post Link to post Share on other sites
izwan 1 Report post Posted October 15, 2004 'raJangan risau, semua orang support anda.. pasti..C-Fu,bila ada programming language sendiri, bolehlah create syntax sendiri.. ye tak? Quote Share this post Link to post Share on other sites
'ra 0 Report post Posted October 16, 2004 (edited) Terima kasih NaRa di atas sokongan anda. (Ciayo-ciayo... )Saya ingin mencuba dengan 'approach' yang berbeza kerana corak menulis kod sumber untuk compiler 'melayu' masih lagi ter-ikut2 compiler tradisi yang mungkin susah untuk orang yang tak pernah tulis program. Jadi saya ada satu atau dua perkara yang ingin dibincangkan bersama-sama anda semua agar sesuatu kompiler baru itu lebih berorientasikan pengguna.1. Tafsiran Jenis DataApakah terjemahan yang paling sesuai untuk Jenis-jenis data berikut di dalam bahasa melayu? Sila berikan cadangan anda. Mungkin ada yang dapat memberikan terjemahan yang lebih simbolik dan mudah diingati. Jenis-jenis data tersebut ialah seperti berikut disertai dengan terjemahan mengikut pendapat saya secara kasar shj: Byte -> Butir Short -> Rapat Long -> Jarak Integer -> Biasa Boolean -> Tentukan Word -> Ungkap Dword -> DwiUngkap Single/Float -> Apung Double -> Gandaan (Gandaan (kpd Apungan) String -> Sebutan 2. Kaedah Penulisan Kod Sumber Saya rasa corak menulis kod simbolik untuk bahasa pengaturcaraan 'Melayu' ini haruslah mudah tanpa memeningkan kepala orang yang baru belajar. Contohnya untuk membina satu Window pengguna kita menggunakan panduan penulisan megikut cara ini: Borang NamaBorang [ # Sifat-sifat borang pengguna Ukuran [Lebar,Tinggi] Tajuk [Teks Tajuk] Warna [Nama Warna] # Kaedah-kaedah gunaan Bulat [Lebar,Tinggi,Jejari,Warna] Tengah # Letak borang ditengah2 desktop Tunjuk # Tunjukkan borang Tutup # Tunjukkan borang # Pengurus Perintah BilaDiTunjuk [Nama Kaedah] BilaDiLukis [Nama Kaedah] KunciDiTekan [Nama Kaedah] KunciDiLepas [Nama Kaedah] TetikusDiTekan [Nama Kaedah] TetikusDiLepas [Nama Kaedah] BilaDiTutup [Nama Kaedah] ] Sebagai contohnya kita tulis begini untuk hasilkan 'Window' pengguna kita: Butir [Kunci] Borang Contoh1 [ Ukuran [140,140] Tajuk [Contoh] Warna [Kuning] Tengah KunciDiTekan [TekanKunci] ] Contoh1.Tunjuk Tamat Kaedah TekanKunci [ Jika Kunci = ESC, Buat [Contoh1.Tutup] ] Maka hasilnya adalah seperti gambar di bawah ini: Ataupun dengan cara menggunakkan perkataan yang lebih mudah difahami seperti berikut: Data Butir Kunci Borang [ Nama Contoh1 Ukuran 140,140 Tajuk "Contoh" Warna Kuning Kedudukkan Tengah KunciDiTekan TekanKunci ] TunjukBorang Contoh1 Perisian Tamat Kaedah TekanKunci [ Jika Kunci Sama [ESC] [ Contoh1 Tutup ] ] Ini adalah hanya suatu cadangan sahaja dari saya. Mungkin anda mempunyai suatu cara yang lebih simbolik dan mudah ditulis. Dari pemilihan ini, kita boleh membentuk kompiler mengikut kehendak majoriti dari menghasilkan satu cara sahaja kemudiannya terpaksa menggubahnya dengan banyak kerana setelah sama-sama mengkajinya didapati sukar untuk diikuti oleh pengguna baru.Sila berikan pandangan anda... Edited October 16, 2004 by 'ra Quote Share this post Link to post Share on other sites
sebol 0 Report post Posted October 16, 2004 rujukan istilah tak rasmi:-http://cvs.gnome.org/viewcvs/gtksourceview....po?view=markuphttp://cvs.gnome.org/viewcvs/gnome-i18n/gl....po?view=markup Quote Share this post Link to post Share on other sites
C-Fu 0 Report post Posted October 17, 2004 ako kire dari kite dok pening pale nak pikir direct translation ke BM yang leh memeningkan pale bebudak yang nak gune bendeni nanti (pasal bile diorang dah besar and nak convert ke C++/Java terus konfius) elok cipta ayat BM baru untuk bende ni. jangan harap la DBP nak tolong.macam byte sebelum era komputer memang tak bawak ape2 maksud setahu ako, tapi bile pc dibuat diorang reka la bende tu. so kita pon elok reka jugak la. karang nak taip butiran panjang sangat, susah sangat, leceh sangat.ni draft proposal ako Byte -> Bait Short -> Dek Long -> Jang Integer -> Integer Boolean -> Bul Word -> Kata Dword -> DwiKata Single/Float -> Apung Double -> Ganda String -> ??????? String of words = ??? katabut then again, kalo objektif ni nak jadi semantically-correct language maka susah sket nak pakai ayat2 cam Jang, Dek dll Quote Share this post Link to post Share on other sites
izwan 1 Report post Posted October 18, 2004 Baru terbaca semula posting 'ra dari mulaSasaran software ini utk bebudak 15+ keatas ? Nara sudi jadi lead beta tester utk software nih.. utk bahagian kanak2 ribena test.. sbb nara umur 15.. ade jugak menda yang boleh jadi 'mainan' cuti nih.. amcam? Quote Share this post Link to post Share on other sites
izwan 1 Report post Posted October 21, 2004 LAPPAMER "Assalamualaikum dan salam sejahtera.."LEWAT 3PAMER "Ini adalah percubaan pertama oleh nara a.k.a Izwan menggunakan aturcara am32 di mana arahannya 100% dalam Bahasa Melayu dan tidak memeningkan kepala anda!!!"PAMER "Ucapan selamat menjalankan ibadah puasa kepada semua umat Islam khususnya di Malaysia, Brunei Darussalam, Indonesia, Singapura dan jiran-jiran terdekat.. 'Selamat mengerjakan rukun Islam yang keempat..'"LEWAT 15LAPPAMER "Firman Allah s.w.t.:"PAMER ""PAMER "'Beberapa hari yang ditentukan itu ialah bulan Ramadhan, bulan yang di dalamnya diturunkan permulaan Al-Quran sebagai petunjuk bagi manusia dan penjelasan-penjelasan mengenai petunjuk itu dan pembeda antara yang hak dan yang bathil.' Surah Al-Baqarah:185"PAMER ""LEWAT 10pamer "Profil nara"pamer "Nama......: Mohamad Izwan bin Zakaria"pamer "Umur......: 15 (23 Julai 1989)"pamer "Jantina...: Lelaki"pamer "Lokasi....: Kulim, Kedah, MALAYSIA"pamer "Forum.....: Tanya@Putera (sejak tahun 2002), Ittutor.net (2004), Webmastermalaysia.com (2004), Sifoo.com (2004), iexbeta.com (2004), Lowyat.net (2004)"pamer "Pekerjaan.: Pelajar"pamer "Sekarang..: Menghabiskan masa dengan mempelajari bahasa aturcara seperti C/C++, PASCAL, Visual Basic, am32 dll, mempelajari bahasa ASP, PHP, JavaScript sepanjang cuti persekolahan sambil menunggu keputusan peperiksaan PMR2004, berharap dapat menghasilkan sebuah permainan mudah setelah habis mempelajari bahasa aturcara tersebut. Insya Allah !"pamer ""pamer ""pamer ""pamer "XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx"PAMER "Hakcipta Terpelihara © 2003-2004 Jangnara Technology. All Rights Reserved."PAMER "http://www.jang-nara.net // http://www.jjangnara.com"PAMER "Dibina menggunakan bahasa aturcara am32 oleh 'ra"PAMER "http://www.smartgroups.com/groups/ictmelayu"pamer "XxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx"Banyakkan lagi syntax... ada masalah dengan syntax :GUNA tu.. Quote Share this post Link to post Share on other sites
'ra 0 Report post Posted October 21, 2004 (edited) ... ada masalah dengan syntax :GUNA tu..←Masalah yang bagaimanakah yang anda hadapi? Lebih maklumat yang dapat diberikan akan lebih membantu di dalam mengenal pasti jenis permasalahan itu.Syntax GUNA adalah sama denga RUN dari menu Start pada desktop OS anda. Ia betindak sebagai saluran untuk pengaturcara memanggil perisian luar untuk dilancarkan semasa perisian anda sedang beraksi.Contoh1: GUNA "Dir/w" Ini akan melancarkan arahan bina dalam DIR dari cmd.exe pada OS NT/XP ataupun command.com pada OS Win9x/Me. Semua arahan DOS Batch boleh di panggil dengan menggunakan arahan GUNA. Selain itu anda boleh memanggil perisian am32 yang lain dengan arahan ini. Sebagai contoh: GUNA "bantuan.exe" Dari arahan di atas, ia akan memanggil perisian contoh yang datang bersama pakej am32. Lokasi bagi perisian yang dipanggil haruslah dituliskan sekali jika perisian yang anda tulis itu terletak diluar kawasan/direktori am32. Lihat contoh dibawah: GUNA "c:\am32\contoh\bantuan.exe" ataupun; GUNA "c:\am32\contoh\demo2.exe" Mengenai syntax-syntax tambahan, sila nyatakan syntax-syntax bagaimana ingin ditambah ataupun keupayaan seperti yang bagaimana ingin ditambah. Dengan cara ini, syntax-syntax baru boleh ditambah secara berperingkat-peringkat. Begitulah sesuatu perisian Kompiler itu berkembang. Jika dapat disertakan rujukkan dan contoh-contoh, pastinya lebih mudah difahami sesuatu kehendak pengguna itu. Edited October 21, 2004 by 'ra Quote Share this post Link to post Share on other sites
izwan 1 Report post Posted October 21, 2004 Sama juga kalau nak run .jpg file ? Quote Share this post Link to post Share on other sites
'ra 0 Report post Posted October 21, 2004 Sama juga kalau nak run .jpg file ? ← GUNA "Start gambar.jpg" Quote Share this post Link to post Share on other sites
izwan 1 Report post Posted October 21, 2004 Ok.. apa latest news berkenaan dengan 'ra ? Nak experiment am32 nih pun, tatau dah apa lagi ynag boleh experiment ? Quote Share this post Link to post Share on other sites
fnd 0 Report post Posted October 26, 2004 Sintax untuk tunjuk borang tu rasanya dah ok.Buat masa ini ra bercadang nak buat beberapa properties sahaja untuk borang tu seperti kedudukan,luas,warna,nama,tajuk.Mungkin boleh prepare dlm coding compiler tu untuk memudahkan penambahan properties untuk akan datang. Mungkin...ada banyak lagi yang boleh dimasukkan. P.Language sedia ada , ada banyak lagi propertiesnya. Sintak Tunjuk contoh1kalau ada tunjuk mesti ada tutup.Tutup contoh1Dan katakan apabila ada borang kedua. Katakan nama borang tu:contoh2Mesti ada kawalan sama ada ia perlu diclearkan dulu atau takperlu untuk kembali ke borang pertama (contoh1).Tujuan kiriman saya ni hanya sekadar perencah dan sbg memberitahu betapa berlikunya proses nak buat bahasa aturcara ni....Affendi Quote Share this post Link to post Share on other sites
'ra 0 Report post Posted October 27, 2004 (edited) Betul tu Affendi. Setiap yang dimulai mesti diakhiri. Dari contoh pertama kaedah kod Borang tu lebih kelihatan jelas kerena ada Contoh1.Tunjuk and Contoh1.Tutup seperti yang tertera dari kod dibawah ini. # pentakrifan data Butir [Kunci] # pentakrifan antaramuka Borang Contoh1 [ Ukuran [140,140] Tajuk [Contoh] Warna [Kuning] Tengah KunciDiTekan [TekanKunci] ] # panggilan kaedah utama Contoh1.Tunjuk Tamat # kaedah pengguna (proc) Kaedah TekanKunci [ Jika Kunci = ESC, Buat [Contoh1.Tutup] ] Saya ada buat sedikit kesilapan di dalam menulis kaedah 2 dimana ia ditulis: Kaedah TekanKunci [ . Contoh1 Tutup ] sepatutnya: Kaedah TekanKunci [ . TutupBorang Contoh1 ] Kebanyakkan bahasa aturcara kini adalah berorientasikan objek/OOP. Saya terfikir untuk membuat sesuatu yang berlawanan iaitu berorientasikan Kaedah/Methods untuk panggilan diluar skop binaan [ ]. Contohnya: # antara muka pengguna Borang Contoh1[ ] Kiri.Contoh1 = 20 Atas.Contoh1 = 20 Tunjuk.Contoh1 Lukis.Contoh1 [x1,y1,warna] Sorok.Contoh1 Tutup.Contoh1 # contoh gunaan objek pengurusan fail menggunakan # skop [ ] Fail Buku1 [ Buka [NamaBuku.txt,CaraBuka] BacaBinari [4] Tutup ] # Hasil yang sama dengan kaedah skop [] # di atas Buka.Buku1 [NamaBuku.txt,CaraBuka] BacaBaris.Buku1 BacaBinari.Buku1 [4] #Baca binari data sebanyak 4 bytes Tutup.Buku1 Mesti ada kawalan sama ada ia perlu diclearkan dulu atau takperlu untuk kembali ke borang pertama (contoh1). Ya, ini amat diperluka jika Borang tersebut mempunyai 'child/pengikut' seperti butang/button dan sebagainya. Properties tambahan diperlukan untuk ini dan juga pengendalian Borang kedua yang tidak dihubungkan dengan borang pertama. Seperti: # pengistiharan kaedah-kaedah pengguna # sama seperti prototype, declare dan # procedure Deraf Kaedah [TekanBut1] Deraf Kaedah [TekanBut2] Borang Brg1 [ Tajuk [Borang Utama] Tengah # aka center Butang Punat1 [ Tajuk [Buka Borang 2] Aksi [TekanBut1] ] ] # Binaan Butang kedua Butang Punat2 [ Pautan [Brg1] # Pasang pada Brg1 Tajuk [Tutup Borang 2] Aksi [TekanBut2] ] # Binaan Borang kedua Borang Brg2 [ Tajuk [Borang kedua] Letak [20,20] # petunjuk: [X,Y] Saiz [120,240] # petunjuk: [Tinggi,Lebar] ] # program utama Tunjuk.Brg1 Tutup.perisian # --- kaedah-kaedah pengguna --- Kaedah TekanBut1 [ Tunjuk.Brg2 ] Kaedah TekanBut2 [ Tutup.Brg2 ] # ------------------------------ Apa yang saya perlukan adalah suatu teknik 'Pertukangan' untuk membina objek2 sebegini dan 'Pengembang' upaya objek binaan dalaman supaya pengguna boleh membina objek2 dan mengembangkannya melalui fail-fail selitan seperti: Bina Butang [ Lindung: # Private Rujuk [Jarak [KawalBut]] # Object Handle Kelas [BUTTON] # Win32 classString "BUTTON" Bebas: # Global/Public TambahSifat Tajuk[Ungkapan [s]] TambahSifat Letak[Jarak [x], Jarak [y]] TambahSifat Saiz [Jarak [h], Jarak [l]] # ---------------------------------- # Tambah pada kaedah umum [Sembunyi] # Sebelum ini Sembunyi.Borang, kini # ditambahkan Sembunyi.Butang # ---------------------------------- TambahKaedah Sembunyi [ # sama dgn SendMessageA (KawalBut, 0, Hide, 0) HantarMesej [[Rujuk.Butang], Gaya, NilaiHide, Nilai] ] TambahKaedah Timbul [ # sama dgn SendMessageA (KawalBut, 0, Show, 0) HantarMesej [[Rujuk.Butang], Gaya, NilaiShow, Nilai] ] TambahKaedah Tunjuk.[Borang] [ # sama dgn CreateWindowEx() KawalBut CiptaObjekBaru [ GayaTambahan, [Kelas.Butang], [Tajuk.Butang], [Letak.Butang], [Saiz.Butang], [Rujuk.MenuSistem], [Rujuk.Borang], [Rujuk.Perisian], [Rujuk.Selitan] # wParam ] ] # Inherit Acara/Event pada WM_LMBUTTON = NilaiHex # pada Pengurusan WndClass TambahAcara Aksi[Jarak [k], NilaiHex] ] # Contoh Penggunaan Objek Butang Deraf Kaedah [Ketuklah] Borang Bor1 [ Butang But1 [ Tajuk [Contoh Butang] Letak [10,10] Saiz [20,60] Aksi [Ketuklah] ] ] Tunjuk.Bor1 # -------------------------------------- # Bila borang ditunjukkan, dalam masa # yang sama Butang juga dibina jika ia # di daftarkan dibawah borang. # -------------------------------------- Tamat.Perisian # ExitProcess(0) Kaedah Ketuklah [ Sembunyi.But1 # sembunyikan Butang Lewat.Saat [2] # Selepas 2 saat Timbul.But1 # Tunjuk semula butang ] Dengan cara ini pengguna2 yang sudah expert didalam bahasa aturcara yang lain boleh membina objek2 and menambah kaedah kedalam Kaedah Global yang sedia ada tanpa memerlukan kompiler ini di 'upgradekan' pada setiap kali. Jadi ia akan berkembang dengan lebih mudah.Ini hanyalah pada pendapat saya sahaja, mungkin anda mempunyai teknik dan idea yang lebih efektif lagi.Saya juga amat berterima kasih jika ada yang sudi menambahkan atau memberikan kod contoh yang boleh disesuaikan untuk mengenal-pasti objek binaan pengguna dan pengurusannya dari sudut dalaman kompiler ini. Edited October 27, 2004 by 'ra Quote Share this post Link to post Share on other sites
Ancient One 3 Report post Posted November 7, 2004 Kat sini aku ader buat sedikit keje, sebagai respon kepada post `ra (Jul 31 2004, 05:40 PM). Buat masa sekarang, ia hanya sebagai eksperimen, dan ia tidak lebih daripada hanya terjemahan (ikut suker ati aku) set arahan x86 assembly dan juga fasm (khusus untuk Win32). So, basically, it's just an x86 assembly language written in bm. Buat masa sekarang jugak, tak semer arahan disokong; hanya sebahagian daripada general purpose (integer) instructions. Takde fpu, mmx dan sebagainya. Tapi bleh dikatakan ia nampak menarik gak. Aku panggil benda ni sebagai amf (takde kena mengena ngan am32 dan juga benda alah yang lain). Layout kod kiter dalam amf simple jer (yang wajib ader) : ;ATURCARA <Penerangan>, [APLIKASI | FUNGSI] ATURCARA "Tajuk/Penerangan", APLIKASI ;MOD [GRAFIK | KONSOL] MOD GRAFIK ;permulaan aturcara !MULA ;RUTIN <Nama> [__c | __win | __pascal], [Param1, Param2, ..., Paramn] ;<Pembolehubah_Setempat> (nama mesti didahului dengan titik ".") ;MULA ; <Arahan_Asm> (semua label di dalam RUTIN seharusnya local label) ;TAMAT ;RUTIN dengan nama "Utama" adalah wajib dan ia adalah entrypoint program RUTIN Utama __c MULA ;letak arahan asm kat sini TAMAT ;penamatan aturcara !TAMAT Please note amf ni ditulis sepenuhnya dengan fasm nyer syntax. So, kiter perlukan fasm compiler (version 1.56). Tapi sudah tentu kod di atas takleh dikompil terus secara direct oleh fasm, so aku tulis sebijik program kecik (amf.exe) yang akan invoke fasm bagi pihak kiter (aper yang ia buat hanyalah memasukan baris include "%amf/fmu.inc" di awal baris kod kiter dan hantar kod ni sebagai argument kepada fasm. Aku sengaja biarkan fasm.exe dan amf.exe guna stdout yang sama for debugging purpose. Kalau aku rase keje ni berbaloi, lain kali aku akan buat yang lebih besh lagi, termasuklah modification kepada fasm compiler itu sendiri. Fail "arahan.inc" adalah fail yang mengandungi terjemahan arahan (x86 asm dan fasm). Aku tak tau ler nama2 tu sesuai ke tak, aku taip balik aper yang aku mimpi . Semua arahan adalah arahan pendek. Contohnya sln (salin) -> mov). Aku nak tulis sebagai sal takleh gak sebab aku teringat pasal "shift arithmetic left". Nak guna arahan pindah takleh gak. Tak ngam. Sesetengah arahan pendek ader nama panjang. Contohnya sln -> salin. Contoh kod tradisional nenek moyang kiter (menggunakan MessageBox) : ATURCARA "Sampel", APLIKASI MOD GRAFIK !MULA Tajuk TEKS "Sampel" Isi TEKS "Selamat Datang Ke Putera.com." IkonMaklumat = 0x40 RUTIN Utama __c MULA eatau ebx, ebx ;"ekslusif atau" (eax = 0) tekan IkonMaklumat tekan Tajuk tekan Isi tekan ebx panggil [MessageBox] tekan ebx panggil [ExitProcess] TAMAT !TAMAT Program yang sama, dengan arahan pendek : ATURCARA "Sampel", APLIKASI MOD GRAFIK !MULA Tajuk TEKS "Sampel" Isi TEKS "Selamat Datang Ke Putera.com." IkonMaklumat = 0x40 RUTIN Utama __c MULA eatau ebx, ebx tkn IkonMaklumat Tajuk Isi ebx pgl [MessageBox] tkn ebx pgl [ExitProcess] TAMAT !TAMAT Program yang sama, dengan menggunakan arahan SERU (for calling Win32 API) : ATURCARA "Sampel", APLIKASI MOD GRAFIK !MULA IkonMaklumat = 0x40 RUTIN Utama __c MULA eatau ebx, ebx SERU MessageBox, ebx, "Selamat Datang Ke Putera.com.", "Sampel", IkonMaklumat SERU ExitProcess, ebx TAMAT !TAMAT Dah tentu untuk menggunakan amf, korang kena tau asm dan juga Win32 programming. Namun demikian, kiter bleh permudahkan lagi tugas pengaturcaraan dengan macro yang lebih berkuasa, yang membolehkan kiter menulis kod seolah-olah dalam bentuk HLL. Contohnya : ATURCARA "Contoh Konsol", APLIKASI MOD KONSOL !MULA RUTIN Utama __c MULA Konsol.ModPaparan Konsol.SkrinPenuh Aplikasi.Lengah 2 Konsol.PadamSemua Aplikasi.Lengah 2 Konsol.Tulis " >> Selamat Datang Ke Putera.com << \n" Aplikasi.Lengah 2 Konsol.ModPaparan Konsol.SkrinBiasa Aplikasi.Lengah 2 Konsol.PadamSemua Aplikasi.Keluar TAMAT !TAMAT Dah tentu ini tak mustahil. Buktinya ader diberikan dalam fail cth00.asm. Although still far from perfect, it's already usable (just to show something on screen). The complete implementation still under experiment (console i/o, complete wrappers to the console APis). Kalau aku ader maser aku akan cuba kumpulkan semer dan postkan hasilnya. Due to the limitation of fasm's preprocessor, kiter takleh la code something like this : pMem = GlobalAlloc GPTR, 1024 tapi mungkin kiter bleh kod camni : set pMem, <GlobalAlloc, GPTR, 1024> dan bagi aku ianya sama cantik ngan yang first tadi . Dalam pakej amf (http://www26.brinkster.com/paipx/amf.zip) ader fail amf.exe yang bertindak sebagai "orang tengah". fasm.exe version 1.56 sebagai pengkompil utama. arahan.inc dan fmu.inc adalah include files utama (kat sini korang bleh tengok semer definitions. Ia dimasukkan secara automatik dan korang takleh sertakan fail2 ni secara langung. Dalam direktori imp ader beberapa fail yang merupakan "import libraries" (aku amik dari xp pro DLLs). Kalau korang nak impot fungsi dari DLL lain selain yang ader kat sini senang je, gunakan arahan IMPOT atau RUJUKAN : ;RUJUKAN <Nama DLL>, (<Label>, <Nama Fungsi>)* RUJUKAN mydll.dll, FungsiA, "FungsiA",\ Fungsi, "SuatuFungsi",\ abc, 13,\ ;import by ordinal Data1, "Data1" dan call maner2 fungsi tersebut, e.g : pgl [FungsiA] sln eax, [Data1] sln eax, [eax] maklumat dll dan fungsi akan disertakan dalam import table hanya jika ia digunakan (dipanggil) oleh kod anda (fleksibel). Please note cuma dua dll jer yang diimpot secara automatik -> user32.dll dan kernel32.dll. So kalau nak guna fungsi registry, katakan, korang kena masukkan baris arahan serta "%amf%/imp/advapi32.lib". Dalam folder lib plak ader standard libs, sebagai wrappers kepada Win32 functions. Currently cuma Konsol.inc dan Aplikasi.inc jer yang ader isi. Tu pun sekadar cukup makan jer.. Sebab aku tengah fikir cara yang lebih elegan . Idea dah ader.. cuma implementation je takde. Aku malas! Mengenai translation BI ke BM ni.. my personal opinion, takde salahnya kiter adopt bangsa asing nyer perkataan. Contohnya dari byte menjadi bait, word menjadi wud . I'm sure kalau bangsa kiter yang sejak dulu menguasai bidang ni dan bukannya diaorang, dan katakan kiter yang cipta istilah bait tersebut, diaorang akan gunakan istilah yang sama bunyinya (mungkin byte) jugak. Dalam keje2 pengaturcaraan, aku lebih gemar dengan singkatan berbanding ngan keyword asalnya. Contohnya byte - i8 word - i16 dword - i32 fword - i48 qword - i64 dqword - i128 single precision fp (float) - p32 double precision fp (double) - p64 double extended precision fp - p80 yang mana i bermaksud nombor integer dan p bermaksud nombor perpuluhan. Dalam translation `ra dan C-Fu, aku cuma bleh tahan ngan terjemahan (other than integer) bait (untuk byte) dan bul (untuk boolean). Mungkin dah terpengaruh sangat ngan bahasa omputihnya la kot. Tapi takde salahnya kiter adakan istilah baru seperti yang C-FU katakan. Bagi orang baru yang start ngan compiler awak, agak mudah bagi diaorang untuk menggunakannya sebab bagi diaorang, byte ngan bait sama peliknya. Tapi bagi orang lama..ia dah tentu akan ambil masa (in my case.. i don't like it at all). Kalau awak nak start revolusi, just buat terjemahan yang awak fikir sesuai (afterall.. it's your compiler), tetapkan penggunaannya dan abaikan jer komplen daripada user mengenai penggunaan istilah2 yang (pada mulanya) pelik nih. Unless, of course kalau diaorang bleh bagi better translation. Rujukkan pula adalah terlalu terhad baik dari sumber tempatan atau pun dari Internet. Sebagai contoh, saya sedang mengumpulkan rujukan2 operasi konsol Win32 dari internet. Terlalu sedikit 'tutorial' dan contoh2 yang boleh perolehi. Operasi konsol ini adalah seperti pengguna fungsi2 terus dari Kernel32.DLL yang mana saya pilih untuk tidak menggunakan 'runtime' dari compiler C atau CPP seperti MSVCRT.DLL. The official reference should be inside M$ Platform SDK. Base Services->DLL, Processes, and Threads->Character-Mode Applications. Cuba jugak kat MSDN. Other tutorials taklaa penting sangat since most of them just elaborate aper yang ader kat PSDK (atau aper yang langsung takde kat PSDK - "undocumented" functions). Aku lebih suker bacer PSDK dan articles dari MSDN berbanding ngan tempat lain, walaupun kadangkala orang lain lebih betul dari orang M$ sendiri. Awak bleh tengok dalam fail Konsol.inc beberapa penggunaan console functions, tapi tu actually cuma sikit jer. Tiada langsung feedback, pertanyaan atau pun apa-apa sahaja tindak-balas dari pengguna yang telah memindah turun perisian contoh seperti PAR dan AM32 yang telah saya hasilkan. Ataupun terjemahan kepada bahasa pengaturcaraan lain untuk membantu pengaturcara lain yang tak biasa dengan sumber bahasa BASIC yang saya gunakan. Nak kata kat m'sia ini ada pakar kompiler, saya amat ragu-ragu sekali ianya wujud. Kiter mungkin takde pakar compiler, tapi kiter ader pakar bahasa, pakar matematik dan sebagainya. Cuber kumpulkan semernya . Secara ikhlasnya, terjemahan kepada bahasa pengaturcaraan yang lain hanya buang maser setakat ni. Just use what you're using now. Awak ngan orang lain bleh communicate ngan generalized syntax, e.g pseudo-code. Selalunya orang hanya maintain kod compiler dalam satu language jer. Biler compiler awak dah betul2 jadi compiler, kiter dah tentu tak perlukan basic. Instead, kiter akan tulis semula am32 compiler in a new programming language, called am32. Mengenai am32, actually takde la penting sangat buat masa sekarang, tapi just to share information :Biler kiter remove parameter dari stack lepas return from C function, jangan gunakan pop eax, sebab ia digunakan untuk return value, instead use pop ecx atau add esp, ....import table yang awak buat tu tak lengkap (but still valid and perfectly usable). Tertinggal original first thunk (exactly a same copy of first thunk), so sepatutnya import table yang perfect cam kat bawah : section '.guna' import data readable writeable dd jadual_msvcrt1,0,0,RVA pautan_msvcrt,RVA jadual_msvcrt2 dd 0,0,0,0,0 ;terminator jadual_msvcrt1: dd RVA msvcrt.system dd RVA msvcrt.puts dd RVA msvcrt.getchar dd RVA msvcrt.exit dd RVA msvcrt.sleep dd 0 jadual_msvcrt2: kon.guna dd RVA msvcrt.system kon.cetak dd RVA msvcrt.puts kon.nanti dd RVA msvcrt.getchar kon.tamat dd RVA msvcrt.exit kon.lewat dd RVA msvcrt.sleep dd 0 pautan_msvcrt db 'MSVCRT.DLL',0 msvcrt.system dw 0 db 'system',0 msvcrt.puts dw 0 db 'puts',0 msvcrt.getchar dw 0 db 'getchar',0 msvcrt.exit dw 0 db 'exit',0 msvcrt.sleep dw 0 db '_sleep',0 Quote Share this post Link to post Share on other sites
C-Fu 0 Report post Posted November 8, 2004 Tapi bagi orang lama..ia dah tentu akan ambil masa (in my case.. i don't like it at all). ako pon. tapi ako tak rasa yang market untuk program ini adalah untuk orang lama. or orang hardcore programmers. very, VERY hard untuk panggil hardcore programmers satu dunia or satu mesia untuk sama2 develop bahasa ni or develop software dengan bahasa ni, dengan limited scope die. tak masuk lagi bab sekuriti yang for sure mesti akan ade orang tampil nye.pada ako bahasa ni lebih kepada hobby language, cam BASIC arguably. potensi berlipat ganda lagi besar utnuk ajo budak sekolah daripada untuk ajo budak C++ ape. Quote Share this post Link to post Share on other sites