quote:Before using the FSO, you have to add the "Microsoft Scripting Runtime Library" to the current project by selecting "Project", "References" from the menu bar.
Zal ik het topic veranderen?quote:Op vrijdag 15 april 2005 19:34 schreef sop het volgende:
't is meer Visual Basic voor Chandler door Sop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | Public Function ListFilesInDir(ByVal path As String, ByVal filespec As String) As Collection Dim spec As Variant Dim file As Variant Dim subdir As Variant Dim subdirs As New Collection Dim specs() As String Set ListFilesInDir = New Collection If Right$(path, 1) <> "\" Then path = path & "\" specs() = Split(filespec, ";") On Error Resume Next LoadingDirsActive = True For Each spec In specs file = Dir$(path & spec) Do While Len(file) FileDetect = StrConv(Right(file, 3), vbLowerCase) file = path & file If IsSupportedFile(FileDetect) Then NumAddFils = NumAddFils + 1 FilesPath = 1 Form1.List1.AddItem file End If file = Dir$ Loop Next file = Dir$(path & "*.*", vbDirectory) Do While Len(file) If file = "." Or file = ".." Then ElseIf (GetAttr(path & file) And vbDirectory) = 0 Then Else file = path & file subdirs.Add file, file End If file = Dir$ Loop For Each subdir In subdirs For Each file In ListFilesInDir(subdir, filespec) FileDetect = StrConv(Right(file, 3), vbLowerCase) If IsSupportedFile(FileDetect) Then NumAddFils = NumAddFils + 1 FilesPath = 1 Form1.List1.AddItem file End If Next Next LoadingDirsActive = False End Function |
1 | Call ListFilesInDir(files, "*.*") |
Zoiets als dit:quote:Op zondag 17 april 2005 14:04 schreef QuietGuy het volgende:
Dan nu even een vraagje van mij
Ik ben bezig met een statistiekenscript voor Windows-webservers. Ik weet dat er al een aantal zijn maar ik wil er zelf ook een maken.
Ik ben al een heel eind, VB genereert een include file welke te gebruiken is in PHP of ASP, wat je maar wilt. Daarop kan je een aardige output baseren, zoals bijvoorbeeld http://quietguy.is-a-geek.org/qgstats/
Nu wil ik ook de temperatuur van de hardware hier bij plaatsen. Eenander statistiekenscript wat ik voorheen gebruikte, gebruikte hiervoor Motherboard Monitor. Ik wil dus niet afhankelijk zijn van steeds losse programmaatjes en wil dit dus ook in mijn Visual Basic-programma krijgen.
Nu zou dit opvraagbaar moeten zijn door middel van de WMI-set Win32_TemperatureProbe maar ik krijg daar geen output van terug. Van andere WMI-sets krijg ik wel mooi alle gegevens die ik wil.
Kan iemand mij een klein voorbeeldje geven van het opvragen van temperaturen, met of zonder WMI?
Ik krijg er geen output van, maar MotherBoard Monitor geeft wél outputquote:Op zondag 17 april 2005 14:22 schreef The_Terminator het volgende:
[..]
Zoiets als dit:
http://vbnet.mvps.org/index.html?code/wmi/wmitemperatureprobe.htm
Ik ook niet, heb een Asus A7N8X moederbord. Heb nog een andere pc met een Abit moederbord, deze geeft de temperaturen wel door. Is dus per systeem anders, denk dat het veroorzaakt wordt doordat de 'Win32_TemperatureProbe' call niet op alle moederborden werkt...quote:Op zondag 17 april 2005 15:14 schreef QuietGuy het volgende:
[..]
Ik krijg er geen output van, maar MotherBoard Monitor geeft wél output
(Src: tempprobe.zip)
Bij mij is het dus ook een asus moederkoekje... balen... Andere oplossing zonder WMI anyone?quote:Op zondag 17 april 2005 17:01 schreef The_Terminator het volgende:
[..]
Ik ook niet, heb een Asus A7N8X moederbord. Heb nog een andere pc met een Abit moederbord, deze geeft de temperaturen wel door. Is dus per systeem anders, denk dat het veroorzaakt wordt doordat de 'Win32_TemperatureProbe' call niet op alle moederborden werkt...
Het hoeft ook niet makkelijk te zijn, zo leer je weer watquote:Op maandag 6 juni 2005 14:40 schreef Chandler het volgende:
hmm, je maakt het me niet gemakkelijk zie ik al wel weer, mja ik ga er wel even mee spelen!.
ah, hij verspreid zich alquote:Op maandag 6 juni 2005 15:27 schreef sop het volgende:
Chandler: Bedank QG eens voor zijn mooie Network Traffic module!
Is niet zo moeilijk. Ik pas je source even aan en plaats de link hier zometeen wel.quote:Op woensdag 4 januari 2006 17:51 schreef Chandler het volgende:
maar ok, als ik dat gebruik moet ik ook nog de data op de juiste plaats zien te krijgen, en dat lukt nu helaas nog niet
Wat ik al heb (http://upload.bruggema.nl/index.php?i=v&ip=1372487152&name=backup directories.zip)
Ik heb alleen het volgende aangepast:quote:Op woensdag 4 januari 2006 18:05 schreef Chandler het volgende:
als je wil, zet er dan ff comments bij... dan kan ik er van leren
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | If lister.view = "from" Then If Right$(Dir.Path, 1) = "\" Then lister.fromDir.Text = Dir.Path Else lister.fromDir.Text = Dir.Path & "\" End If ElseIf lister.view = "to" Then If Right$(Dir.Path, 1) = "\" Then lister.toDir.Text = Dir.Path Else lister.toDir.Text = Dir.Path & "\" End If End If Unload Me 'MsgBox (Dir.Path & " enzo " & view) End Sub |
Waar heb je het over?quote:Op vrijdag 17 februari 2006 22:15 schreef Gajus het volgende:
Vraagje over VB-tags bij tekstopmaak:
Achter een gewoon tekstblok is het mogelijke een extra tekstblok toe te voegen; dit extra tekstblok wordt pas zichtbaar als de muiscursor op de gewone tekstblok geplaatst wordt.
De syntax lijkt op [spoiler=GewoneTekst]ExtraTekst[/spoiler] ... maar is niet correct. Wat is dan wel de goede syntax?
Binnen een tekst kun jij tags plaatsen zoals (b) en (/b), maar dan met hoekige haken. Zo bestaan er ook tags om extra tekst toe te voegen aan een normale tekst. Ik weet dat die tags bestaan en toepasbaar zijn binnen het Forum aangezien ik zij ooit heb gebruikt (maar dat was in de Preview-mode, dus kan ik het niet terugvinden).quote:Op zaterdag 18 februari 2006 10:40 schreef Chandler het volgende:
Misschien is een wat duidelijker uitleg handig in deze zaak?weet je wel zekers dat je het over VisualBASIC hebt?
Jij doelt op vB-code (vBulletin, een webforum pakket)quote:Op zaterdag 18 februari 2006 16:13 schreef Gajus het volgende:
(...) en ook VB-code (VB= VisualBasic).
VisualBasic is een soort van RAD tool met een BASIC achtige syntax, voornamelijk gebruikt door (zoals het topic al aangeeft) dummies.quote:Ik ben van de ArpaNet-generatie en recentere ontwikkelingen zoals VisualBasic zijn aan mij voorbij gegaan. Jouw vraag of dit een VisualBasic aangelegenheid betreft, kan ik dan ook niet bevestigen of ontkennen.![]()
Mijn dank voor het oplossen van dit misverstand.quote:Op zaterdag 18 februari 2006 16:48 schreef Aaargh! het volgende:
Jij doelt op vB-code (vBulletin, een webforum pakket)
VisualBasic is een soort van RAD tool met een BASIC achtige syntax, voornamelijk gebruikt door (zoals het topic al aangeeft) dummies.![]()
![]()
Ai, dit maakt het wel heel erg complex, zelfs voor zo'n simpel toolje.quote:Op woensdag 4 januari 2006 18:11 schreef The_Terminator het volgende:
[..]
Ik heb alleen het volgende aangepast:
[ code verwijderd ]
Dus gewoon kijken wat voor waarde de variable 'view' heeft en dan de juiste textbox op de form 'lister' aanpassen. Ik heb ook een functie ingebouwd die checkt of er een '\' achter het pad staat.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Private Sub Command1_Click() Me.SelectedDir = Dir.Path Me.Hide 'MsgBox (Dir.Path & " enzo " & view) End Sub Private Sub Drive_Change() Dir.Path = Drive.Drive End Sub Public Static Property Get SelectedDir() As String SelectedDir = mvarDirSelected End Property Public Static Property Let SelectedDir(ByVal sNewValue As String) Dim tmpdir As String ' Dit voor een beetje controle op het formaat van de binnenkomende string als het property van buiten wordt gezet. Waterdicht is deze niet If InStr(1, sNewValue, ":\", vbTextCompare) > 0 Then Drive.Drive = sNewValue Dir.Path = sNewValue End If ' Einde controle 'Code uit Command1_click, maar een beetje aangepast If Right(sNewValue, 1) = "\" Then tmpdir = sNewValue Else tmpdir = sNewValue + "\" End If mvarDirSelected = tmpdir End Property |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 'Ik heb een hekel aan het standaard scherm dat VB in het geheugen kwakt. 'Je hebt veel minder controle op die manier. 'Daarom definieer ik altijd nieuwe scherm objecten die na gebruik weg gooi. ' Dim frmFrom As Brouwser Set frmFrom = New Brouwser ' 'optioneel kun je ook de geselecteerde directory in het brouwser scherm zetten ' De huidige directory wordt dan voor geselecteerd ' If Trim(fromDir.Text) <> "" Then frmTo.SelectedDir = fromDir.Text End If 'Laat het scherm zien frmFrom.Show vbModal 'Haal de waarde op. het scherm zit nog in het geheugen en is "aanspreekbaar" 'Zolang je GEEN grafische objecten aanspreekt zal het niet opnieuw geladen worden ! '!Dit is laatste is erg belangrijk! fromDir.Text = frmFrom.SelectedDir 'Gooi het scherm weg Unload frmFrom Set frmFrom = Nothing End Sub Private Sub ToBrouwse_Click() Dim frmTo As Brouwser Set frmTo = New Brouwser If Trim(toDir.Text) <> "" Then frmTo.SelectedDir = toDir.Text End If frmTo.Show vbModal toDir.Text = frmTo.SelectedDir Unload frmTo Set frmTo = Nothing End Sub |
1 2 3 4 5 6 7 8 | DoEvents btnCrime.Enabled = False btnCrime.Caption = "Waiting " & Round(StartCrime - Timer + PauseCrime) & " secs" PauseCrime = PauseCrime - 0.000001 blnCrime = False Call checkCar Loop |
Wat jij doet heet een busy-wait, en dat mag je NOOIT doen op een multitasking OS.quote:Op maandag 20 februari 2006 12:29 schreef DaFan het volgende:
Ik ook een VB vraag! Het gaat over de Timer, ik wil m meerdere malen naast elkaar laten lopen (4x) om iets af te tellen op een knop tot het moment dat die knop weer vrijgegeven wordt.
ik gebruik nu de volgende Do While Loop:
[ code verwijderd ]
Het probleem van de Timer() is dat ie telt in seconden vanaf middernachtquote:Op maandag 20 februari 2006 12:41 schreef Aaargh! het volgende:
[..]
Wat je in VB waarschijnlijk kan doen is een timer maken die na 1 seconde een event genereerd (dat kan neem ik aan?) .
Ik heb in een grijs verleden nog wel eens met VB geprutst (nog steeds nachtmerries van). Maar volgens mij had je toen gewoon een Timer dingetje wat je b.v. op 1 seconde kon zetten en dan ging er gewoon elke seconde een event af.quote:Op maandag 20 februari 2006 13:05 schreef DaFan het volgende:
[..]
Het probleem van de Timer() is dat ie telt in seconden vanaf middernachtDaarom moet je ook die <= gebruiken. Je kan m niet laten starten vanaf het moment dat je de Sub oproept.
Ik ben het nog niet tegen gekomen. Als er anderen zijn die dit topic lezen en het wel weten...graagquote:Op maandag 20 februari 2006 13:43 schreef Aaargh! het volgende:
[..]
Ik heb in een grijs verleden nog wel eens met VB geprutst (nog steeds nachtmerries van). Maar volgens mij had je toen gewoon een Timer dingetje wat je b.v. op 1 seconde kon zetten en dan ging er gewoon elke seconde een event af.
Dat klopt.quote:Op maandag 20 februari 2006 13:43 schreef Aaargh! het volgende:
[..]
Ik heb in een grijs verleden nog wel eens met VB geprutst (nog steeds nachtmerries van). Maar volgens mij had je toen gewoon een Timer dingetje wat je b.v. op 1 seconde kon zetten en dan ging er gewoon elke seconde een event af.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Private Sub Form_Load() stDate = Now() Label1.Caption = "" Timer1.Enabled = True End Sub Private Sub Timer1_Timer() If DateDiff("s", stDate, Now()) <= 5 Then Label1.Caption = Label1.Caption + Format(Now(), "dd-mm-yy hh:nn:ss") + vbNewLine Else Label1.Caption = Label1.Caption + "einde" Timer1.Enabled = False End If End Sub |
Is het niet beter om een API timer te gebruiken?quote:Op maandag 20 februari 2006 15:21 schreef DiRadical het volgende:
[..]
Dat klopt.
Je kunt de timer.inteval op 1000 zetten (tijd in milli seconden) en dan gaat het event elke seconde af totdat de timer disabled wordt
In het timer event kun je de timer disabelen.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 | Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long Dim Timer1 As Long Function StartTimer1() Timer1 = KillTimer(0, Timer1) Timer1 = SetTimer(0, 0, 1000, AddressOf TimerSub1) End Function Function StopTimer1() Timer1 = KillTimer(0, Timer1) End Function |
1 2 3 | 'code in deze functie wordt om de 1000 ms getriggerd door de timer End Function |
1 2 3 | StopTimer1 End Sub |
Ja,quote:Op maandag 20 februari 2006 16:10 schreef DaFan het volgende:
DiRadical:
Die code van jou gaat om de 1 sec in de If functie? En dat 5x?
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |