Gatavie projekti VB6. Ilustrēta apmācība par Visual Basic.NET izeju ar apstiprinājumu

08.12.2023

Funkcijas Split izmantošana programmā VBA Excel, tās sintakse un parametri. Vērtības, ko atgriež funkcija Sadalīt. Lietošanas piemēri.

Funkcija Split ir izstrādāta programmā VBA Excel, lai sadalītu virkni apakšvirknēs, izmantojot īpašas norobežotājas. Atdalītājs var būt kaut kas līdzīgs atsevišķs raksturs, un vairāku rakstzīmju virkne. Funkcija Split ir apgriezta funkcija, kas izveido vienu virkni no apakšvirkņu masīva.

Funkciju sintakse

Sadalīt (izteiksme,,,)

Split funkcijas nepieciešamais parametrs ir Expression - ja citi parametri nav skaidri norādīti, tiek izmantotas to noklusējuma vērtības.

Funkciju parametri

*Ja tiek izmantots binārais salīdzinājums (0 vai CompareMethod.Binary), funkcija ir reģistrjutīga. Ja tiek izmantots teksta salīdzinājums (1 vai CompareMethod.Text), funkcija nav reģistrjutīga.

Atgriešanās vērtības

Funkcija Split atgriež viendimensionālu masīvu, kas indeksēts no nulles un satur norādīto parametru Ierobežot apakšvirkņu skaits. Visbiežāk ar parametra vērtību tiek izmantota funkcija Split Ierobežot pēc noklusējuma ir vienāds ar -1, kad tiek atgrieztas visas avota virknē atrastās apakšvirknes.

1. piemērs

Sub Test1() Dim a() As String a = Split("vremya ne zhdet") MsgBox a(0) & vbNewLine & a(1) & vbNewLine & a(2) beigu apakšrezultāts programmā MsgBox: laiks ne zhdet

Pirmais piemērs izmanto Norobežotājs Un Ierobežot pēc noklusējuma.

2. piemērs

Sub Test2() Dim a() As String a = Split("vremya-ne-zhdet","-", 2) MsgBox a(0) & vbNewLine & a(1) beigu apakšrezultāts MsgBox: laiks ne-zhdet

Otrajā piemērā Norobežotājs= "-", a Ierobežot = 2.

Funkcija Sadalīt rezultātus piešķir, izmantojot iepriekš deklarētu tekstu , ko var izmantot piešķiršanas rindā ar tukšām iekavām vai bez tām. Iepriekš minētajos piemēros masīvs ir norādīts bez iekavām.

Jūs varat kopēt kodus no dotajiem piemēriem sava darba VBA modulī Excel darbgrāmatas, skatiet, kā viņi strādā. Eksperimentējiet ar savu datu aizstāšanu, lai praktiski izjustu funkciju Split.

Šī nodaļa iepazīstina ar VB.NET pamata "arsenālu". Lielākā daļa materiālu nāk līdz īss pārskats jēdzieni, kas ir kopīgi visām programmēšanas valodām (piemēram, mainīgie un cilpas instrukcijas), un pamata datu tipu apraksts, galvenokārt dažādi skaitļi un līnijas. Lasītāji, kas pārzina VB6, var vēlēties izlaist šo nodaļu.

Tikai daži šīs nodaļas piemēri satur reālu kodu, ko var izmantot nopietnās VB.NET programmās. Fakts ir tāds, ka neviena nopietna VB.NET programma nevar iztikt bez uz veidnēm balstītiem objektiem, ko sauc par klasēm. Šo tēmu mēs apskatīsim 4. nodaļā. Sāksim ar valodas pamata konstrukcijām, jo ​​pretējā gadījumā mums nāktos aprobežoties ar primitīvu. nodarbības, kurām nav praktiskas vērtības. Šajā nodaļā nav aplūkotas lietotāja definētas klases, un tajā ir parādīti tikai pamata piemēri, kā izmantot .NET Framework iebūvētās klases, kas ir ārkārtīgi jaudīgas.

Kas no tā izriet? Savādi, ka šajā nodaļā rakstītās programmas pēc stila ir ļoti tuvas tradicionālajai programmēšanai agrīnajā BASIC laikmetā un pat Fortran un COBOL ērā, kas bija pirms tās (ja neskaita dažas dīvainas, bet nepieciešamas sintaktiskas konstrukcijas). Jo īpaši atšķirībā no programmām vēlākajās nodaļās tām vienmēr ir skaidri noteikts sākums un beigas, un vadība tiek nodota no sākuma uz beigām (lai gan vadību var nodot ar īpašām komandām).

Kā teikts ievadā, mēs centīsimies prezentēt programmas, kas rakstītas parastā .NET stilā, izvairoties no mākslīgas saderības ar VB6, kad vien iespējams.

