PDA

Pogledaj cijelu verziju : Visual Basic



C
20-03-2008, 20:27
Izgubio sam hrpetinu linkova s kôdovima, pa bi molio ako netko ima neku listu svih kôdova za VB, s objašnjenjima i sl. da posta.

SkunK
20-03-2008, 21:04
http://www.planet-source-code.com/
http://www.programmersheaven.com/
http://www.vbcode.com/
http://www.codeguru.com/

vise ti bas i netreba.

C
20-03-2008, 21:19
Prvi i zadnja dva sam već probao, i sada sam probao i ovaj drugi, ali se ja tamo baš i ne snalazim.

Može netko postati kôdove?
A ja ću još prostudirati ove linkove. :roll:

Luka
20-03-2008, 21:21
Izgubio sam hrpetinu linkova s kôdovima, pa bi molio ako netko ima neku listu svih kôdovaSza VB, s objašnjenjima i sl. da posta.

hmm .. da možda ne misliš na naredbe ?

pogledaj "keywords" u helpu VB-a, tamo je popis

C
20-03-2008, 22:07
Ne, tamo nema za VB.

Imao sam hrpetinu linkova koje sam ostavio na WoF forumu, a on je suspendiran, tj. prebacio se na novi forum.

Burek_fr0m_SPACE
20-03-2008, 23:41
Koji VB te interesuje? I ima li nešto konkretno da te interesuje? Jer imam dosta iskustva s (Visual) Basicom, pa bih ti možda mogao pomoći oko konkretnih problema.

C
21-03-2008, 00:37
Koji me VB interesira?
-Pa, to je jedan jezik, ili nije? Ne znam, početnik sam u programiranjima. Naučio sam cijeli batch (čak i ne postojeće kôdove; prvenstveno jer je najlakši), pa sada ciljam na sljedeći jezik, i to VB koji me još interesirao od malih nogu i uvijek sam "Visual Basic" zamjenjivao s "Virtual Basic." :D :rotfl:
Zanima me VB općenito, kao i batch, pa bi Expurgation pisao u VBS-u, kasnije možda nešto više s VBS-om. Skužio sam par kôdova iz infekcija (većinom worm-ovi) VBS-a, ali s time ne mogu ništa dobro napraviti, jedino ovo za silent mode i prozorčići s porukama.

Edit: Trebalo bi mi nešto kao što je u batchu npr. u help-u, lista kodova, svaki čemu služi i primjer korištenja tog kôda. Ili kao u Dark Basic-u lista, nešto u tom stillu, ako je moguće?

Luka
21-03-2008, 08:25
Koji me VB interesira?
-Pa, to je jedan jezik, ili nije?
...
Edit: Trebalo bi mi nešto kao što je u batchu npr. u help-u, lista kodova, svaki čemu služi i primjer korištenja tog kôda. Ili kao u Dark Basic-u lista, nešto u tom stillu, ako je moguće?

Ne, postoji u različitim verzijama.
VB 6.0 je originalni VB, i još ga mnogo ljudi koristi.
VB .NET (2003,2005,2008) je VB povezan s .NET Frameworkom i izmijenjenom sintaksom.

Ima u helpu sigurno popis naredbi ... koju verziju koristiš ?

C
21-03-2008, 14:38
Imam dva Winsa (različite verzije) i ni pod jednim nema komandi od VB-a.
Uglavnom, ne zanimaju me oba dva, već jedan, ali ne znam koji je to točno. Imam par kôdova od toga, pa mi reci(te) koji je to VB?
Ovo mu je glavno, koliko sam skužio:

cscript //H:Cscript

wscript //H:CScript

Ovakvi su mu kôdovi:

Set WshNetwork = CreateObject("WScript.Network")
WScript.Echo WshNetwork.ComputerName

Set objWSHShell = CreateObject("WScript.Shell")
objWSHShell.Run("""Hot Fixes Installed.vbs""")

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("calc")

Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
WScript.Echo WshSysEnv("NUMBER_OF_PROCESSORS")

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
("Select * from Win32_Processor",,48)
Dim procdic, arrayitems, i
Set procdic = CreateObject("Scripting.Dictionary")

For Each objProcessor in colSettings
procdic.Add objProcessor.ProcessorID,objProcessor.Description
Next

arrayItems = procdic.Items
for i = 0 to procdic.Count -1
report = report & arrayItems(i)& " Processor" & vbCrLf
next

WScript.Echo report

Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

for each OpSys in OpSysSet

OpSys.Reboot()

next

Const Force_Reboot = 6

Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

For Each OpSys In OpSysSet

OpSys.Win32Shutdown(Force_Reboot)

Next

Const Force_Shutdown = 5

Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

For Each OpSys In OpSysSet

OpSys.Win32Shutdown(Force_Shutdown)

Next

ContinuationProgName = ScriptsFolder & "\CLNodeAllSDR.vbs"

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\RunOnce\", ContinuationProgName, " REG _SZ"

Set WSHShell = WScript.CreateObject("WScript.Shell")
Set oRegistry = GetObject("winmgmts:root/default:StdRegProv")

sKey = "SYSTEM\ControlSet001\Services"
rc = oRegistry.EnumKey(HKLM, sKey, arSubKeys)

For Each sKey In arSubKeys

All registry keys for schemas contain the string "stccb"

If InStr(1, sKey, "stccb") then
strRegKey="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\" & sKey & "\ImagePath"
schemaKey=WSHShell.RegRead(strRegKey)

Find the positions of the NT Service name, Logical Name and Registry Host

strPosA=InStr(1, sKey, "(")
strPosB=InStrRev(sKey, ")") -1
strPosC=InStr(1, schemaKey, "-ln") +3
strPosD=InStrRev(schemaKey, "-rh") -2
strPosE=InStr(1, schemaKey, "-rh") +3
strPosF=InStrRev(schemaKey, "-rs") -2

Now trim (Left) the full path to the point of the NT Service name and Registry Host

strTrimSchemaLeft=Left(sKey, strPosB)
strTrimLeft=Left(schemaKey, strPosD)
strTrimRHLeft=Left(schemaKey, strPosF)

Find the difference between the two positions and trim Right

strSchemaDif=(strPosB - strPosA
strDif=(strPosD - strPosC)
strRHDif=(strPosF - strPosE)
strNTService=Right(strTrimSchemaLeft, strSchemaDif)
strControlBroker=Right(strTrimLeft, strDif)
strRegistryHost=Right(strTrimRHLeft, strRHDif)

Bring the resource online

bringOnline sKey,strControlBroker,strNTService,strRegistryHost
Else
End If
Next

Dim strService
Set cbService = GetObject("WinMgmts:{impersonationLevel=impersonate}!//./root/cimv2:
Win32_Service.Name='Apache2')
serviceState = cbService.State

if serviceState = "Stopped" or serviceState = "Paused" then

' Start the Control Broker and wait until finished before starting next CB

cbService.StartService,,True
Wscript.Sleep 500
Else
WScript.Echo "Service " & serviceState
end if


Set oCluster = CreateObject( "MSCluster.Cluster" )

' Open the cluster. Empty string means open the local cluster.

oCluster.Open( "" )
Set oResource = oCluster.Resources.CreateItem( "eGate Registry", "Generic Service", 0, 0 )
resourceSt = oResource.State

If resourceSt = 3 then ' Offline
oResource.Online 10
Elseif resourceSt = 130 then ' Offline Pending
WScript.Echo "eGate Registry : " & resourceSt & " Offline Pending"
End If

Koji je to VB?

Luka
21-03-2008, 15:41
VB 6.0

nisi morao sve to postati ;)

C
21-03-2008, 16:15
OK, daj mi samo pojasni, jeli to 6.0 verzija ili?

Luka
21-03-2008, 16:24
da, to je verzija 6.0 razvojnog sučelja nazvanog "Visual Basic"

sam kod koji si dao je možda pisan i u starijoj verziji ... ako te zanima više o verzijama pogledaj ovdje (http://en.wikipedia.org/wiki/Visual_Basic#Timeline_of_Visual_Basic_.28VB1_to_VB 6.29)

C
21-03-2008, 16:39
Aha, a dali kôdovi iz starijih VB-a rade u novim verzijama?
I kakva su npr. poboljšanja u novijim verzijama? Više komandi, ili iste komande, samo skraćene, ili?

Luka
21-03-2008, 19:03
stari kod više-manje ne radi u novoj verziji

hmm .. sve je promijenjeno, VB. NET je gotovo novi jezik (bolji), promijenjena je sintaksa, na bolje (nevidim razlog da koristiš 6.0 ako možeš koristiti .NET)

C
21-03-2008, 19:25
Pa, Expurgation-a bi prepisao u VB za početak.
A i .NET baš i ne kužim, djeluje mi VB6 da je lakši.

P.S. VBS ekstenziie su pisane u VB# ili u VB.NET-u?

Luka
21-03-2008, 19:32
lol .. pola minute sam gledao u ovo "VB#" i razmišljam o ćemu pričaš (jer postoji C#, J#)

mislim da je .NET jednostavniji i intuitivniji, a i kao jezik je moćniji

vbs je VB 6.0, ali Windows Script Host koji izvršava skripte podržava i JavaScript, dakle ne moraš pisati u VB-u

C
21-03-2008, 19:54
Ma, VB# sam mislio VB1, VB2, VB3, VB4, VB5 i VB6. :D
Ali, mene zanima VBS i želio bih ga učiti (i naučiti).

Ako je VBS VB6, za šta je WSF?

I, da pitam, ima li koji način upisa batcha u VBS?
Nešto poput onoga što su mi rekli DragonSoul i Plexihack, za DEV C++, samo mi tamo ne podržava sve znakove, a VBS bi podržavao sve znakove kao i BAT.

Luka
21-03-2008, 20:07
WSF je extenzija datoteke s skriptom pisanom za WSH (Windows Script Host)

više o tome :
http://en.wikipedia.org/wiki/Windows_Script_File

za ova batch nisam siguran, pogledat ću pa javim

C
21-03-2008, 20:31
za ova batch nisam siguran, pogledat ću pa javim
Super, hvala. :)

Luka
21-03-2008, 20:36
kakav batch bi htio pretovoriti .. možeš dati neki primjer ?

C
21-03-2008, 20:54
Pa, bilo kakav, sve vrste. Ovaj od Expurgation-a, ali ima ne dozvoljene znakove koje recimo C++ ne prihvaća, a pomoću tih znakova traži smeće. I u batchu su korišteni "skriveni" kôdovi.
Npr. kôd:

@echo off
echo Start >>Info.zap
date /t >Date_Time.log
time /t >>Date_Time.log
@pause >nul
echo I recimo ovakvi kôdovi:
set /p Username=Please Enter Your Username:
@cls
echo Pokrenuo: %Username% >>Info.zap
@exit
REM Ovo sam sada bez-veze pisao kôd, sve i svašta.
Mislim, bilo kakav batch da pretvorim u VBS. Ili da ga prepišem u VBS, a da ga VBS detektira i da zna da je to BAT, kao što mi je bio pokušaj u C++|-u.

Luka
21-03-2008, 20:56
hmm .. nisam siguran može li se sve to .. bolje napravi pravi exe program pomoću punkrvnog vb-a

C
21-03-2008, 20:59
....i vraćam se opet na početak onda, trebala bi mi lista kodova za VB. :P

Edit: Koji program da koristim za punokrvni VB, i -> EXE?

Luka
21-03-2008, 21:10
Visual Basic 2008 Express Edition - besplatan download s MS-ovih stranica


i dalje mi nije jasno o kojem popisu kodova govoriš, misliš popis naredbi ?

C
21-03-2008, 21:51
Da, to. :roll:

DragonSoul
21-03-2008, 22:09
http://msdn2.microsoft.com/en-us/library/ksh7h19t(VS.71).aspx

Možda misliš na to?

Luka
21-03-2008, 22:28
DragonSoul je upravo dao, inače taj popis se može dobiti iz iz Helpa VB-a

C
22-03-2008, 00:05
@DragonSoul - E, to sam tražio! :D Hvala ti.

...inače taj popis se može dobiti iz iz Helpa VB-a
Kako?
Pokušao sam s upisom kroz CMD mode, ali nema, izbaci samo cca 5 naredbi.
Ili misliš u programima za VB? Tamo sigurno ima.

Edit: @DragonSoul - Ovdje nema svih komandi. :cry:
Recimo, "MsgBox" komande nema. :(

Edit 2: E, evo, našao sam najbolje. :D
Ovo je link:
http://book.chinaz.com/VBScript/VbScrip ... TOCAlt.htm (http://book.chinaz.com/VBScript/VbScript/htm/VBSTOCAlt.htm)
Ali Google kaže ovako:
http://www.google.hr/interstitial?url=h ... vbstoc.htm (http://www.google.hr/interstitial?url=http://book.chinaz.com/VBScript/VbScript/htm/vbstoc.htm)
Pa ja onda idem ovako:
http://anonymouse.org/cgi-bin/anon-www. ... TOCAlt.htm (http://anonymouse.org/cgi-bin/anon-www.cgi/http://book.chinaz.com/VBScript/VbScript/htm/VBSTOCAlt.htm)

Sve jedna te ista web stranica. :D
Podjeljeno je u kategorije, i svaka ima opcije i pod svakom opcijom šta je šta, kako šta treba, itd., nešto slično batchu u Windows-ovom help-u.
Hvala vam ljudovi, sada ću se učiti VBS-u, neka ova teme još bude otvorena, ako budem nešto zatrebao, ili ako bude netko drugi nešto zatrebao. :)

Edit 3: Evo za one koji isto hoće naučiti VB, sve komande u jednom help-u. :D
Download:
http://www.dayanahost.com/helpfiles/vbscript5.zipS(499 KB)

U chm formatu je. Za one koji ne znaju, help. :)

