Alternative pentru înlocuirea Microsoft Small Basic. Lecție despre informatică și TIC pe tema: „Introducere în mediul de programare Small Basic” Punerea unui program în pornire

Eclipse este o platformă de dezvoltare extensibilă cu timpi de execuție și platforme de aplicații pentru crearea, rularea și gestionarea software-ului pe parcursul ciclului său de viață. Mulți oameni cunosc Eclipse ca un IDE Java, dar Eclipse este de fapt alcătuit din peste 60 de proiecte open source diferite.

Sursă deschisă gratuită Mac Windows Linux

  • NetBeans

    Un mediu de dezvoltare integrat gratuit și open source pentru dezvoltatorii de software. Obțineți toate instrumentele de care aveți nevoie pentru a crea desktopuri profesionale, întreprinderi, web și aplicatii mobileîn Java, C/C++ și chiar în limbaje dinamice precum PHP, JavaScript, Groovy și Ruby

    Sursă deschisă gratuită Mac Windows Linux BSD

  • Aptana Studio

    Aptana Studio este un mediu complet de dezvoltare web care combină instrumente puternice de dezvoltare cu o suită de servicii de găzduire și colaborare online pentru a vă ajuta pe dvs. și echipa dvs. să faceți mai mult. Include suport pentru PHP, CSS, FTP și multe altele.

    Sursă deschisă gratuită Mac Windows Linux

  • Komodo Edit

    Komodo Edit este un editor open source rapid, inteligent și gratuit. Încercați să utilizați Komodo Edit (sau fratele său mai mare Komodo IDE) - merită.

    Sursă deschisă gratuită Mac Windows Linux

  • Xcode

    Xcode-ul Apple este cel mai important mediu de dezvoltare pentru Mac OS X. Pe lângă faptul că este inclus pe disc la fiecare achiziție de Mac OS X, este cel mai o nouă versiune este, de asemenea, întotdeauna disponibil pentru descărcare gratuită pentru membrii ADC ( rețea socială pentru dezvoltatorii de aplicații de pe toate platformele Apple) și include toate instrumentele de care aveți nevoie pentru a crea, a modifica și a optimiza aplicațiile pe care le creați

    Gratuit Mac

  • MonoDevelop

    MonoDevelop este un IDE multi-platformă conceput în primul rând pentru C# și alte limbaje .NET. MonoDevelop permite dezvoltatorilor să creeze rapid aplicații desktop și web ASP.NET pentru Linux, Windows și Mac OSX. MonoDevelop permite dezvoltatorilor să port cu ușurință aplicațiile .NET construite în Visual Studio pe Linux și Mac OSX prin menținerea unei singure baze de cod pentru toate platformele

    Sursă deschisă gratuită Mac Windows Linux. Cadru net Xamarin Studio

  • Lazăr

    Free Pascal este un compilator GPL care rulează pe Linux, Win32, OS/2, 68K și multe altele. Free Pascal este conceput pentru a înțelege și compila sintaxa Delphi. Lazarus este piesa din puzzle-ul lipsă care vă va permite să dezvoltați programe asemănătoare Delphi pentru toate platformele de mai sus. Deoarece același compilator este disponibil pe toate platformele de mai sus, aceasta înseamnă că nu trebuie să recodificați pentru a crea produse identice pentru platforme diferite.

    Sursă deschisă gratuită Mac Windows Linux BSD OpenSolaris

  • WebStorm

    JetBrains WebStorm este un mediu de dezvoltare comercială pentru JavaScript, CSS și HTML construit pe platforma JetBrains IntelliJ IDEA.
    WebStorm oferă completare automată a codului, analiză de cod din mers, suport pentru refactorizare și integrare VCS.

    Plătit Mac Windows Linux

  • SharpDevelop

    #develop (prescurtare de la SharpDevelop) este un mediu de dezvoltare gratuit pentru proiectele C#, VB.NET și Boo în Platforma Microsoft. Este un mediu open source. Puteți descărca ca sursă, și fișiere executabile.

  • Bazele programării.

    Limbaj de programare Mic De bază

    LECTIA 1: Introducere în mediul de programare Mic De bază .

    Ţintă: Introduce cu limbajul de programare Small Basic.

    Sarcini:

      Începeți să învățați un limbaj de programare Mic de bază. Dați conceptul de OOP (programare orientată pe obiecte)

      Învață să lucrezi în acest mediu de programare. P introduceți „obiectul text” al mediului Mic de bază.

      Dați o primă idee despre crearea de programe într-un mediu de programare.

    Principalele obiective educaționale ale proiectului:

      Cultivarea calităților personale: dăruire, atenție, acuratețe, obiectivitate în stima de sine, responsabilitate, interes cognitiv.

    Principalele sarcini de dezvoltare ale proiectului:

      Să dezvolte la elevi competențe cheie care contribuie la adaptarea socială de succes;

      Dezvoltați dorința de autodezvoltare și creștere personală prin activitate cognitivă.

    Știi: Concepte de bază: obiect, variabile, atribuire, tipuri de date, intrare-ieșire.Cunoașteți elementele constitutive ale mediului de programare Small Basic.

    A fi capabil să: Descărcați programul Smal Basic. Creați proiecte simple în acest mediu de programare. Să fiți capabil să introduceți funcții matematice și să scrieți expresii matematice în limbajul Smal Basic. Scrieți programe liniare simple.

    Echipamente si material: note de susținere a cursului (veziAnexa 1 ), carduri de sarcini, PC, aplicație Small Basic, placă, proiector multimedia, ecran.

    În timpul orelor:

      Organizarea timpului

      1. Pregătirea pentru lecție

        Actualizarea cunoștințelor

      Explicarea noului material

      Consolidarea materialului învățat

      1. Întrebări pe tema

      Rezumând

      1. Notare

        Teme pentru acasă

      Organizarea timpului

      1. Pregătirea pentru lecție (verificați pregătirea pentru lecție, marcați pe cei absenți)

        Actualizarea cunoștințelor

    De ce este nevoie de programare?

    Vrei să scrii un eseu despre biologie. Cel mai probabil, îl vei scrie pe computer într-un editor de text. De unde a venit editorul de text? Desigur, a fost scris de programatori. Veți căuta informații pe Internet folosind un browser care a fost scris și de programatori. După ce îți scrii eseul, vei dori să te relaxezi și să te joci joc pe calculator, care a fost din nou scris de programatori. În general, lucrul pe computer este imposibil fără a utiliza programe pe care le scriu programatorii. Asta înseamnă că dacă nu ar exista programare, nu ar exista programe, iar computerul ar fi o grămadă de hardware scump, pentru că este imposibil să faci ceva folosind un computer fără programe.

    Etapele rezolvării problemelor.

    Noțiuni de bază

    Programare - scrierea de programe.

    Program – un algoritm scris într-un limbaj de programare pe care un computer îl poate înțelege.

    Algoritm – o succesiune clară de acțiuni care vizează atingerea scopului.

    În programarea orientată pe obiecte a fost introdus conceptul de obiect, au fost implementate mecanisme de calcul care permit:

      Descrie structura unui obiect

      Descrie acțiuni cu obiecte

      Utilizați reguli speciale de moștenire a obiectelor (Moștenirea înseamnă crearea de noi obiecte din cele existente)

      Setați gradul de protecție a componentelor obiectului

      Teorie

    Prima intalnire

    Microsoft Small Basic - un limbaj de programare dezvoltat de . Conceput pentru dezvoltatorii începători care doresc să învețe elementele de bază ale creării de programe.

    Principalele avantaje:

      Un mediu de dezvoltare foarte simplu - un editor de text cu un tooltip multifuncțional și doar câteva butoane pentru editarea textului și lansarea programelor.

      Limbajul simplu cu doar 20 de cuvinte cheie

      Documentație contextuală pentru toate elementele de limbaj integrate în mediul de dezvoltare

      Abilitatea de a extinde componentele Small Basic pentru a include funcționalități suplimentare. (De exemplu, livrarea include deja capabilități de lucru cu servicii)

      Un avantaj special al BASIC este capacitatea de a lucra în modul de interpretare, ceea ce simplifică foarte mult procesul de depanare a programelor: execuția aproape a oricărei comenzi poate fi verificată imediat după scriere.

    Operator de inferență

    WriteLine ("Bună ziua!")

    Afișează șirul (text sau număr )

    Buna ziua!

    Pentru a obține rezultatul - afișarea textului „Bună ziua!” pe ecran - trebuie să scrieți un program:

    TextWindow.WriteLine(„Bună ziua!”)

    Programul este introdus în fereastrăMicDe bazăși începe cu un butonLansa sau cheie F 5

    Rezultatul programului este rezultatul textului: "Bună ziua!" VCasetă de text programe.

    Linia înseamnă „Apăsați orice tastă pentru a continua...”

    TextWindow este un obiect „fereastra text” în care poate fi afișat text.

    Obiectul are proprietățiȘi metode.

    Metoda obiectului -ce poate face un obiect, adică eloperațiuni (operatori )

    Parametru Operația este inclusă în parantezele WriteLine()

    De asemenea, un obiect casetă de text are proprietăți (acestea sunt caracteristicile obiectului) , De exemplu

    Proprietatea BackgroundColor – setează culoarea de fundal pentru text,Culoarea primului plan- culoarea textului


    Culori:

    roșu

    galben

    verde

    albastru

    negru

    alb

    roșu

    galben

    verde

    albastru

    negru

    alb

    Variabil

    Variabilele sunt adesea folosite pentru a crea programe.

      Variabila areNume - litera latină (A)

      unei variabile i se poate atribui o valoare, cum ar fi o valoare numerică

    A= 5, unde semnul " = " - Acest operator de atribuire

    Valoare șir

    a = a + 5

      Luați valoarea variabilei a

      Adăugați 5 la el

      Pune o nouă valoare în variabila a, ștergând-o pe cea anterioară

      Există două tipuri de variabile: numărȘi linia

    10, -5, 3.14 „informatica”

    Îndoiți +

    Înmulțire *

    Divide /

    Operatii matematice:

    Sinus, logaritm, rădăcină

    Lipici

    Împărțiți în părți

    Căutați simboluri

    Înlocuiește caracterele

    EXEMPLU cu operatorul „+”

    expresie

    rezultat

    expresie

    rezultat

    „Ivan” + „ova”

    "Ivanova"

    „clasa”+ 10

    "clasa 10"

    Programare

    Exemplul 1: rezultatul programului

    Exemplul 2: rezultatul programului

    Exemplul 3: Programul calculează și afișează suma a două variabileA Și b

    Math.Abs(număr)

    modul

    Math.Cos( număr)

    cosinus

    Math.Ceiling(număr)

    se rotunjește la un număr întreg

    Math.GetDegrees( număr)

    conversia numerelor din radiani în grade

    Math.GetRandomNumber( numărul maxim)

    Număr aleatoriuîn intervalul de la 1 lanumărul maxim

    NaturalLog (număr)

    Logaritmul natural

    Math.Pi

    Pi

    Putere Matematică( bazăNumăr, exponent)

    ÎN oconversia numerelui de bază în exponent

    Matematică. Max (număr1, număr2)

    Maxim două numere

    Matematică. rest (dividend, divizor)

    Restul diviziei

    Matematică .Păcat(număr)

    Sinusul

    Matematică. bronzat(număr)

    Cosinus

    Matematică .SquareRoot(număr)

    Rădăcină

    Matematică. Rundă(număr)

    Rotunjire normală

    Matematică .ArcSin(număr)

    arcsinus

    Matematică. Podea(număr)

    Se rotunjește la cel mai apropiat număr întreg

    x=TextWindow.ReadNumber()

    y=Math.Abs(x)

    TextWindow.WriteLine("y egală „+y)

    Math.Pi

      Fixarea materialului

      1. Independent munca practica pentru PC

    Sarcini pentru muncă independentă

    Exercitiul 1:

    Determinați rezultatele finale ale declarațiilor de atribuire

    X=3

    Y=2

    X=X+2

    Y=X*2

    X=Y

    A= 15

    B=A

    A=B/5+2

    B=A*3

    A=0

    Sarcina 2 : Creați un program pentru calcularea produsului a 3 variabile:A , b Și c .

    Sarcina 3 : Creați un program pentru a calcula expresia:z=5* X+ y/2 (presupunând x=10,y=100)

    Sarcina 4: Creați un program pentru a afișa valorile lui X șiY, conform sarcinii 1.

    Sarcina 5: Creați un program pentru a găsi discriminantul

    Sarcina 6 : evaluează expresii

      (5+5) 3 (1000 )

      2+|3-25| (24 )

      4 2 – (10)

      Cos 2 (Pi/4)+ Păcat 2 (Pi/2) (1 )

      ( 1)

      Y=2x 2 ( la x=5, y=50)

      X 1,2 = (la a=2, b=6, c=4 , X 1=-1, X 2=-2)

      Z= ln(y)-3 ( la y=3, z=-1,901...)

      C= (la A=4, b=9, c=13)

      Y=cos(x)+sin(x) (x=180 0 , y=-1)

      Întrebări

      Care este programul?

      Pentru ce sunt limbajele de programare?

      Care sunt elementele de bază ale programării orientate pe obiecte?

      Ce operațiuni pot fi efectuate în „fereastra de text”?

      Ce înseamnă operatorul de atribuire:

      În ce tipuri de date sunt utilizate Mic de bază?

      Cum sunt scrise declarațiile I/O?

      Rezumând

      1. Notare

        Teme pentru acasă

      Loc de munca cu note justificative

      pregăti un mesaj pe tema: „Varietăți de limbaje de programare”

      Faceți un program calcularea ariei unui triunghi folosind formula lui Heron

    Aplicație

    OK 1: Bazele programării în limbaj Mic De bază .

    Programare - scrierea de programe.

    ALGORITM + LIMBAJ DE PROGRAMARE= PROGRAM

    Variabil

      Variabila areNume - literă latină (de exemplu,A , ÎN , x1 , C9 )

      unei variabile i se poate atribui o valoare

    Exemplu: A = 5 , unde semnul " = " - Acest operator de atribuire

      Există două tipuri de variabile: număr Și linia (secventa de caractere)

    10, -5, 3.14 „informatica”

    Îndoiți +

    Înmulțire *

    Divide /

    Operatii matematice:

    Sinus, logaritm, rădăcină

    Lipici

    Împărțiți în părți

    Căutați simboluri

    Înlocuiește caracterele

    Programare

    TextWindow- Acest obiect fereastră text , în care puteți afișa text.

    Parametru de funcționare închis în paranteze - WriteLine()

    Un obiect casetă de text are proprietăți , De exemplu

    Proprietate Culoare de fundal – setează culoarea de fundal pentru text,Culoarea primului plan - culoarea textului

    Culori folosite:

    roșu

    galben

    verde

    albastru

    negru

    alb

    roșu

    galben

    verde

    albastru

    negru

    alb

    Operatori mici de limbă de bază

    operatorul „+”.

    Operatori de bază

    Utilizarea funcțiilor matematice într-o expresie

    Alcătuirea de expresii matematice complexe Math.Pi TextWindow.WriteLine("introduceți valoarea variabilei x")

    x=TextWindow.ReadNumber()

    y=Math.Abs(x)

    TextWindow.WriteLine("y egală „+y)

    TextWindow.WriteLine(Math.Abs(-10))

    Program pentru calcularea sumei a două variabileAȘi b

    TextWindow.WriteLine("introduceți valoarea variabilei a")

    a=TextWindow.ReadNumber()

    TextWindow.WriteLine("introduceți valoarea variabilei b")

    b=TextWindow.ReadNumber()

    s=a+b

    TextWindow.WriteLine(" suma numerelor este egală „+s)

    Programul este introdus în fereastrăMicDe bazăși începe cu un butonLansa sau cheie F 5.

    Linia presa orice cheie continua ...mijloace " apăsați orice tastă pentru a continua

    Salutare tuturor, in acest articol vreau sa va arat coduri utile pentru programe mici. Pe care le puteți folosi pentru a vă scrie propriile programe mai serioase sau ați căutat exact aceste funcții care sunt descrise aici.

    Toate codurile au fost folosite în mediul de programare Microsoft Visual Basic v6.0.

    Ieșiți cu confirmare

    Primul tip de program, sau funcție, este o ieșire cu un mesaj care confirmă ieșirea. În general, deschideți mediul Programare vizuală De bază, creați un proiect standard, apoi plasați un buton pe formular, faceți clic pe butonul și se va deschide o fereastră de editare a codului și trebuie să introduceți următorul cod acolo:

    Beep Dim mesaj Ca șir Dim butoane și pictograme Ca Integer Dim titlu Ca șir Dim răspuns Ca șir mesaj = "Vrei să ieși?" titlu = "Ieșire" buttonasicons = vbYesNo + vbQuestion response = MsgBox(message, buttonasicons, title) If response = vbYes Then End End If !}

    Parola pentru a porni programul

    Dim Password, Pword Password = "12345" Pword = InputBox ("Introduceți parola") Dacă Pword<>Parola Apoi MsgBox „Parola nu este corectă” Sfârșit Sfârșit dacă

    Unde, 12345 este parola pentru a porni programul. Dar acest cod poate fi folosit oriunde doriți.

    Ieșire mesaj

    Dacă doriți doar să afișați un mesaj pentru ceva, atunci lipiți acesta:

    Beep Dim mesaj Ca șir Dim butoane și pictograme Ca Integer Dim titlu As String mesaj = „Mesaj” titlu = „Message" buttonasicons = vbOKOnly + vbexciamation MsgBox message, buttonsandicons, title !}

    Desen pe formular

    Private Sub Form_MouseDown(Button Ca Integer, Shift As Integer, X As Single, Y As Single) Form1.CurrentX = X Form1.CurrentY = Y End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Line (Form1.CurrentX, Form1.CurrentY)-(X, Y), QBColor(0) End If End Sub

    Puteți schimba culoarea folosind parametrul QBColor(0), adică În loc de 0, pune un alt număr.

    Repornirea computerului

    Pentru a reporni computerul: plasați butonul și inserați următorul cod:

    Dim strComputer As String strComputer = "." Set objWMIService = GetObject("winmgmts:" & "(impersonationLevel=impersonate, (Shutdown))!\\" _ & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery("Select * din Win32_OperatingSystem") Fiecare ObjOperatingSystem din colOperatingSystems ObjOperatingSystem.Reboot " Pentru a reporni Următorul

    Lansarea unui program într-o singură copie

    Următorul exemplu vă va ajuta să faceți ca programul să ruleze o singură dată, de exemplu. dacă este repornit, va afișa un mesaj corespunzător. Introduceți următoarele în codul formularului:

    Private Sub Form_Load() If App.PrevInstance = True Then MsgBox "Proiectul a început deja!" End End If

    Oprirea calculatorului

    Pentru a opri computerul, puteți folosi următorul cod:

    Dim strComputer As String strComputer = "." Set objWMIService = GetObject("winmgmts:" & "(impersonationLevel=impersonate,(Shutdown))!\\" _ & strComputer & "\root\cimv2") Set colOperatingSystems = objWMIService.ExecQuery("Select * din Win32_OperatingSystem") Fiecare ObjOperatingSystem din colOperatingSystems ObjOperatingSystem.ShutDown „Pentru a închide Următorul

    Încheierea oricărui proces

    Pentru a încheia procesul, puteți utiliza următorul cod:

    Shell „Cmd /x/c taskkill /f /im ICQlite.exe”, vbvhite

    Unde, în loc de ICQlite.exe, poate exista orice proces.

    Cât durează computerul?

    Mai jos este un exemplu despre cum puteți determina timpul de funcționare al computerului. Aceasta metoda se bazează pe utilizarea bibliotecii kernel32, așa că la începutul codului formularului, conectați acest DLL.

    Private Declare Funcție GetTickCount Lib "kernel32" () As Long "Și în codul butonului: Dim a_hour, a_minute, a_second a = Format(GetTickCount() / 1000, "0") "total secunde 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_minute * 60 MsgBox "Computerul dvs. rulează" & Str(a_days) & " zile " & Str(a_hour) _ & " ore " & Str(a_minute) & " minute" & Str(a_second) & " secunde"

    Ne-am uitat la funcții simple care pot fi folosite aproape oriunde. Acum să ne uităm la exemple mai serioase și ele vă pot ajuta foarte mult să vă scrieți proiectele mari.

    Exemple de lucru cu foldere

    Ștergeți directorul

    Private Declare Funcție RemoveDirectory& Lib _ "kernel32" Alias ​​​​"RemoveDirectoryA" (ByVal lpPathName As String) "Eliminarea directorului (gol!) PathName$ = "D:\t" cod& = RemoveDirectory(PathName) Dacă codul& = 0 Apoi „Eroare eliminând directorul Else „Director șters End If

    Creați director

    Sub MakeDir(dirname As String) Dim i As Long, path As String Do i = InStr(i + 1, dirname & "\", "\") calea = Left$(dirname, i - 1) If Right$(cale , 1)<>":" Și Dir$(path, vbDirectory) = "" Apoi calea MkDir End If Loop Until I >= Len(dirname) End Sub Private Sub Command1_Click() Call MakeDir("C:\Soft\1\2\3\ ") End Sub

    Listați toate folderele cu subdirectoare

    Adăugăm 2 câmpuri de text și un buton la formular, numele primului câmp de text este StartText, numele celui de-al doilea câmp de text este OutText. Proprietate multilinie = true, numele butonului = CmdStart

    Rulare statică Ca Boolean Dim AllDirs As New Collection Dim next_dir As Integer Dim dir_name As String Dim sub_dir As String Dim i Ca Integer Dim txt As String Dacă rulează Then running = False CmdStart.Enabled = False CmdStart.Caption = "Oprire" Altfel = True MousePointer = vbHourglass CmdStart.Caption = "Stop" 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 <>"" Dacă UCase$(sub_dir)<>„PAGEFILE.SYS” și sub_dir<>"." Și sub_dir<>".." Apoi sub_dir = dir_name & "\" & sub_dir La eroare Reluați Următorul Dacă GetAttr(sub_dir) Și vbDirectory Apoi AllDirs.Add sub_dir Sfârșit Dacă sub_dir = Dir$(, vbDirectory) Buclă DoEvents Dacă nu rulează Apoi Ieșire Do Loop txt = "" Pentru i = 1 To AllDirs.Count txt = txt & AllDirs(i) & vbCrLf Next i OutText.Text = txt MousePointer = vbDefault unning = False End If

    Acum lansăm programul, scriem în câmpul text StartText: C:\windows și facem clic pe butonul.

    Dimensiunea directorului

    Const MAX_PATH = 260 Tip privat FILETIME dwLowDateTime As Long dwHighDateTime Ca Long End Tip Tip privat WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime Ca FILETIME ftLastWriteTime Ca FILETIME Ca FILETIME Ca LongReserved ca dwFilewSserved As Long 1 As Long cFileName As String * MAX_PATH cAlternate As String * 14 End Type Private Declare Funcție FindFirstFile Lib _ "kernel32" Alias ​​​​"FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Funcție FindNextFile Lib _ "kernelFile3"NextFile32" Alias ​​As String Long, lpFindFile Data As Long ca WIN32_FIND_DATA) As Long Private Declare Function FindClose Lib _ "kernel32" (ByVal hFindFile As Long) As Long Public Function SizeOf(ByVal DirPath As String) As Double Dim hFind As Long Dim fdata As WIN32_FIND_DATA As Double Dim dbl_D sName As String Dim x As Long La eroare Reluare Next x = GetAttr(DirPath) If Err Then SizeOf = 0: Exit Function If (x And vbDirectory) = vbDirectory Then dblSize = 0 Err.Clear sName = Dir$(EndSlash(DirPath) & „*.* „, vbSystem sau vbHidden sau vbDirectory) Dacă Err.Number = 0 Atunci hFind = FindFirstFile(EndSlash(DirPath) & „*.*”, fdata) Dacă hFind = 0 Apoi Ieșire Funcția Do If (fdata.dwFileAttributes Și vbDirectory) = vbDirectory Apoi sName = Left$(fdata.cFileName, InStr(fdata.cFileName, vbNullChar) - 1) Dacă sName<>"." Și sNume<>„..” Apoi dblSize = dblSize + SizeOf(EndSlash(DirPath) & sName) End If Else dblSize = dblSize + fdata.nFileSizeHigh * 65536 + fdata.nFileSizeLow End If DoEvents Loop While FindNextFile(h)<>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) = "\" Apoi EndSlash = PathIn Else EndSlash = PathIn & "\" End If End Function Private Sub Form_Load() "Înlocuiește "D:\soft" cu directorul a cărui dimensiune vrei să știi MsgBox SizeOf("D:\soft") / 1000000 End Sub

    Exemple de lucru cu fișiere

    Copie

    Să presupunem că avem un fișier numit 1.txt în folderul C:\1\ și trebuie să-l copiem în C:\2\ pentru a face acest lucru scriem următorul cod:

    Copiați fișierul „C:\1\1.txt","C:\2\1.txt”

    Notă! Dacă directorul 2 conține deja un fișier numit 1.txt, acesta va fi înlocuit cu 1.txt din directorul 1.

    Private Declare Funcție CopyFile Lib _ "kernel32.dll" Alias ​​​​"CopyFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Private Sub Command1_Click() " Copiați fișierul C:\1. la D :\1.txt. Dim retval As Long " return value "Copiați fișierul retval = CopyFile("C:\1.txt", "D:\1.txt", 1) Dacă retval = 0 Apoi "Dacă eroare MsgBox „Nu se poate copia” Altfel „Dacă totul este în regulă MsgBox „Fișier copiat.” End If End Sub

    Îndepărtarea

    De exemplu, dorim să ștergem fișierul 1.txt din rădăcina unității C:\

    Kill("C:\1.txt")

    Metoda API

    Private Declare Funcție DeleteFile Lib _ „kernel32.dll” Alias ​​„DeleteFileA” (ByVal lpFileName As String) As Long Private Sub Command1_Click() „Șterge fișierul C:\Samples\anyfile.txt Dim retval As Long „Return value retval = DeleteFile( "C:\1.txt") If retval = 1 Then MsgBox "Fișierul a fost șters cu succes." End Sub

    In miscare

    Puteți, de exemplu, să o mutați astfel:

    Copiați fișierul „C:\1.txt”, „C:\2\1.txt” Kill („C:\1.txt”)

    Dar este mai bine așa (prin API):

    Private Declare Funcție MoveFile Lib _ "kernel32.dll" Alias ​​​​"MoveFileA" _ (ByVal lpExistingFileName ca șir, ByVal lpNewFileName ca șir) As Long Private Sub Command1_Click() Dim retval As Long "Valoare returnată retval = MoveFile("C: \1 .txt", "C:\2\1.txt") Dacă retval = 1 Apoi MsgBox „Mutat cu succes” Else MsgBox „Eroare” End If End Sub

    Redenumire

    Pentru a redenumi fișierul 1.txt aflat în C:\ în 2.txt puteți folosi următorul cod:

    Copiați fișierul „C:\1.txt”, „C:\2.txt” Kill („C:\1.txt”)

    Metoda API

    Private Declare Funcție 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") Dacă retval = 1 Apoi MsgBox „Succes” Else MsgBox „Eroare” End If End Sub

    Determinați dimensiunea fișierului

    Mărimea fișierului poate fi determinată în două moduri:

    Dacă fișierul poate fi deschis cu funcția OPEN, atunci puteți utiliza funcția LOF

    Dim FileFree As Integer Dim FileSize As Long FileFree = FreeFile Deschideți „C:\WIN\GENERAL.TXT” Pentru introducere ca FileFree FileSize = LOF(FileFree) Închideți FileFree

    Sau utilizați funcția FileLen

    Dim lFileSize As Long FileSize = FileLen("C:\WIN\GENERAL.TXT")

    Ascunde ceasul în mod programat

    Adăugați 2 butoane și lipiți codul:

    Opțiune Explicit Private Declare Funcție FindWindow Lib _ "user32" Alias ​​​​"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Funcție FindWindowEx Lib _ "user32" Alias ​​"FindWindow" (ByVal hWindo) Long, ByVal hWnd2 As Long, ByVal lpsz1 As Long, ByVal lpsz2 As String) As Long Private Declare Funcție ShowWindow Lib _ "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Dim hnd As Long Private Sub Command1_Click() 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, "TrayNotify = FindWnd", vbExNullWnd) hnd, 0, "TrayClockWClass", vbNullString) Command1.Caption = "Ascunde ceasul" Command2.Caption = "Afișează ceasul" End Sub

    Adăugați pictograma tavă

    Adăugați un modul și inserați codul în el:

    Declarați funcția Shell_NotifyIconA Lib _ "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Integer Public Const NIM_ADD = 0 Public Const NIM_MODIFY = 1 Public Const NIM_DELETE = 2 Public Const NIF_MESSAGE = 2 Public NIF_1 = Const Public = 2 Const. Tip NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 End Type Public Function SetTrayIcon(Mode As Long, hWnd As Long, Icon As Long, tip Ca String) As Long Dim nidTemp As NOTIFYICONDATA nidTemp.cbSize = Len(nidTemp) nidTemp.hWnd = hWnd nidTemp.uID = 0& nidTemp.uFlags = NIF_ICON Sau NIF_TIP nidTemp.uCallbackMessage = 0& nidTemp.uCallbackMessage = 0& nidTemp.hTemp.uID = $Temp.hIcon) =ChTemp. = Shell_NotifyIconA(Mode, nidTemp) Funcție de sfârșit

    Pentru a utiliza, introduceți în codul formularului:

    Private Sub Form_Load() SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "Test" End Sub "Pentru a șterge o subcomandă privată1_Click() SetTrayIcon NIM_DELETE, Me.hWnd, 0&, "" End Sub

    Blocarea butonului de pornire

    Funcția de declarare privată FindWindow Lib „user32” Alias ​​​​„FindWindowA” _ (ByVal lpClassName ca șir, ByVal lpWindowName ca șir) As Long Funcția de declarare privată FindWindowEx Lib „utilizator32” Alias ​​„FindWindowExA” h ByW_1 (ByVal As Long) hWnd2 As Long, ByVal lpsz1 As Long, ByVal lpsz2 As Long) As Long Private Declare Funcție EnableWindow Lib "user32" _ (ByVal hwnd As Long, ByVal fEnable As Long) As Long Public Sub EnableStartButton (Opțional Activat ca Boolean = True) Dim lHwnd As Long " find hWnd lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString) Apel EnableWindow(lHwnd&, CLng(Enabled)) End Sub Private Sub Command1_Click Button "START() Enable" este dezactivat End Sub Private Sub Command2_Click() EnableStartButton True „Butonul START nu este dezactivat End Sub

    Citirea parametrilor din fișierul INI

    Programul se conectează la FTP, iar fișierul ini conține parametrii - server, autentificare, port, parolă.

    Mai întâi, creați un fișier INI:

    Servname=server usern=Autentificare pwd=parolă port=port

    Trebuie să fie plasat în folderul programului. Apoi, introduceți în modul:

    Private Declare Funcția WritePrivateProfileString Lib _ "kernel32" Alias ​​​​"WritePrivateProfileStringA" (ByVal lpApplicationName ca șir, ByVal lpKeyName ca șir, _ ByVal lpString ca șir, ByVal lpFileName ca șir) ca și Long Lib. ​"GetPriv" ateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, _ ByVal lpDefault As String, ByVal lpReturnedString As String, _ ByVal nSize As Long, ByVal lpFileName As String) As Long, PublicRzmdel As String ) 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)) Dacă GetPrivateProfileString(Section, Key, DefaultValue, Data, 1000, fFileName) > 0 Then GetValue = Left$(Data, InStr(Data$, Chr $(0)) - 1) Else GetValue = DefaultValue End If Exit Function End Function

    Apoi lipiți în codul formularului:

    Funcția de declarare privată InternetOpen Lib _ „wininet.dll” Alias ​​„InternetOpenA” (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, _ ByVal sProxyBypass As String, ByVal nFlags As Long) As Long Private Declare Function InternetConn Lib _ "wininet.dll" Alias ​​​​"InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, _ ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal nService As Long, _ ByVal As Long dwFla , ByVal dwContext As Long) As Long Private Declare Funcție FtpPutFile Lib _ "wininet.dll" Alias ​​​​"FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ ByVal lpszRemoteFile As String, ByVal dw As Long As Long, F Long) As Boolean Private Declare Function FtpGetFile Lib _ „wininet.dll” Alias ​​„FtpGetFileA” (ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _ ByVal lpszNewFile As String, ByVal fFailIfExists, ByVal As Long, ByVal As Long dwFlags As Long, ByVal dw Context As Long ) As Boolean Private Declare Funcție InternetCloseHandle Lib _ "wininet.dll" (ByVal hInet As Long) As Integer Dim rc& Dim rs&

    Și în codul butonului:

    rc& = InternetOpen("", 0, vbNullString, vbNullString, 0) rs& = InternetConnect(rc&, ReadIni("General", "servname"), "0", _ ReadIni("General", "utilizator"), ReadIni( „General”, „pwd”), 1, 0, 0) Dacă FtpGetFile(rs&, „Fișierul dumneavoastră.txt”, „calea unde”, False, 0, 1, 0) = Fals, atunci Terminați apelul InternetCloseHandle(rs&) Call InternetCloseHandle(rc&)

    Lista proceselor care rulează

    Adăugați o listă și un buton, introduceți următorul cod:

    Opțiune Explicit Private Declare Funcție CreateToolhelpSnapshot Lib _ "Kernel32" Alias ​​​​"CreateToolhelp32Snapshot" _ (ByVal lFlags As Long, ByVal lProcessID As Long) As Long Private Declare Funcție ProcessFirst Lib _ "Kernel32" Alias ​​h32"Snapshot" Cât timp, uProcess ca PROCESSENTRY32) Cât timp Private Declare Funcție ProcessNext Lib _ „Kernel32” Alias ​​​​ „Process32Next” _ (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Private Declarare Sub CloseHandle Lib „Kernel As Long32” (Kernel As Long32) ) Private Const TH32CS_SNAPPROCESS As Long = 2& Private Const MAX_PATH Ca Integer = 260 Private Type PROCESSENTRY32 dwSize As Long cntUsage As Long th32ProcessID As Long th32DefaultHeapID As Long th32ModuleID As Long cntBaseC32DsParent As Long As Long th32ProcessID As Long Semnalează ca lungă szExeFile ca șir * MAX_PATH Tip final Dim hsnapshot la fel de mult timp dim, precum procesEntry32 Dim r As long private sub command1_click () list1.clear hsnapshot = createToolhelpsnapshot (th32cs_snapprocess, 0 &) dacă hsnapshot = 0, apoi exit sub end Dacă uprocess.dwsize = len (uprocess) r (hSnapShot, uProcess) Do While r List1.AddItem uProcess.szExeFile r = ProcessNext(hSnapShot, uProcess) Apel în buclă CloseHandle(hSnapShot) End Sub

    Punerea unui program la pornire

    Pentru ca programul să se încarce cu Windows, ca și alte programe, puteți utiliza registry:

    Adăugați 2 butoane și următorul cod:

    Private Sub Command1_Click() "Registry entry Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Name of your program", _ "Cale către programul dvs." End Sub Private Sub Command2_Click() "Șterge din registry Set Reg = CreateObject("WScript.Shell") Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Name of your program" End Sub

    Și pentru ca programul să se încarce împreună cu Windows, chiar și în modul sigur, apoi acest cod:

    În primul rând, o metodă mai serioasă (fă-o pentru orice eventualitate copie de rezervă registru).

    Private Sub Command1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Cale către programul dvs." End Sub Private Sub Command2_Click()" Aceasta este pentru recuperare Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Explorer.exe," End Sub

    Ei bine, un mod simplu.

    Private Sub Command1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C:\\WINDOWS\\system32\\userinit.exe ,Cale către programul dvs." End Sub Private Sub Command2_Click()"Pentru a restaura Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C: \\WINDOWS\\system32\\userinit.exe," End Sub

    Ascunderea barei de activități

    Adăugați 2 butoane și lipiți codul:

    Private Declare Funcție SetWindowPos Lib "user32" (ByVal hwnd As Long, _ ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _ ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Funcția FindWindow Lib "user32" Alias ​​​​"FindWindowA" _ (ByVal lpClassName ca șir, ByVal lpWindowName ca șir) As Long Const SWP_HIDEWINDOW = &H80 Const SWP_SHOWWINDOW = &H40 "Ascunde Comanda Privată" (H40 "Ascunde Comandă Privată" W1_wndli) ", " ") Apelați SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) End Sub "Shows Private Sub Command2_Click() hwnd1 = FindWindow("Shell_traywnd", "") Apelați SetWindowPos(hwnd01, 0, , 01, 0 0, 0, SWP_SHOWINDOW) End Sub

    Dezarhivați arhiva RAR

    Pentru a dezarhiva arhiva RAR poti folosi urmatorul cod:

    WinRarApp = "C:\Program Files\WinRAR\WinRAR.exe x -o+" iPath = "C:\" iArhivName = "Nume fișier.rar" adr = WinRarApp & " """ & iPath & iArhivName & """ " "" & iPath & """ " RetVal = Shell(adr, vbHide)

    Cât de mult RAM este în computer

    Adăugați un buton și inserați următorul cod:

    Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As TMemoryStatus) Tip privat TMemoryStatus dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailAvail As Long ca LongFile As Long dwVital As Long As Long ms Ca TMemoryStatus Private Sub Command1_Click( ) ms.dwLength = Len(ms) Apelați GlobalMemoryStatus(ms) MsgBox „Total:” & ms.dwTotalPhys & vbCr & „Free:” _ & ms.dwAvailPhys & vbCr & „Utilizat în %:” & ms.dwMemoryLoad

    Ascunde pictogramele de pe desktop

    Acest lucru se face după cum urmează. Adăugați 2 butoane și inserați următorul cod:

    Private Declare Funcție Showwindow & Lib "User32" (Byval Hwnd &, Byval NCMDSHOW &) Private Decline Function Lib _ "User" "ALIAS" Findwindowa (BYVAL LPCL LPCL "BYVAL LPCL Assname ca șir, Byval Lpwindowname ca șir) As Long Const Sw_ = 0 conste SW_normal = 1 Private Sub Command1_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Apel ShowWindow(hHandle, SW_HIDE) End Sub Private Sub Command2_Click() Dim Handle As Long handle(" FindWindow) , vbNullString) Apelați ShowWindow(hHandle , SW_NORMAL) End Sub

    Folosind butonul Command1, pictogramele sunt ascunse, Command2 - apar.

    Asta e tot pentru mine, sper ca exemplele de mai sus să-ți fie de folos, pa!

    Acțiune