Katrai VB.NET lietojumprogrammai ir jābūt ieejas punktam. Ieejas punktā ir kods, kas tiek automātiski izpildīts palaišanas laikā, pēc kura vadība tiek nodota pārējam programmas kodam. Salīdzinoši vienkāršā veidā grafikas lietojumprogrammas Ieejas punktu var saistīt ar sākotnējo formu, tāpat kā VB6. Taču, kā mēs redzējām 1. nodaļā, Windows Forms kods ir diezgan sarežģīts, un ieejas punkta atrašana var būt sarežģīta. Šajā nodaļā ir apskatītas tikai konsoles programmas, kas darbojas konsoles logā (piemēram, DOS sesijas logā). Jā, VB.NET ļauj viegli izveidot tradicionālās konsoles lietojumprogrammas, ko bieži izmanto servera puses skriptu programmēšanai.

Konsoles lietojumprogrammas ievades punkts ir procedūra Sub Main modulis (analogs procedūrai Sub Main VB6). Ja atlasāt konsoles lietojumprogrammas ikonu ( Konsoles lietojumprogramma), VB.NET automātiski ģenerē "skeleta" aplikāciju ar ieejas punktu - procedūru Sub Main:

Modulis Module1 Sub Main() Beigas Apakš beigu modulis

Atšķirībā no VB6, pirmajā rindā ir norādīts moduļa nosaukums (komanda ir treknrakstā). IN šajā piemērā tiek izmantots noklusējuma nosaukums Modul el. Saskaņā ar noteikumiem moduļa nosaukumam jāsakrīt ar faila nosaukumu. Pieņemsim, ka esat mainījis moduļa nosaukumu pirmajā rindā: Module Test1. Mēģinot palaist konsoles lietojumprogrammu, tiek parādīts kļūdas ziņojums:

Startēšanas kods "Sub Main" tika norādīts "Test.Modulel". bet "Test.Modulel" netika atrasts

Moduļa pārdēvēšana pēc tā izveides tiek veikta šādi:

  1. Programmas logā mainiet moduļa nosaukumu.
  2. Risinājuma logā mainiet moduļa faila nosaukumu.
  3. Ar peles labo pogu noklikšķiniet uz līnijas Konsoles lietojumprogramma risinājuma logu un konteksta izvēlnē atlasiet komandu Īpašības.
  4. Pārliecinieties, vai tas ir norādīts Startēšanas objekts Parādītajā dialoglodziņā (3.1. att.) tiek atlasīts moduļa nosaukums.

Pēc analoģijas ar VB6 VB.NET programma (risinājums) var sastāvēt no vairākiem moduļiem, bet procedūras klātbūtne Sub Main atļauts tikai vienā modulī. Lietojumprogramma tiek pārtraukta, kad tiek sasniegta komanda Beigt apakš procedūras Sub Main. Piemēram, leģendārā programma "Sveika pasaule" izskatās šādi:

Modulis Modul el Sub Main() Console.WriteLine("Sveika pasaule") Beigu apakšmodulis beigu modulis

Ja palaižat šo programmu IDE, ekrānā ļoti ātri mirgos (un nekavējoties pazudīs) DOS logs ar vārdiem “Hello world”. Kad komanda tiek apstrādāta, logs tiek aizvērts Beigt apakš.

Funkcija atgriež viendimensionālu masīvu, kas satur noteiktu skaitu apakšvirkņu. Šī funkcija ir funkcijas Join apgrieztā vērtība.

Sintakse