Usput, da pitam, ne kužim u MsgBox komandi kako napisati više redova. Trebao bi koristiti Chr komandu, samo kako i gdje? Kako god pokušam, ne valja. Može neki primjer?

Luka
22-03-2008, 09:35
možeš, ali moraš ući u VB, pa odabrati Help

za MsgBox :




<job id="Abc">
<script language="VBScript">

msgbox("1. red" + vbcrlf + "2.red")

</script>
</job>

C
22-03-2008, 16:07
Hvala, ne radi, trebalo mi je samo ovo:

msgbox("1. red" + vbcrlf + "2.red")
I ovo radi. :)

Edit: E, ali čekaj, VBCrlf komande nema na popisu, ima Chr za te stvari, ali mi ne radi (prije će biti da ne znam kako je korisititi).

A, mogu li kako postaviti kvačice (upaljene/ugašene) u takav jedan prozor, s time da njihov odabit utječe na sljedeći proces?

I, gdje je tu komanda za brisanje? Ima komanda erase, ali je ne kužim.

Luka
22-03-2008, 17:09
vbcrlf nije naredba, to je konstanta (varijabla) koja predstavlja znak za novi red - taj znak je nemoguće napisati pa se koristi vbcrlf

te kvačice se zovu checkboxi, i nije ih moguće umetnuti u takav prozor (msgbox)

na brisanje čega točno misliš ? dijela stringa ili ?

C
22-03-2008, 17:49
Brisanje fileova s HDD-a, koristeći zvjezdice (*).
A, dali je moguće napraviti checkbox-eve kroz VBS (oćenito)?

Luka
22-03-2008, 18:06
checkbox se mora nalaziti na formi (prozoru) pa prvo to trebaš napraviti, inače ne vidim razloga zašto to nebi bilo moguće

edit : možda se ipak nemože, nisam mogao pronaći nijedan primjer s ovim

zašto želiš baš vbs ? bolje nauči vb.net

C
22-03-2008, 19:00
A, on je lakši i funkcionalni, jel' da?

Gle, meni bi trebao jezik koji će mi podržavati ne dozvoljene znakove, a da nije batch.

Luka
22-03-2008, 19:04
A, on je lakši i funkcionalni, jel' da?

ne, ni prvo ni drugo


Gle, meni bi trebao jezik koji će mi podržavati ne dozvoljene znakove, a da nije batch.

nedozvoljeni znakovi ?

C
22-03-2008, 19:22
Da. Recimo "?" znači random broj, ili recimo "~" znak, kao i "*" sva imena, ili "$", i sl.

Luka
22-03-2008, 19:23
misliš u stringovima ?

C
22-03-2008, 19:25
Gle, te znakove koristim za brisanje smeća na HDD-u, i ako neki znak on zamjeni nekom drugom komandom, onda recimo "?" neće označavati broj, nego nešto drugo, pa će tako obrisati nešto sasvim drugo što ne bi trebao.

Luka
22-03-2008, 19:31
sry ne shvaćam o ćemu govoriš :)

uglavnom nema nekakvih nedozvoljenih znakova

C
22-03-2008, 20:21
Znam da ih u VBS-u nema, a recimo u C++|-u ih je detektirao kao ne dozvoljene znakove.

Evo, pod VBS-om sam probao brisanje, i radi. Napravim file "C.C4" i može mi ga obrisati ako ga upišem u VBS, ali ako napišem "*.C4", neće raditi brisanje. O tome ti govorim, kvar mi javi na ovom znaku "*".

Sve jedno, mislim da sam na završetku Expurgation-a.
Sljedeća verzija 2.3 će biti kao i v2.2, samo će moći obisati još više prljavštine. Dao sam sada mami da prepisuje ekstenzije, pa kada ona to završi, meni će trebati cca 1 h da ih ubacim u kôd. :D

Burek_fr0m_SPACE
22-03-2008, 23:27
Čisto da znaš ako budeš Googlao dalje da ne tražiš "nedozvoljene znakove", već regular expressionse. Osim toga, nije previše teško "prečešljati" disk koristeći folder i file listboxove. Prouči i njih malo.