Asas pengaturcaraan.
Bahasa pengaturcaraan Kecil asas
PELAJARAN 1: Pengenalan kepada persekitaran pengaturcaraan Kecil asas .
Sasaran: perkenalkan dengan bahasa pengaturcaraan Asas Kecil.
Tugasan:
Mula belajar bahasa pengaturcaraan Asas Kecil. Berikan konsep OOP (pengaturcaraan berorientasikan objek)
Belajar untuk bekerja dalam persekitaran pengaturcaraan ini. P memperkenalkan "objek teks" persekitaran Asas Kecil.
Beri idea pertama untuk mencipta atur cara dalam persekitaran pengaturcaraan.
Objektif pendidikan utama projek:
Memupuk kualiti peribadi: dedikasi, perhatian, ketepatan, objektiviti dalam harga diri, tanggungjawab, minat kognitif.
Tugas pembangunan utama projek:
Untuk membangunkan kecekapan utama pelajar yang menyumbang kepada penyesuaian sosial yang berjaya;
Membangunkan keinginan untuk pembangunan diri dan pertumbuhan peribadi melalui aktiviti kognitif.
ketahui: Konsep asas: objek, pembolehubah, tugasan, jenis data, input-output.Mengetahui elemen konstituen persekitaran pengaturcaraan Asas Kecil.
Mampu untuk: Muat turun program Smal Basic. Buat projek mudah dalam persekitaran pengaturcaraan ini. Dapat memasukkan fungsi matematik dan menulis ungkapan matematik dalam bahasa Asas Smal. Tulis atur cara linear mudah.
Peralatan dan bahan: nota kuliah sokongan (lihatLampiran 1 ), kad tugas, PC, Aplikasi Asas Kecil, papan, projektor multimedia, skrin.
Semasa kelas:
Bersedia untuk pelajaran
Mengemas kini pengetahuan
Soalan mengenai topik
Penggredan
Kerja rumah
mengatur masa
Penjelasan bahan baru
Mengukuhkan bahan yang dipelajari
Merumuskan
Persediaan untuk pelajaran (semak kesediaan untuk pelajaran, tandakan mereka yang tidak hadir)
Mengemas kini pengetahuan
mengatur masa
Mengapa pengaturcaraan diperlukan?
Anda ingin menulis esei tentang biologi. Kemungkinan besar, anda akan menulisnya pada komputer anda dalam beberapa editor teks. Dari manakah editor teks itu berasal? Sudah tentu, ia ditulis oleh pengaturcara. Anda akan mencari maklumat di Internet menggunakan pelayar yang juga ditulis oleh pengaturcara. Selepas anda menulis esei anda, anda akan mahu berehat dan bermain permainan komputer, yang, sekali lagi, telah ditulis oleh pengaturcara. Secara umum, bekerja pada komputer adalah mustahil tanpa menggunakan program yang ditulis oleh pengaturcara. Ini bermakna jika tiada pengaturcaraan, tidak akan ada program, dan komputer akan menjadi sekumpulan perkakasan yang mahal, kerana mustahil untuk melakukan sesuatu menggunakan komputer tanpa program.
Peringkat penyelesaian masalah.
Konsep asas
Pengaturcaraan - menulis program.
Program – algoritma yang ditulis dalam bahasa pengaturcaraan yang boleh difahami oleh komputer.
Algoritma – urutan tindakan yang jelas bertujuan untuk mencapai matlamat.
Dalam pengaturcaraan berorientasikan objek konsep objek diperkenalkan, mekanisme pengiraan telah dilaksanakan, membolehkan:
Menerangkan struktur sesuatu objek
Terangkan tindakan dengan objek
Gunakan peraturan pewarisan objek khas (Warisan bermaksud mencipta objek baru daripada yang sedia ada)
Tetapkan tahap perlindungan komponen objek
Teori
Perjumpaan pertama
Microsoft Small Basic - bahasa pengaturcaraan yang dibangunkan oleh . Direka untuk pembangun pemula yang ingin mempelajari asas mencipta program.
Kelebihan utama:
Persekitaran pembangunan yang sangat mudah - editor teks dengan petua alat pelbagai fungsi dan hanya beberapa butang untuk mengedit teks dan melancarkan program.
Bahasa mudah dengan hanya 20 kata kunci
Dokumentasi kontekstual untuk semua elemen bahasa yang dibina ke dalam persekitaran pembangunan
Keupayaan untuk melanjutkan komponen Asas Kecil untuk memasukkan fungsi tambahan. (Sebagai contoh, penghantaran sudah termasuk keupayaan untuk bekerja dengan perkhidmatan)
Kelebihan istimewa BASIC ialah keupayaan untuk bekerja dalam mod tafsiran, yang sangat memudahkan proses penyahpepijatan program: pelaksanaan hampir setiap arahan boleh disemak serta-merta selepas menulis.
Operator inferens
WriteLine("Hello!")Memaparkan rentetan (teks atau nombor )
hello!
Untuk mendapatkan keputusan - memaparkan teks "Hello!" ke skrin - anda perlu menulis program:
TextWindow.WriteLine("Hello!")
Program ini dimasukkan ke dalam tetingkapKecilasasdan bermula dengan butangPelancaran atau kunci F 5
Hasil program ialah output teks: "Hello!" VKotak teks program.
Baris itu bermaksud “Tekan sebarang kekunci untuk meneruskan...”
TextWindow ialah objek "tetingkap teks" di mana teks boleh dipaparkan.
Objek mempunyai harta benda Dan kaedah.
Kaedah objek -apa yang boleh dilakukan oleh objek, iaitu iaoperasi (pengendali )
Parameter Operasi disertakan dalam kurungan WriteLine()
Juga objek kotak teks mempunyai harta benda (ini adalah ciri-ciri objek) , Sebagai contoh
Sifat BackgroundColor – menetapkan warna latar belakang untuk teks,Warna Latar Depan- warna teks
Warna:
merahkuning
hijau
biru
hitam
putih
merah
kuning
hijau
biru
hitam
putih
Pembolehubah
Pembolehubah sering digunakan untuk mencipta program.
Pembolehubah mempunyaiNama - huruf Latin (a)
Pembolehubah boleh diberikan nilai, seperti nilai angka
a= 5, di mana tanda " = "- Ini pengendali tugasan
Nilai rentetana = a + 5
Ambil nilai pembolehubah a
Tambah 5 padanya
Letakkan nilai baharu dalam pembolehubah a, padamkan nilai sebelumnya daripadanya
Terdapat dua jenis pembolehubah: nombor Dan barisan
10, -5, 3.14 "sains komputer"
Lipat +gandakan *
Bahagikan /
Operasi matematik:
Sinus, logaritma, punca
gam
Bahagikan kepada bahagian
Cari simbol
Gantikan aksara
CONTOH dengan pengendali "+"
ungkapan
hasil
ungkapan
hasil
"Ivan" + "ova"
"Ivanova"
"kelas" + 10
"kelas 10"
Pengaturcaraan
Contoh 1: hasil program
Contoh 2: hasil program
Contoh 3: Program mengira dan memaparkan hasil tambah dua pembolehubaha Dan b
Matematik.Abs(nombor)
modul
Math.Cos( nombor)
kosinus
Matematik.Siling(nombor)
membundarkan kepada nombor bulat
Math.GetDegrees( nombor)
menukar nombor daripada radian kepada darjah
Math.GetRandomNumber( nombor max)
Nombor rawak dalam julat dari 1 hingganombor max
NaturalLog(nombor)
Logaritma semula jadi
Matematik.Pi
Pi
Math.Power( nombor asas, eksponen)
DALAM omenukar baseNamber kepada eksponen
Matematik. Maks (nombor1, nombor2)
Maksimum dua nombor
Matematik. Baki (dividen, pembahagi)
Baki bahagian
Matematik .Dosa(nombor)
Resdung
Matematik. Tan(nombor)
kosinus
Matematik .SquareRoot(nombor)
akar
Matematik. Bulat(nombor)
Pembundaran biasa
Matematik .ArcSin(nombor)
arcsine
Matematik. Lantai(nombor)
Bundarkan kepada integer terkecil terdekat
x=TextWindow.ReadNumber()
y=Math.Abs(x)
TextWindow.WriteLine("y sama "+y)
Matematik.PiMembetulkan bahan
Kerja amali bebas pada PC
Tugas untuk kerja bebas
Latihan 1:
Tentukan keputusan akhir penyataan tugasan
X=3Y=2
X=X+2
Y=X*2
X=Y
A= 15
B=A
A=B/5+2
B=A*3
A=0
Tugasan 2 : Buat program untuk mengira hasil darab 3 pembolehubah:a , b Dan c .
Tugasan 3 : Buat program untuk mengira ungkapan:z=5* x+ y/2 (dengan andaian x=10,y=100)
Tugasan 4: Buat program untuk memaparkan nilai X danY, mengikut tugasan 1.
Tugasan 5: Buat program untuk mencari diskriminasi
Tugasan 6 : menilai ungkapan
(5+5) 3 (1000 )
2+|3-25| (24 )
4 2 – (10)
Cos 2 (Pi/4)+ Dosa 2 (Pi/2) (1 )
( 1)
Y=2x 2 ( di x=5, y=50)
X 1.2 = (pada a=2, b=6, c=4 , x 1=-1, x 2=-2)
Z= ln(y)-3 ( di y=3, z=-1.901…)
C= (pada a=4, b=9, c=13)
Y=cos(x)+sin(x) (x=180 0 , y=-1)
Soalan
Apakah program tersebut?
Untuk apa bahasa pengaturcaraan?
Apakah elemen asas pengaturcaraan berorientasikan objek?
Apakah operasi yang boleh dilakukan dalam "tetingkap teks"?
Apakah maksud pengendali tugasan:
Jenis data yang digunakan dalam Asas Kecil?
Bagaimanakah penyataan I/O ditulis?
Penggredan
Kerja rumah
Merumuskan
Kerja dengan nota sokongan
sediakan mesej pada topik: "Kepelbagaian bahasa pengaturcaraan"
Buat program mengira luas segi tiga menggunakan formula Heron
Permohonan
OK 1: Asas pengaturcaraan dalam bahasa Kecil asas .
Pengaturcaraan - menulis program.
ALGORITMA + BAHASA PENGATURCARAAN= PROGRAM
Pembolehubah
Pembolehubah mempunyaiNama - Huruf Latin (Contohnya,a , DALAM , x1 , C9 )
Pembolehubah boleh diberikan nilai
Contoh: a = 5 , di mana tanda " = "- Ini pengendali tugasan
Terdapat dua jenis pembolehubah: nombor Dan barisan (urutan watak)
10, -5, 3.14 "sains komputer"
Lipat +gandakan *
Bahagikan /
Operasi matematik:
Sinus, logaritma, punca
gam
Bahagikan kepada bahagian
Cari simbol
Gantikan aksara
Pengaturcaraan
TextWindow- Ini objek tetingkap teks , di mana anda boleh memaparkan teks.
Parameter operasi disertakan dalam kurungan - WriteLine()
Sebuah objek kotak teks mempunyai harta benda , Sebagai contoh
Harta benda Warna latar belakang – menetapkan warna latar belakang untuk teks,Warna Latar Depan - warna teks
Warna yang digunakan:
merahkuning
hijau
biru
hitam
putih
merah
kuning
hijau
biru
hitam
putih
Operator Bahasa Asas Kecil
pengendali "+".
Pengendali asasMenggunakan Fungsi Matematik dalam Ungkapan
Mengarang ungkapan matematik yang kompleks Matematik.Pi TextWindow.WriteLine("masukkan nilai pembolehubah x")x=TextWindow.ReadNumber()
y=Math.Abs(x)
TextWindow.WriteLine("y sama "+y)
TextWindow.WriteLine(Math.Abs(-10))
Program untuk mengira jumlah dua pembolehubahA Dan b
TextWindow.WriteLine("masukkan nilai pembolehubah a")
a=TextWindow.ReadNumber()
TextWindow.WriteLine("masukkan nilai pembolehubah b")
b=TextWindow.ReadNumber()
s=a+b
TextWindow.WriteLine(" jumlah nombor adalah sama "+s)
Program ini dimasukkan ke dalam tetingkapKecilasasdan bermula dengan butangPelancaran atau kunci F 5.
Talian Tekan mana-mana kunci teruskan ...bermaksud " tekan mana-mana butang untuk meneruskan
Eclipse ialah platform pembangunan yang boleh diperluaskan dengan masa jalan dan platform aplikasi untuk mencipta, menjalankan dan mengurus perisian sepanjang kitaran hayatnya. Ramai orang mengenali Eclipse sebagai Java IDE, tetapi Eclipse sebenarnya terdiri daripada lebih 60 projek sumber terbuka yang berbeza.
Sumber Terbuka Percuma Mac Windows Linux
NetBeans
Persekitaran pembangunan bersepadu sumber terbuka dan percuma untuk pembangun perisian. Anda mendapat semua alatan yang anda perlukan untuk mencipta aplikasi desktop, perusahaan, web dan mudah alih profesional dalam Java, C/C++, dan juga bahasa dinamik seperti PHP, JavaScript, Groovy dan Ruby
Sumber Terbuka Percuma Mac Windows Linux BSD
Studio Aptana
Aptana Studio ialah persekitaran pembangunan web lengkap yang menggabungkan alatan pembangunan yang berkuasa dengan set pengehosan dalam talian dan perkhidmatan kerjasama untuk membantu anda dan pasukan anda melakukan lebih banyak perkara. Termasuk sokongan untuk PHP, CSS, FTP dan banyak lagi.
Sumber Terbuka Percuma Mac Windows Linux
Suntingan Komodo
Komodo Edit ialah penyunting sumber terbuka yang pantas, pintar dan percuma. Cuba gunakan Komodo Edit (atau abangnya Komodo IDE) - ia berbaloi.
Sumber Terbuka Percuma Mac Windows Linux
Xcode
Xcode Apple ialah persekitaran pembangunan terkemuka untuk Mac OS X. Selain disertakan pada cakera dengan setiap pembelian Mac OS X, versi terkini sentiasa tersedia sebagai muat turun percuma untuk ahli ADC (rangkaian sosial untuk pembangun aplikasi di mana-mana sahaja) . platform Apple) dan termasuk semua alatan yang anda perlukan untuk membuat, mengubah suai dan mengoptimumkan apl yang anda buat
Percuma Mac
MonoDevelop
MonoDevelop ialah IDE merentas platform yang direka terutamanya untuk C# dan bahasa .NET yang lain. MonoDevelop membolehkan pembangun membuat desktop dan aplikasi web ASP.NET dengan cepat untuk Linux, Windows dan Mac OSX. MonoDevelop membolehkan pembangun mengalihkan dengan mudah aplikasi .NET yang dibina dalam Visual Studio ke Linux dan Mac OSX dengan mengekalkan asas kod tunggal untuk semua platform
Sumber Terbuka Percuma Mac Windows Linux .NET Framework Xamarin Studio
Lazarus
Pascal Percuma ialah pengkompil GPL yang berjalan pada Linux, Win32, OS/2, 68K dan banyak lagi. Pascal percuma direka untuk memahami dan menyusun sintaks Delphi. Lazarus ialah kepingan teka-teki yang hilang yang membolehkan anda membangunkan program seperti Delphi untuk semua platform di atas. Memandangkan pengkompil yang sama tersedia pada semua platform di atas, ini bermakna anda tidak perlu membuat kod semula untuk mencipta produk yang sama untuk platform yang berbeza
Sumber Terbuka Percuma Mac Windows Linux BSD OpenSolaris
WebStorm
JetBrains WebStorm ialah persekitaran pembangunan komersial untuk JavaScript, CSS dan HTML yang dibina pada platform JetBrains IntelliJ IDEA.
WebStorm menyediakan penyiapan kod automatik, analisis kod on-the-fly, sokongan pemfaktoran semula dan penyepaduan VCS.
Dibayar Mac Windows Linux
SharpDevelop
#develop (singkatan untuk SharpDevelop) ialah persekitaran pembangunan percuma untuk projek C#, VB.NET dan Boo pada platform Microsoft. Ia adalah persekitaran sumber terbuka. Anda boleh memuat turun kedua-dua kod sumber dan fail boleh laku.
Halo semua, dalam artikel ini saya ingin menunjukkan kepada anda kod berguna untuk program kecil. Yang boleh anda gunakan untuk menulis program anda sendiri yang lebih serius, atau anda sedang mencari fungsi-fungsi ini yang diterangkan di sini.
Semua kod telah digunakan dalam persekitaran pengaturcaraan Microsoft Visual Basic v6.0.
Keluar dengan pengesahan
Jenis program atau fungsi pertama ialah keluar dengan mesej yang mengesahkan keluar. Secara umum, buka persekitaran pengaturcaraan Visual Basic, buat projek standard, kemudian letakkan satu butang pada borang, klik pada butang dan tetingkap penyuntingan kod akan dibuka, dan anda perlu memasukkan kod berikut di sana:
Beep Mesej Malapkan Sebagai String Malapkan butangsandikon Sebagai Integer Malapkan tajuk Sebagai String Malapkan respons As String message = "Adakah anda mahu keluar?" title = "Keluar" buttonasicons = vbYesNo + vbQuestion response = MsgBox(message, buttonasicons, title) If response = vbYes Then End End If !}
Kata laluan untuk memulakan program
Malapkan Kata Laluan, Pword PassWord = "12345" Pword = InputBox("Masukkan kata laluan") Jika Pword<>Kata Laluan Kemudian MsgBox "Kata Laluan tidak betul" Tamat Tamat Jika
Di mana, 12345 adalah kata laluan untuk memulakan program. Tetapi kod ini boleh digunakan di mana sahaja anda mahu.
Keluaran mesej
Jika anda hanya mahu memaparkan mesej untuk sesuatu, kemudian tampal ini:
Bip Malapkan mesej Sebagai String Malapkan butangsandikon Sebagai Integer Malapkan tajuk Sebagai String mesej = "Mesej" tajuk = "Mesej" buttonasicons = vbOKOnly + vbexciamation MsgBox message, buttonsandicons, title !}
Melukis pada borang
Sub Form_MouseDown(Butang Sebagai Integer, Shift Sebagai Integer, X Sebagai Tunggal, Y Sebagai Tunggal) Form1.CurrentX = X Form1.CurrentY = Y End Sub Private Sub Form_MouseMove(Butang Sebagai Integer, Shift Sebagai Integer, X Sebagai Tunggal, Y As Single) Jika Butang = 1 Kemudian Baris (Form1.CurrentX, Form1.CurrentY)-(X, Y), QBColor(0) End If End Sub
Anda boleh menukar warna menggunakan parameter QBColor(0), i.e. Daripada 0, letakkan nombor lain.
Memulakan semula komputer
Untuk but semula komputer anda: letakkan butang dan tampal kod berikut:
Malapkan strComputer Sebagai String strComputer = "." Tetapkan objWMIService = GetObject("winmgmts:" & "(impersonationLevel=impersonate, (Shutdown))!\\" _ & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery("Pilih * daripada Win32_Operating") ForSy Setiap ObjOperatingSystem Dalam colOperatingSystems ObjOperatingSystem.Reboot " Untuk but semula SeterusnyaMelancarkan program dalam satu salinan
Contoh berikut akan membantu anda membuat program dijalankan sekali sahaja, i.e. jika ia dimulakan semula, ia akan memaparkan mesej yang sepadan. Masukkan yang berikut ke dalam kod borang:
Sub Form_Load() Swasta Jika App.PrevInstance = Benar Kemudian MsgBox "Projek telah pun bermula!" Tamat Tamat Jika
Mematikan komputer
Untuk mematikan komputer anda, anda boleh menggunakan kod berikut:
Malapkan strComputer Sebagai String strComputer = "." Tetapkan objWMIService = GetObject("winmgmts:" & "(impersonationLevel=impersonate,(Shutdown))!\\" _ & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery("Pilih * daripada Win32_OperatingSystems") ForSy Setiap ObjOperatingSystem Dalam colOperatingSystems ObjOperatingSystem.ShutDown "Untuk menutup Seterusnya
Menamatkan sebarang proses
Untuk menamatkan proses anda boleh menggunakan kod berikut:
Shell "Cmd /x/c taskkill /f /im ICQlite.exe", vbvhite
Di mana, bukannya ICQlite.exe boleh ada sebarang proses.
Berapa lama komputer bertahan?
Di bawah ialah contoh bagaimana anda boleh menentukan masa operasi komputer. Kaedah ini adalah berdasarkan penggunaan perpustakaan kernel32, jadi pada permulaan kod borang, sambungkan DLL ini.
Fungsi Isytihar Peribadi GetTickCount Lib "kernel32" () Selagi "Dan dalam kod butang: Malapkan a_hour, a_minute, a_second a = Format(GetTickCount() / 1000, "0") "jumlah saat a_days = Int(a / 86400) a = a - a_days * 86400 a_hour = Int(a / 3600) a = a - a_hour * 3600 a_minute = Int(a / 60) a_second = a - a_minit * 60 MsgBox "Komputer anda sedang berjalan " & Str(a_days) & " hari " & Str(a_jam) _ & " jam " & Str(a_minit) & " minit" & Str(a_saat) & " saat"
Kami melihat fungsi mudah yang boleh digunakan hampir di mana sahaja. Sekarang mari kita lihat contoh yang lebih serius, dan ia boleh membantu anda menulis projek besar anda.
Contoh bekerja dengan folder
Padam direktori
Fungsi Pengisytiharan Peribadi RemoveDirectory& Lib _ "kernel32" Alias "RemoveDirectoryA" (ByVal lpPathName As String) "Mengalih keluar direktori (kosong!) PathName$ = "D:\t" code& = RemoveDirectory(PathName) Jika kod& = 0 Kemudian "Error mengalih keluar direktori Lain "Direktori dipadam Tamat JikaBuat direktori
Sub MakeDir(nama nama Sebagai Rentetan) Malapkan i Selagi, laluan As String Do i = InStr(i + 1, dirname & "\", "\") laluan = Left$(dirname, i - 1) If Right$(path , 1)<>":" Dan Dir$(path, vbDirectory) = "" Kemudian laluan MkDir Tamat Jika Gelung Sehingga i >= Len(nama nama) End Sub Private Sub Command1_Click() Call MakeDir("C:\Soft\1\2\3\ ") End SubSenaraikan semua folder dengan sub folder
Kami menambah 2 medan teks dan butang pada borang, nama medan teks pertama ialah StartText, nama medan teks kedua ialah OutText. Sifat berbilang baris = benar, nama butang = CmdStart
Berjalan statik Sebagai Boolean Malapkan AllDirs Sebagai Koleksi Baharu Dim next_dir Sebagai Integer Dim dir_name Sebagai String Dim sub_dir Sebagai String Dim i Sebagai Integer Dim txt Sebagai String Jika berjalan Kemudian berjalan = False CmdStart.Enabled = False CmdStart.Caption = "Berhenti" Lain berjalan = True MousePointer = vbHourglass CmdStart.Caption = "Hentikan" OutText.Text = "" DoEvents next_dir = 1 AllDirs.Add StartText.Text Do While next_dir<= AllDirs.Count dir_name = AllDirs(next_dir) next_dir = next_dir + 1 sub_dir = Dir$(dir_name & "\*", vbDirectory) Do While sub_dir <>"" Jika UCase$(sub_dir)<>"PAGEFILE.SYS" Dan sub_dir<>"." Dan sub_dir<>".." Kemudian sub_dir = dir_name & "\" & sub_dir Pada Ralat Resume Seterusnya Jika GetAttr(sub_dir) Dan vbDirectory Kemudian AllDirs.Tambah sub_dir Tamat Jika sub_dir = Dir$(, vbDirectory) Gelung DoEvents Jika Tidak berjalan Kemudian Keluar Do Loop txt = "" Untuk i = 1 Kepada AllDirs.Count txt = txt & AllDirs(i) & vbCrLf Seterusnya i OutText.Text = txt MousePointer = vbDefault unning = False End If
Sekarang kami melancarkan program, tulis dalam medan teks StartText: C:\windows, dan klik pada butang.
Saiz direktori
Const MAX_PATH = 260 Jenis Peribadi FILETIME dwLowDateTime Sepanjang dwHighDateTime Seperti Long End Type Private Type WIN32_FIND_DATA dwFileAttributes Sepanjang ftCreationTime Sebagai FILETIME ftLastAccessTime Sebagai FILETIME ftLastWriteTime Sebagai FILEgh nLoserveSyg Panjang dWReserve Sepanjang cFileName Sebagai String * MAX_PATH cGanti Sebagai String * 14 End Type Private Declary Function FindFirstFile Lib _ "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long Private Declary Function FindNextFile Lib _ "ByValFileFileName" , ileData Sebagai WIN32_FIND_DATA) Selagi Peribadi Isytihar Fungsi FindClose Lib _ "kernel32" (ByVal hFindFile Selagi) Selagi Saiz Fungsi AwamOf(ByVal DirPath Sebagai Rentetan) Sebagai Double Dim hCari Selagi Malapkan fdata Sebagai WIN32_FIND_DATA Dim As Double Dim Rentetan Malapkan x Selagi Pada Ralat Sambung Seterusnya x = GetAttr(DirPath) Jika Ralat Kemudian SizeOf = 0: Keluar Fungsi Jika (x Dan vbDirectory) = vbDirectory Kemudian dblSize = 0 Err.Clear sName = Dir$(EndSlash(DirPath) & " *.* ", vbSystem Atau vbHidden Atau vbDirectory) Jika Err.Number = 0 Kemudian hFind = FindFirstFile(EndSlash(DirPath) & "*.*", fdata) Jika hFind = 0 Kemudian Keluar Fungsi Do If (fdata.dwFileAttributes And vbDirectory ) = vbDirectory Kemudian sName = Left$(fdata.cFileName, InStr(fdata.cFileName, vbNullChar) - 1) If sName<>"." Dan sName<>".." Kemudian dblSize = dblSize + SizeOf(EndSlash(DirPath) & sName) Tamat Jika Lain dblSize = dblSize + fdata.nFileSizeHigh * 65536 + fdata.nFileSizeLow End Jika DoEvents Gelung Semasa FindNextFile(hFind, fdata)<>0 hFind = FindClose(hFind) End If Else On Error Resume Next dblSize = FileLen(DirPath) End If SizeOf = dblSize End Function Private Function EndSlash(ByVal PathIn As String) As String If Right$(PathIn, 1) = "\" Kemudian EndSlash = PathIn Else EndSlash = PathIn & "\" End If End Function Private Sub Form_Load() "Ganti "D:\soft" dengan direktori yang saiznya anda ingin tahu MsgBox SizeOf("D:\soft") / 1000000 Tamat SubContoh bekerja dengan fail
Salinan
Katakan kita mempunyai fail bernama 1.txt dalam folder C:\1\ dan kita perlu menyalinnya ke C:\2\ untuk melakukan ini kita menulis kod berikut:
Salinan fail "C:\1\1.txt","C:\2\1.txt"
Catatan! Jika direktori 2 sudah mengandungi fail bernama 1.txt, ia akan digantikan dengan 1.txt daripada direktori 1.
Private Declare Function CopyFile Lib _ "kernel32.dll" Alias "CopyFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Private Sub Command1_Click() " Salin fail C:\1.txt kepada D :\1.txt Dim retval As Long " return value "Salin fail retval = CopyFile("C:\1.txt", "D:\1.txt", 1) Jika retval = 0 Kemudian "If ralat MsgBox " Saya tidak boleh menyalin" Lain "Jika semuanya baik MsgBox "Fail disalin." Tamat Jika End Sub
Penyingkiran
Sebagai contoh, kami ingin memadam fail 1.txt daripada akar pemacu C:\
Bunuh("C:\1.txt")
kaedah API
Fungsi Isytihar Peribadi DeleteFile Lib _ "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long Private Sub Command1_Click() "Delete file C:\Samples\anyfile.txt Dim retval As Long "Return value retval = DeleteFile( "C:\1.txt") Jika retval = 1 Kemudian MsgBox "Fail telah berjaya dipadamkan." Tamat Sub
Bergerak
Anda boleh, sebagai contoh, mengalihkannya seperti ini:
Salinan fail "C:\1.txt","C:\2\1.txt" Bunuh ("C:\1.txt")
Tetapi lebih baik seperti ini (melalui API):
Fungsi Isytihar Peribadi MoveFile Lib _ "kernel32.dll" Alias "MoveFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long Private Sub Command1_Click() Dim retval Selagi "Return value retval" = MoveFile \1 .txt", "C:\2\1.txt") Jika retval = 1 Kemudian MsgBox "Berjaya dipindahkan" Lain MsgBox "Error" Tamat Jika End Sub
Menamakan semula
Untuk menamakan semula fail 1.txt yang terletak dalam C:\ kepada 2.txt anda boleh menggunakan kod berikut:
Salinan fail "C:\1.txt","C:\2.txt" Kill ("C:\1.txt")
kaedah API
Fungsi Isytihar Peribadi MoveFile Lib _ "kernel32.dll" Alias "MoveFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long Private Sub Command1_Click() Dim retval As Long " return value retval = MoveFile("C: \1 .txt", "C:\2.txt") Jika retval = 1 Kemudian MsgBox "Berjaya" Lain MsgBox "Ralat" Tamat Jika End Sub
Tentukan saiz fail
Saiz fail boleh ditentukan dalam dua cara:
Jika fail boleh dibuka dengan fungsi OPEN, maka anda boleh menggunakan fungsi LOF
Malapkan FileFree Sebagai Integer Malapkan Saiz Fail Sepanjang FileFree = FreeFail Buka "C:\WIN\GENERAL.TXT" Untuk Input Sebagai FileFree FileSize = LOF(FileFree) Tutup FileFree
Atau gunakan fungsi FileLen
Malapkan lFileSize Sebagai Panjang FileSize = FileLen("C:\WIN\GENERAL.TXT")
Sembunyikan jam secara pemrograman
Tambah 2 butang dan tampal kod:
Pilihan Fungsi Isytihar Peribadi Eksplisit FindWindow Lib _ "user32" Alias "FindWindowA" (ByVal lpClassName Sebagai Rentetan, ByVal lpWindowName Sebagai Rentetan) Selama Fungsi Isytihar Peribadi FindWindowEx Lib _ "user32" Alias "FindWindowAs" . Panjang, ByVal hWnd2 Sepanjang, ByVal lpsz1 Sebagai Rentetan, ByVal lpsz2 Sebagai Rentetan) Fungsi Isytihar Peribadi Lama ShowWindow Lib _ "pengguna32" (ByVal hwnd Selagi, ByVal nCmdShow Selagi) Selagi Malapkan hnd Selagi Sub Perintah Peribadi1_Klik() ShowWindow hnd, 0 End Sub Private Sub Command2_Click() ShowWindow hnd, 1 End Sub Private Sub Form_Load() hnd = FindWindow("Shell_TrayWnd", vbNullString) hnd = FindWindowEx(hnd, 0, "TrayNotifyWnd", vb(FindWindow)Ex hnd, 0, "TrayClockWClass", vbNullString) Command1.Caption = "Sembunyikan jam" Command2.Caption = "Tunjukkan jam" End Sub
Tambahkan ikon dulang
Tambah modul dan tampal kod ke dalamnya:
Isytihar Fungsi Shell_NotifyIconA Lib _ "SHELL32" (ByVal dwMessage Selagi, lpData Sebagai NOTIFYICONDATA) Sebagai Integer Public Const NIM_ADD = 0 Public Const NIM_MODIFY = 1 Public Const NIM_DELETE = 2 Public Const NIF_MESSAGE NIF_Public Const = 2 Public Const NIF_MESSAGE = 2 Taip NOTIFYICONDATA cbSaiz Sepanjang hWnd Sepanjang uID Sepanjang uBendera Sepanjang uCallbackMesej Selagi hIcon Sepanjang szTip Sebagai Rentetan * 64 Tamat Jenis Fungsi Awam SetTrayIcon(Mod Selagi Panjang, HWnd Sepanjang, Ikon Selagi, Hujung Sebagai Rentetan) Selagi Malap nidTemp Sebagai NOTIFYICONDATA nidTemp.cbSize = Len(nidTemp) nidTemp.hWnd = hWnd nidTemp.uID = 0& nidTemp.uFlags = NIF_ICON Atau NIF_TIP nidTemp.uCallbackMessage = 0& nidTemp.hIcon nidTemp.uID = 0& nidTemp.uFlags = NIF_ICON Atau NIF_TIP nidTemp.uCallbackMessage = 0& nidTemp.hIcon nidTemp.Icon = Icon nidTemp. = Shell_NotifyIconA(Mod, nidTemp) Fungsi Tamat
Untuk menggunakan, masukkan ke dalam kod borang:
Sub Form_Load() SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "Ujian" End Sub "Untuk memadamkan Sub Perintah Peribadi1_Click() SetTrayIcon NIM_DELETE, Me.hWnd, 0&, "" End Sub
Menyekat butang mula
Fungsi Isytihar Peribadi FindWindow Lib "pengguna32" Alias "FindWindowA" _ (ByVal lpClassName Sebagai Rentetan, ByVal lpWindowName Sebagai Rentetan) Selama Fungsi Isytihar Peribadi FindWindowEx Lib "user32" Alias "FindWindowExA" hWndal1 As Long hWnd2 Selagi, ByVal lpsz1 Sebagai Rentetan, ByVal lpsz2 Sebagai Rentetan) As Long Private Declare Function EnableWindow Lib "user32" _ (ByVal hwnd As Long, ByVal fEnable As Long) As Long Sub Public EnableStartButton(Pilihan Didayakan Sebagai Boolean = True) Dim lHwnd Selagi " find hWnd lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString) Call EnableWindow(lHwnd&, CLng(Enabled)) End Sub Private Sub Command1_Click() EnableStartButton EnableStartButton dilumpuhkan End Sub Private Sub Command2_Click() EnableStartButton True "Butang START tidak dilumpuhkan End Sub
Membaca parameter daripada fail INI
Program ini menyambung ke FTP, dan fail ini mengandungi parameter - pelayan, log masuk, port, kata laluan.
Pertama, buat fail INI:
Nama Serv=pengguna pelayan=Log masuk pwd=port kata laluan=port
Ia mesti diletakkan dalam folder program. Seterusnya, masukkan ke dalam modul:
Private Declare Function WritePrivateProfileString Lib _ "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, _ ByVal lpString As String, ByVal lpFileName As String) As Long Private DeclareProfiles Ali "GetP rivateProfileStringA" (ByVal lpApplicationName Sebagai Rentetan, ByVal lpKeyName Sebagai Rentetan, _ ByVal lpDefault Sebagai Rentetan, ByVal lpReturnedString Sebagai Rentetan, _ ByVal nSize Sepanjang, ByVal lpFileName Sebagai Rentetan Keseronokan Awam) Sebagai String Keseronokan Awam) As String ReadIni = GetValue (Razdel, Param, App.Path & "\test.ini", "0") End Function Private Function GetValue(ByVal Section As String, _ ByVal Key As String, ByVal fFileName As String, Optional ByVal DefaultValue As String = vbNullString) As String Dim Data As String Data = String$(1000, Chr$(0)) If GetPrivateProfileString(Section, Key, DefaultValue, Data, 1000, fFileName) > 0 Kemudian GetValue = Left$(Data, InStr (Data$, Chr $(0)) - 1) Lain GetValue = DefaultValue Tamat Jika Keluar Fungsi Tamat Fungsi
Kemudian tampal ke dalam kod borang:
Fungsi Isytihar Peribadi InternetOpen Lib _ "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType Selagi, ByVal sProxyName As String, _ ByVal sProxyBypass Sebagai Rentetan, ByVal nFlags Peribadi Declare Selamanya) Lib _ "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession Selagi, ByVal sServerName As String, _ ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal sServerName As Long , ByVal dwContext As Long) As Long Private Declary Function FtpPutFile Lib _ "wininet.dll" Alias "FtpPutFileA" (ByVal hFtpSession Selagi, ByVal lpszLocalFile Sebagai Rentetan, _ ByVal lpszRemote ByVals ByVal File As Long As dww, ByVal lpszLocalFile Sebagai Rentetan Panjang) sebagai fungsi boolean peribadi mengisytiharkan ftpgetfile lib _ "wininet.dll" alias "ftpgetfilea" (byval hftpsession selama panjang, byval lpszremotefile sebagai rentet dwFlags Selagi, ByVal d wContext As Long ) As Boolean Private Declary Function InternetCloseHandle Lib _ "wininet.dll" (ByVal hInet As Long) As Integer Dim rc& Dim rs&
Dan dalam kod butang:
rc& = InternetOpen("", 0, vbNullString, vbNullString, 0) rs& = InternetConnect(rc&, ReadIni("General", "servname"), "0", _ ReadIni("General", "usern"), ReadIni( "Umum", "pwd"), 1, 0, 0) Jika FtpGetFile(rs&, "Your file.txt", "path where", False, 0, 1, 0) = False Then End Call InternetCloseHandle(rs&) Call InternetCloseHandle(rc&)Senarai proses yang sedang berjalan
Tambah Kotak Senarai dan butang 1, masukkan kod berikut:
Pilihan Fungsi Pengisytiharan Peribadi Eksplisit CreateToolhelpSnapshot Lib _ "Kernel32" Alias "CreateToolhelp32Snapshot" _ (ByVal lFlags Selagi, ByVal lProcessID Selagi) As Long Private Declary Function ProcessFirst Lib _ "Kernel32" AliasB Shotshot 3 (AliasB Snapshot 3) Selagi, uProcess As PROCESSENTRY32) As Long Private Declary Function ProcessNext Lib _ "Kernel32" Alias "Process32Next" _ (ByVal hSnapShot Selagi, uProcess As PROCESSENTRY32) As Long Private Deklarasi Sub CloseHandle Lib "Kernel As Long32 hPa" ) Peribadi Const TH32CS_SNAPPROCESS Selagi = 2& Private Const MAX_PATH Sebagai Integer = 260 Private Type PROCESSENTRY32 dwSaiz Sepanjang cntPenggunaan Sepanjang th32ProcessID Sepanjang th32DefaultHeapID Sepanjang th32ModuleID Sepanjang cntThreadsSepanjangCThreadsSepanjangCntThreads Sepanjang Fail szExe Panjang Sebagai Rentetan * MAX_PATH Tamat Taip Di m hSnapShot As Long Dim uProcess As PROCESSENTRY32 Dim r As Long Private Sub Command1_Click() List1.Kosongkan hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&) Jika hSnapShot = 0 Kemudian Keluar Sub End Jika r uProcess =dwProcess = Len. ProcessFirst(hSnapShot, uProcess) Do While r List1.AddItem uProcess.szExeFile r = ProcessNext(hSnapShot, uProcess) Gelung Panggilan CloseHandle(hSnapShot) End Sub
Meletakkan program ke dalam permulaan
Agar program dimuatkan dengan Windows, seperti beberapa program lain, anda boleh menggunakan pendaftaran:
Tambah 2 butang dan kod berikut:
Sub Perintah Swasta1_Click() "Entri Pendaftaran Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Name program anda", _ "Path to your program" End Sub Sub Perintah2_Click() Persendirian "Padam daripada registri Set Reg = CreateObject("WScript.Shell") Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Name program anda" End Sub
Dan agar program dimuatkan bersama Windows, walaupun dalam mod selamat, maka kod berikut:
Pertama, kaedah yang lebih serius (buat salinan sandaran pendaftaran untuk berjaga-jaga).
Sub Perintah1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Path to your program" End Sub Private Sub Command2_Click()" Ini adalah untuk pemulihan Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Explorer.exe," End Sub
Nah, cara yang mudah.
Peribadi Sub Perintah1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C:\\WINDOWS\\system32\\userinit.exe , Laluan ke program anda" End Sub Private Sub Command2_Click()"Untuk memulihkan Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C: \\WINDOWS\\system32\\userinit.exe," End Sub
Menyembunyikan bar tugas
Tambah 2 butang dan tampal kod:
Fungsi Isytihar Persendirian SetWindowPos Lib "user32" (ByVal hwnd Selagi, _ ByVal hWndInsertSelepas Lama, ByVal x Sepanjang, ByVal y Selagi, _ ByVal cx Sepanjang, ByVal cy Sepanjang, ByVal wFlags Selagi) Selagi Persendirian Isytihar Fungsi findWindow lib "user32" alias "findWindowa" _ (byval lpclassname sebagai rentetan, byval lpwindowname sebagai rentetan) sebagai long const swp_hidewindow = & h80 const swp_showwindow = & h40 "Sembunyikan Sub Command1_click () ") Panggil SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) End Sub "Shows Private Sub Command2_Click() hwnd1 = FindWindow("Shell_traywnd", "") Panggil SetWindowPos(hwnd1, 0, 0, . 0, 0, SWP_SHOWWINDOW) End Sub
Nyahzip arkib RAR
Untuk menyahzip arkib RAR, anda boleh menggunakan kod berikut:
WinRarApp = "C:\Program Files\WinRAR\WinRAR.exe x -o+" iPath = "C:\" iArhivName = "Nama fail.rar" adr = WinRarApp & " """ & iPath & iArhivName & """ " "" & iPath & """ " RetVal = Shell(adr, vbHide)
Berapa banyak RAM dalam komputer
Tambah satu butang dan tampal kod berikut:
Peribadi Mengisytiharkan Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer Sebagai TMemoryStatus) Jenis Peribadi TMemoryStatus dwPanjang Sepanjang dwMemoryMuat Sepanjang dwTotalPhys Selagi dwAvailPhys Sepanjang dwTotalPageFail Sepanjang dwAvailPageFail Sepanjang dwTotalMemoryVirtual Sepanjang dwTotalMemoryVirtual Perintah1_Klik( ) ms.dwLength = Len(ms) Call GlobalMemoryStatus(ms) MsgBox "Jumlah:" & ms.dwTotalPhys & vbCr & "Free:" _ & ms.dwAvailPhys & vbCr & "Digunakan dalam %:" & ms.dwMemoryLoad End Sub
Sembunyikan ikon desktop
Ini dilakukan seperti berikut. Tambah 2 butang dan tampal kod berikut:
Fungsi Isytihar Peribadi ShowWindow& Lib "user32" (ByVal hwnd&, ByVal nCmdShow&) Fungsi Isytihar Peribadi FindWindow Lib _ "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpSWWindow As Long Name As String) 1 Sub Perintah Peribadi1_Klik() Malapkan hHandle Selagi hHandle = FindWindow("progman", vbNullString) Panggil ShowWindow(hHandle, SW_HIDE) Tamatkan Sub Perintah Peribadi2_Click() Malapkan hHandle Selagi hHandle = FindWindow("progman), vbWindowString (hHandle , SW_NORMAL) End Sub
Menggunakan butang Command1, ikon disembunyikan, Command2 - ia muncul.
Itu sahaja untuk saya, saya harap contoh di atas berguna untuk anda, bye!