Split( Izteiksme[, Atdalītājs[, Ierobežojums[, Salīdzināt]])

Iespējas

Izteiksme- String tipa izteiksme, kas satur apakšvirknes ar atdalītājiem.
Norobežotājs- Variant (String) tipa izteiksme, kas definē rakstzīmi, kas tiek izmantota kā norobežotājs. Ja arguments tiek izlaists, tiek izmantota atstarpes rakstzīme (" ").
Ierobežot- gara izteiksme, kas norāda atgriežamo elementu skaitu. noklusējuma vērtība ir -1 (atgriezt visus elementus).
Salīdziniet- skaitlisks parametrs, kas norāda salīdzināšanas metodi.

Parametrs Salīdziniet var ņemt šādas vērtības:

Atgriešanās vērtības

Atgriež viendimensionālu masīvu tipa variants (virkne).
Ja parametra Izteiksme garums ir nulle, funkcija atgriež tukšu masīvu. Ja parametram Atdalītājs ir nulle garums, funkcija atgriezīs masīvu ar vienu izteiksmes elementu.

Lietošanas piemērs

Private Sub Form_Load() Dim arrMyArray() As String Dim strMyString As String strMyString = "Sveiki! Kā jums klājas?"

arrMyArray = Split(strMyString) "atgriež "Sveiki!" Debug.Print arrMyArray(0) End Sub Skatīt arī:
Masīvs
Šodien es gribētu runāt par kriptogrāfiju. Es izveidoju speciālās kriptogrāfijas izmantošanas piemēru - steganogrāfiju. Šī metode slēpj pašu datu šifrēšanas faktu. Ir daudz veidu steganogrāfijas. Es vēlētos runāt par LBS metodi, kas slēpj datus audio datu zemās kārtas bitos. Izskatās, ka lietotāji apmainās ar audio failiem, bet patiesībā viņi apmainās ar sensitīviem datiem. Ikvienam, kurš nezina par šo metodi, pat nebūs aizdomas par slepenu datu apmaiņu. Dažos gadījumos tas var būt ļoti noderīgi.
Kā tas darbojas?
WAVE-PCM fails (nesaspiests) satur audio datus. Patiesībā skaņa ir analogs notikums, t.i. nepārtraukts. Lai to pārvērstu digitālā formā, jums tas ir jākvantificē ar dažiem zaudējumiem. Šo procesu raksturo divi parametri: bitu dziļums un iztveršanas frekvence. Bitu dziļums ietekmē to, cik daudz signāla līmeņu var ietvert katrā paraugā. Iztveršanas frekvence ietekmē maksimālo frekvenci, ko var ietvert audio datos:

Mūsu gadījumā mūs interesē tikai audio datu bitu dziļums. Tas var būt 32, 24, 16, ... biti vienā paraugā. Steganogrāfijas galvenā ideja (mūsu gadījumā) ir pārrakstīt audio datu zemas kārtas bitus. Jo vairāk bitu izmantosim, jo ​​spēcīgāki būs kropļojumi.
Vizuāli:


Kā redzams attēlā, metode visus šifrētos datus saglabā noteiktos audio datu bitos (šajā gadījumā 4 biti katram paraugam). Ņemiet vērā arī to, ka datu saglabāšanai jāizmanto audio fails, kas ir lielāks nekā šifrētais fails. Piemēram, ja kodēšanai izmantojam 3 bitus, audio failam būs jābūt vismaz 16/3 reizes lielākam par kodēto. Es saku 16, jo savā piemērā izmantoju 16 bitus vienam paraugam.
Pievienotajā piemērā es saglabāju arī sākotnējo faila nosaukumu. Datu formāts ir skaidrs:


Kad notiek iesaiņošana, katrs baits tiek ņemts no šifrētā faila. Pēc tam no nākamā baita tiek izvilkti nepieciešamie biti, kā arī tiek notīrīti attiecīgie audio datu biti. Pēc tam šie biti tiek iestatīti, izmantojot bitu VAI operāciju. Nepieciešamo bitu iegūšanai tiek izmantotas maskas un maiņas. Maskas atstāj nepieciešamos bitus, un nobīdes novieto tos baita sākumā.
Izpakošana notiek tieši pretēji. Biti tiek iegūti no audio faila un tiek samontēts sākotnējais fails. Audio faila spektrs atkarībā no bitu dziļuma:

Ceru, ka šis īsais pārskats būs noderīgs.
Paldies par uzmanību.

Sveiki visiem, šajā rakstā es vēlos jums parādīt noderīgus kodus mazām programmām. Kuras varat izmantot, lai rakstītu savas nopietnākas programmas, vai arī meklējāt tieši šīs šeit aprakstītās funkcijas.

Visi kodi tika izmantoti Microsoft Visual Basic v6.0 programmēšanas vidē.

Iziet ar apstiprinājumu

Pirmā veida programma vai funkcija ir izeja ar ziņojumu, kas apstiprina izeju. Kopumā atveriet Visual Basic programmēšanas vidi, izveidojiet standarta projektu, pēc tam uzlieciet vienu pogu uz formas, noklikšķiniet uz pogas un atvērsies koda rediģēšanas logs, kurā jāievieto šāds kods:

Pīkstiens Aptumšot ziņojumu Kā virkni Aptumšot pogassandicons As Integer Dim title As String Dim response As String message = "Vai vēlaties iziet?"" buttonasicons = vbYesNo + vbQuestion response = MsgBox(message, buttonasicons, title) If response = vbYes Then End End If !}

title = "Iziet

Parole, lai palaistu programmu<>Dim parole, Pword PassWord = "12345" Pword = InputBox ("Ievadiet paroli") Ja Pword

PassWord Tad MsgBox "Parole nav pareiza" Beigas Beigas Ja

Kur, 12345 ir parole, lai palaistu programmu. Bet šo kodu var izmantot, kur vien vēlaties.

Ziņojuma izvade

Ja vēlaties tikai parādīt ziņojumu par kaut ko, ielīmējiet šo:" buttonasicons = vbOKOnly + vbexciamation MsgBox message, buttonsandicons, title !}

Pīkstiens Aptumšot ziņojumu Kā virkni Aptumšot pogassandicons As Integer Dim title As String message = "Ziņojums" title = "Message

Zīmējums uz veidlapas

Privātā apakšveidlapa_MouseDown(poga kā vesels skaitlis, Shift kā vesels skaitlis, pārslēgšana kā vesels skaitlis, X kā viens, Y kā viens) Form1.CurrentX = X Form1.CurrentY = Y beigu apakšgrupa privātā apakšforma_MouseMove(poga kā vesels skaitlis, Shift kā vesels skaitlis, X Y sing Viena) Ja poga = 1, tad rinda (Form1.CurrentX, Form1.CurrentY)-(X, Y), QBCColor(0) End If End Sub

Krāsu var mainīt, izmantojot QBColor(0) parametru, t.i. 0 vietā ievietojiet citu skaitli.

Datora restartēšana

Lai restartētu datoru: ievietojiet pogu un ielīmējiet šādu kodu:

Dim strComputer As String strComputer = "."

Set objWMIService = GetObject("winmgmts:" & "(impersonationLevel=uzdošanās, (izslēgšana))!\\" _ & strComputer & "\root\cimv2") Iestatīt colOperatingSystems = objWMIService.ExecQuery("SelectOperating") no Win3Stem_perating Katra ObjOperatingSystem colOperatingSystems ObjOperatingSystem.Reboot " Lai atsāknētu Nākamais

Private Sub Form_Load() If App.PrevInstance = True That MsgBox "Projekts jau ir sācies!"

Beigas Beigas Ja

Datora izslēgšana

Lai izslēgtu datoru, varat izmantot šādu kodu:

Dim strComputer As String strComputer = "."

Set objWMIService = GetObject("winmgmts:" & "(impersonationLevel=uzdošanās,(Shutdown))!\\" _ & strComputer & "\root\cimv2") Iestatīt colOperatingSystems = objWMIService.ExecQuery("SelectOperating") no Win3Stem_perating Katra ObjOperatingSystem colOperatingSystems ObjOperatingSystem.ShutDown "Lai aizvērtu Tālāk

Jebkura procesa pabeigšana

Lai pārtrauktu procesu, varat izmantot šādu kodu:

Apvalks "Cmd /x/c taskkill /f /im ICQlite.exe", vbvhite

Kur ICQlite.exe vietā var būt jebkurš process. Cik ilgi darbojas dators? Tālāk ir sniegts piemērs, kā noteikt datora darbības laiku.

Šī metode

ir balstīta uz kernel32 bibliotēkas izmantošanu, tāpēc veidlapas koda pašā sākumā pievienojiet šo DLL. Privāti deklarēt funkciju GetTickCount Lib "kernel32" () Tik ilgi "Un pogas kodā: Dim a_hour, a_minute, a_second a = Format(GetTickCount() / 1000, "0") "kopā sekundes 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 "Jūsu dators darbojas " & Str(a_days) & " dienas " & Str(a_hour) _ & " hours " & Str(a_minute) & " minutes" & Str(a_second) & " seconds" Mēs esam pārskatījuši

vienkāršas funkcijas

, ko var izmantot gandrīz jebkur. Tagad apskatīsim nopietnākus piemērus, un tie var ļoti palīdzēt rakstīt lielos projektus.

Piemēri darbam ar mapēm

Dzēst direktoriju

Privāti deklarēt funkciju RemoveDirectory& Lib _ "kernel32" Pseidonīms "RemoveDirectoryA" (ByVal lpPathName kā virkne) "Noņem direktoriju (tukšs!) PathName$ = "D:\t" kods& = RemoveDirectory(PathName) Tad "Er&=vai 0 noņemot direktoriju Else "Katalogs dzēsts Beigas Ja<>Izveidot direktoriju

Sub MakeDir(dirname As String) Dim i As Long, ceļš As String Do i = InStr(i + 1, dirname & "\", "\") ceļš = Left$(dirname, i - 1) Ja Right$(ceļš , 1)

":" Un Dir$(ceļš, vbDirectory) = "" Tad MkDir ceļš Beigas If Cikls Līdz i >= Len(dirname) Beigas Sub Private Sub Command1_Click() Call MakeDir ("C:\Soft\1\2\3\" ") Beigu apakš

Statiski darbojas Kā Būla Dim AllDirs Kā Jauna kolekcija Dim next_dir Kā Vesels skaitlis Dim dir_name Kā String Dim sub_dir Kā String Dim i Kā Integer Dim txt Kā String Ja darbojas Tad darbojas = False CmdStart.Enabled = False CmdStart.Caption = "Stopping" Else True MousePointer = vbHourglass CmdStart.Caption = "Apturēt" 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 <>"" Ja UCase$(sub_dir)<>"PAGEFILE.SYS" Un sub_dir<>"." Un sub_dir<>".." Tad sub_dir = dir_name & "\" & sub_dir Kļūdas gadījumā Atsākt Next If GetAttr(sub_dir) Un vbDirectory Tad AllDirs.Add sub_dir End If sub_dir = Dir$(, vbDirectory) Loop DoEvents, ja nedarbojas, tad iziet no Do Loop = "" Ja i = 1 Uz AllDirs.Count txt = txt & AllDirs(i) & vbCrLf Next i OutText.Text = txt Peles rādītājs = vbNoklusējuma atslēgšana = nepareiza beigas, ja

Tagad mēs palaižam programmu, ievadiet teksta laukā StartText: C:\windows un noklikšķiniet uz pogas.

Direktorija lielums

Const MAX_PATH = 260 Privāts veids FILETIME dwLowDateTime As Long dwHighDateTime Kā Long End tips Privāts tips WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime Kā FILETIME ftLastAccessTime As FILETIME ftLastAccessTime As FILETimesLast AWLETTIMEhnFileTimehn FileSizeLow Tik ilgi dwReserved0 Long dwReserved1 Tik ilgi cFileName kā virkne * MAX_PATH cAlternate As String * 14 Beigu veids Privātā deklarēšanas funkcija FindFirstFile Lib _ "kernel32" Alias ​​"FindFirstFileA" (ByVal lpFileName kā virkne, lpFindFileData kā WIN32_FIND_DATA) kā gara privātā deklarēšanas funkcija FindNextFile"Valex FindFile As Long , iledata kā win32_find_data) kā ilgi privāta deklarācija Funkcija FindClose lib _ "Kernel32" (byval hfindfile tik ilgi) tikpat ilgi publiskas funkcijas lielums (byval dirpat kā virkne) kā dubultā dim hfind tik ilgi dim dim fdata kā win32_find_data dimd dblSize kā dubultā blāvums kā divkāršs snaustais kā win32_find_data dbblSize kā dubultā blāvais snaustais kā divkāršs sname kā divkāršs sname kā divkāršs snauste kā divkāršs snauste kā divkāršs snauste kā divkāršs snauste kā divkāršs snauste kā divkāršs sname kā divkāršs sname kā divkāršs sname kā dubultā snauste kā divkāršs sname kā divkāršs sname kā divkāršs sname kā dubultā snauste kā dubultā snaust. Virkne Dim x As Long kļūdas gadījumā Atsākt nākamo x = GetAttr(DirPath) Ja Err Then SizeOf = 0: Iziet no funkcijas If (x Un vbDirectory) = vbDirectory Tad dblSize = 0 Err.Clear sName = Dir$(EndSlash(DirPath) & " *.* ", vbSystem Vai vbHidden Or vbDirectory) Ja Err.Number = 0 Tad hFind = FindFirstFile(EndSlash(DirPath) & "*.*", fdata) If hFind = 0 Tad iziet no funkcijas Do If (fdata.dwFileAttributes Un vbDirectory ) = vbDirectory Tad sName = Left$(fdata.cFileName, InStr(fdata.cFileName, vbNullChar) - 1) Ja sName<>"." Un Vārds<>".." Tad dblSize = dblSize + SizeOf(EndSlash(DirPath) & sName) End If Else dblSize = dblSize + fdata.nFileSizeHigh * 65536 + fdata.nFileSizeLow End If DoEvents Loop While FindNextFind, fda(tah)Find<>0 hFind = FindClose(hFind) Beigas, ja citādi ir kļūdas gadījumā Atsākt nākamo dblSize = FileLen(DirPath) End If SizeOf = dblSize Beigu funkcija Privātā funkcija EndSlash(ByVal PathIn As String) Kā virkne, ja Right$(PathIn, 1) = "\" Tad EndSlash = PathIn Else EndSlash = PathIn & "\" End If End Function Private Sub Form_Load() "Aizstāt "D:\soft" ar direktoriju, kura lielumu vēlaties uzzināt MsgBox SizeOf("D:\soft") / 1000000 Beigt apakš

Piemēri darbam ar failiem

Kopēt

Pieņemsim, ka mapē C:\1\ ir fails ar nosaukumu 1.txt, un tas ir jākopē uz C:\2\, lai to izdarītu, mēs ierakstām šādu kodu:

Faila kopija "C:\1\1.txt","C:\2\1.txt"

Piezīme! Ja 2. direktorijā jau ir fails ar nosaukumu 1.txt, tas tiks aizstāts ar 1.txt no 1. direktorija.

Privāti deklarēt funkciju CopyFile Lib _ "kernel32.dll" aizstājvārds "CopyFileA" _ (ByVal lpExistingFileName kā virkne, ByVal lpNewFileName kā virkne, ByVal bFailIfExists As Long) kā gara privātā apakškomanda1_Cpytxt()\1_Cpytxt. uz D :\1.txt Dim retval As Long " atgriež vērtību "Kopēt failu retval = CopyFile("C:\1.txt", "D:\1.txt", 1) Ja retval = 0 Tad "Ja. error MsgBox " Es nevaru kopēt" Else "Ja viss ir kārtībā MsgBox "Fails nokopēts." End If End Sub

Noņemšana

Piemēram, mēs vēlamies izdzēst failu 1.txt no diska C:\ saknes

Kill ("C:\1.txt")

API metode

Privāti deklarēt funkciju DeleteFile Lib _ "kernel32.dll" Pseidonīms "DeleteFileA" (ByVal lpFileName kā virkne) kā garu Private Sub Command1_Click() "Dzēst failu C:\Samples\anyfile.txt Dim retval As Long "Atgriešanās vērtība retval = DeleteFile( "C:\1.txt") Ja retval = 1 Tad MsgBox "Fails tika veiksmīgi izdzēsts."

Beigt apakš

Pārvietojas

Piemēram, varat to pārvietot šādi:

Faila kopija "C:\1.txt","C:\2\1.txt" Kill ("C:\1.txt")

Bet labāk ir šādi (izmantojot API):

Privāti deklarēt funkciju MoveFile Lib _ "kernel32.dll" aizstājvārds "MoveFileA" _ (ByVal lpExistingFileName kā virkne, ByVal lpNewFileName kā virkne) kā gara privātā apakškomanda1_Click() Dim retval As Long "Return value ret(": \1 .txt", "C:\2\1.txt") Ja retval = 1, tad MsgBox "sekmīgi pārvietots" Citādi MsgBox "Kļūda" Beigas, ja beigu apakš

Pārdēvēšana

Lai pārdēvētu failu 1.txt, kas atrodas C:\ uz 2.txt, varat izmantot šādu kodu:

API metode

Privāti deklarēt funkciju MoveFile Lib _ "kernel32.dll" aizstājvārds "MoveFileA" _ (ByVal lpExistingFileName kā virkne, ByVal lpNewFileName kā virkne) kā gara privātā apakškomanda1_Click() Dim retval As Long \1 .txt", "C:\2.txt") Ja retval = 1, tad MsgBox "Success" Else MsgBox "Error" End If End Sub

Nosakiet faila lielumu

Faila lielumu var noteikt divos veidos:

Ja failu var atvērt ar OPEN funkciju, tad varat izmantot LOF funkciju

Dim FileFree As Integer Dim FileSize As Long FileFree = FreeFile Atvērt "C:\WIN\GENERAL.TXT" ievadei kā FileFree FileSize = LOF(FileFree) Aizvērt FileFree

Vai arī izmantojiet funkciju FileLen

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

Paslēpt pulksteni programmatiski

Pievienojiet 2 pogas un ielīmējiet kodu:

Opcija Explicit Private Declare Function FindWindow Lib _ "user32" aizstājvārds "FindWindowA" (ByVal lpClassName kā virkne, ByVal lpWindowName kā virkne) kā gara privāta deklarēšanas funkcija FindWindowEx Lib _ "user32"AffindWinndB Long, ByVal hWnd2 As Long, ByVal lpsz1 kā virkne, ByVal lpsz2 kā virkne) kā garu privātu deklarēt funkciju ShowWindow Lib _ "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) Tik gari Dim hnd kā Long Private Comman(d1_C) ShowWindow hnd, 0 beigu apakšgrupas privātā apakškomanda2_Click() ShowWindow hnd, 1 beigu apakšprivātā apakšveidlapa_Load() hnd = FindWindow("Shell_TrayWnd", vbNullString) hnd = FindWindowEx(hnd, 0, "TrayNotifyWnd", vbdowNuNotifyWnd, vbdow hnd, 0, "TrayClockWClass", vbNullString) Command1.Caption = "Paslēpt pulksteni" Command2.Caption = "Rādīt pulksteni" Beigt apakšā

Pievienot paplātes ikonu

Pievienojiet moduli un ielīmējiet tajā kodu:

Deklarēt funkciju Shell_NotifyIconA Lib _ "SHELL32" (ByVal dwMessage As Long, lpData kā NOTIFYICONDATA) kā veselu skaitli Public Const NIM_ADD = 0 Public Const NIM_MODIFY = 1 Publisks Const NIM_DELETE = 2 Publisks Const NIM_DELETE = 2 Publisks Const NIFIP1 = 4 Ierakstiet 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 String As Long, Tips Dim) nidTemp As NOTIFYICONDATA nidTemp.cbSize = Len(nidTemp) nidTemp.hWnd = hWnd nidTemp.uID = 0& nidTemp.uFlags = NIF_ICON Vai NIF_TIP nidTemp.uCallbackMessage = 0&hIdTemp. 0) SetTrayIcon = Shell_NotifyIconA(Mode, nidTemp) beigu funkcija

Lai izmantotu, veidlapas kodā ievietojiet:

Private Sub Form_Load() SetTrayIcon NIM_ADD, Me.hWnd, Me.Icon, "Test" End Sub "Lai izdzēstu privāto apakšgrupu Command1_Click() SetTrayIcon NIM_DELETE, Me.hWnd, 0&, "" End Sub

Starta pogas bloķēšana

Privāti deklarēt funkciju FindWindow Lib "user32" Alias ​​"FindWindowA" _ (ByVal lpClassName kā virkne, ByVal lpWindowName kā virkne) kā garu privātu deklarēt funkciju FindWindowEx Lib "user32" Alias ​​h "Long_Window A" hWnd2 As Long, ByVal lpsz1 kā virkne, ByVal lpsz2 kā virkne) kā gara privātā deklarēšanas funkcija EnableWindow Lib "user32" _ (ByVal hwnd As Long, ByVal fEnable As Long) Tik gara publiska apakšpoga EnableStartButton(Pēc izvēles iespējota True As Boolem) lHwnd As Long " find hWnd lHwnd& = FindWindowEx(FindWindow("Shell_TrayWnd", ""), 0&, "Button", vbNullString) Call EnableWindow(lHwnd&, CLng(Iespējots)) Poga Beigt apakšējo privāto apakškomandu Faluton1_CStarlick ir atspējots Beigt sub Private Sub Command2_Click() EnableStartButton True "poga START nav atspējota Beigt sub

Parametru nolasīšana no INI faila

Programma savienojas ar FTP, un ini failā ir parametri - serveris, pieteikšanās, ports, parole.

Vispirms izveidojiet INI failu:

Servname=serveris usern=Pieteikšanās pwd=parole ports=ports

Tas jāievieto programmas mapē. Pēc tam ievietojiet modulī:

Privātā deklarēšanas funkcija WritePrivateProfileString Lib _ "kernel32" aizstājvārds "WritePrivateProfileStringA" (ByVal lpApplicationName kā virkne, ByVal lpKeyName kā virkne, _ ByVal lpString kā virkne, ByVal lpFileName Longction_Privatekernel "Alias ​"GetP rivateProfileStringA" (ByVal lpApplicationName kā virkne, ByVal lpKeyName kā virkne, _ ByVal lpDefault As String, ByVal lpReturnedString kā virkne, _ ByVal nSize As Long, ByVal lpFileName(String Function AIni) As Public Function AIni) Kā virkne ReadIni = GetValue (Razdel, Param, App.Path & "\test.ini", "0") Beigu funkcija Privātā funkcija GetValue (ByVal sadaļa kā virkne, _ ByVal atslēga kā virkne, ByVal fFileName kā virkne, neobligāts ByVal noklusējuma vērtība As String = vbNullString) As String Dim Data As String Data = String$(1000, Chr$(0)) If GetPrivateProfileString(Section, Key, DefaultValue, Data, 1000, fFileName) > 0 Tad GetValue = Left$(Data, InStr (Dati$, Chr $(0)) - 1) Citādi GetValue = NoklusējumaVērtība Beigas, ja iziet no funkcijas beigu funkcijas

Pēc tam ielīmējiet veidlapas kodā:

Privātā deklarēšanas funkcija InternetOpen Lib _ "wininet.dll" aizstājvārds "InternetOpenA" (ByVal sAgent kā virkne, ByVal nAccessType tik gara, ByVal sProxyName kā virkne, _ ByVal sProxyBypass kā virkne, Funkcijas AVal Longclare AFlags AVal n) Lib _ "wininet.dll" aizstājvārds "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName kā virkne, _ ByVal nServerPort kā vesels skaitlis, ByVal sUserName kā virkne, ByVal sPassword kā Longnsd, ByVal sPassword , ByVal dwContext As Long) Tik ilgi Private Declare Function FtpPutFile Lib _ "wininet.dll" Alias ​​"FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ ByVal lpszRemoteF, ByValsdw, Bytext A Long) kā Būla privātā deklarēšanas funkcija FtpGetFile Lib _ "wininet.dll" aizstājvārds "FtpGetFileA" (ByVal hFtpSession As Long, ByVal lpszRemoteFile kā virkne, _ ByVal lpszNewFile kā virkne, ByVal lpsz , _ ByVal dwFlags As Long, ByVal d wContext As Long ) Kā Būla Privāts Deklarēt Funkciju InternetCloseHandle Lib _ "wininet.dll" (ByVal hInet As Long) Kā Integer Dim rc& Dim rs&

Un pogas kodā:

rc& = InternetOpen("", 0, vbNullString, vbNullString, 0) rs& = InternetConnect(rc&, ReadIni("Vispārīgi", "serva nosaukums"), "0", _ ReadIni("Vispārīgi", "lietotājs"), ReadIni( "Vispārīgi", "pwd"), 1, 0, 0) Ja FtpGetFile(rs&, "Jūsu fails.txt", "ceļš, kur", False, 0, 1, 0) = False, tad beigt zvanu InternetCloseHandle(rs&) InternetCloseHandle(rc&)

Darbojošo procesu saraksts

Pievienojiet sarakstlodziņu un pogu 1, ievietojiet šādu kodu:

Opcija Explicit Private Declare Function CreateToolhelpSnapshot Lib _ "Kernel32" Aizstājvārds "CreateToolhelp32Snapshot" _ (ByVal lFlags As Long, ByVal lProcessID As Long) Kā Long Private Declare Function ProcessFirst Lib3"s Val hSnapShot As Long, uProcess As PROCESSENTRY32) Tik ilgi Private Declare Function ProcessNext Lib _ "Kernel32" Alias ​​"Process32Next" _ (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) Kā Sub C2lKlose"Bclare s Garš ) Privāts Const TH32CS_SNAPPROCESS As Long = 2& Private Const MAX_PATH Kā vesels skaitlis = 260 Privāts tips PROCESSENTRY32 dwSize As Long cntUsage As Long th32ProcessID As Long th32DefaultHeapID As Long AsTProcess.32 ID tik garš pcPriClassBase tik garš dwFlags tik ilgi szExeFile kā virkne * MAX_PATH Gala tips di m hsnapshot tikpat ilgi dim uprocess kā proceseSTRY32 DIM R kā gara privāta apakškomanda1_click () list1.clear hsnapshot = createetoolhelpsnapshot (th32cs_snappprocess, 0 &), ja hsnapshot = 0, tad iziet no apakšdaļas, iftrocess.dwizize = len (Uprocess r = r = r = r = r = uprocess r = uprocess r = r = uprocess r = uprocess r = r = uprocess r = usprocess r = uploSt) ProcessFirst(hSnapShot, uProcess) Do While r List1.AddItem uProcess.szExeFile r = ProcessNext(hSnapShot, uProcess) Loop Call CloseHandle(hSnapShot) End Sub

Programmas palaišana

Lai programma varētu ielādēt operētājsistēmā Windows, tāpat kā dažas citas programmas, varat izmantot reģistru:

Pievienojiet 2 pogas un šādu kodu:

Private Sub Command1_Click() "Reģistra ieraksts Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Name of your program", _ "Path to your program" End Sub Private Sub Command2_Click() "Dzēst no reģistra Set Reg = CreateObject("WScript.Shell") Reg.RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Name of your program" Beigt apakšā

Un, lai programma tiktu ielādēta kopā ar Windows, pat iekšā drošais režīms, tad šis kods:

Pirmkārt, nopietnāka metode (izdariet to katram gadījumam rezerves kopija reģistrs).

Privātā apakškomanda1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegRakstiet "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Ceļš uz jūsu programmu" Beigt apakšējo apakškomandu()"_Click Tas ir paredzēts atkopšanai Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell", _ "Explorer.exe," End Sub

Nu, vienkāršs veids.

Private Sub Command1_Click() Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C:\\WINDOWS\\system32\\userinit. ,Ceļš uz jūsu programmu" End Sub Private Sub Command2_Click()"Lai atjaunotu Set Reg = CreateObject("WScript.Shell") Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit", _ "C : \\WINDOWS\\system32\\userinit.exe", beigu apakš

Uzdevumjoslas slēpšana

Pievienojiet 2 pogas un ielīmējiet kodu:

Privātā deklarēšanas funkcija 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) Funkcija FindWindow Lib "user32" Pseidonīms "FindWindowA" _ (ByVal lpClassName kā virkne, ByVal lpWindowName kā virkne) kā gara konstante SWP_HIDEWINDOW = &H80 Const SWP_SHOWWINDOW = &H40 Command _traywnd", " ") Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) Beigu apakša "Rāda privāto apakškomandu2_Click() hwnd1 = FindWindow("Shell_traywnd", "") Call SetWindowPos(hwnd1, 0, 0, 0, 0 0, 0, SWP_SHOWWINDOW) Beigu apakš

Izpakojiet RAR arhīvu

Lai izvilktu rāvējslēdzēju RAR arhīvs varat izmantot šādu kodu:

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

Cik daudz RAM ir datorā

Pievienojiet vienu pogu un ielīmējiet šādu kodu:

Privāts Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer kā TMemoryStatus) Privāts veids TMemoryStatus dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As LongPageFile AViild Virtual as Long End Tips Dim s Kā TMemoryStatus Privātā apakškomanda1_Click( ) ms.dwLength = Len(ms) Call GlobalMemoryStatus(ms) MsgBox "Total:" & ms.dwTotalPhys & vbCr & "Free:" _ & ms.dwAvailPhys & vbCr & "Izmantots %:" & ms.dwMemoryLoad beigu apakšpunkts

Slēpt darbvirsmas ikonas

Tas tiek darīts šādi. Pievienojiet 2 pogas un ielīmējiet šādu kodu:

Privāti deklarēt funkciju ShowWindow& Lib "user32" (ByVal hwnd&, ByVal nCmdShow&) Privāti deklarēt funkciju FindWindow Lib _ "user32" Alias ​​"FindWindowA" (ByVal lpClassName As String, ByVal AlpsWindowName AlpsWindowst AL = 1 Private Sub Command1_Click() Dim hHandle As Long hHandle = FindWindow("progman", vbNullString) Call ShowWindow(hHandle, SW_HIDE) End Sub Private Sub Command2_Click() Dim hHandle As Long handHandle =pro FindWllWindow" (hHandle , SW_NORMAL) Beigu apakš

Izmantojot pogu Command1, ikonas tiek paslēptas, Command2 - tās parādās.

Man tas arī viss, ceru, ka iepriekš minētie piemēri jums noderēs, čau!