I VBScript finns en egenskap i VScript som heter Vscript.sleep Hej Johan. Hej Det är intressant att se vad folk ställer för fråger. Istället för att fråga "Hur övervakar jag en mapp efter förändringar?" så ställer det lösningsspecifika fråger. Hej Nu är du bara barnslig. Väx upp nån gång. Ser du inte att jag försöker hjälpa? Hej Jag är bara en kille som svara på inlägg så gott jag kan. Jag skulle inte läsa SvenPons andra inlägg som uppkäftigt, då hade allt varit frid och fröjd :)Sleep i VB6
Vscript.sleep(500) får scriptet att stanna upp i en halv sekund och belastar då inte processorn. Smidigt då man ex vill kolla bevaka en mapp.
Jag har inte hittat någon motsvarighet i VB. Vet någon om det finns?
Undar JohanSv: Sleep i VB6
Det finns säkert ett antal sätt att lösa detta på.
Jag har använt mig av två olika.
1)
Just den Sleep funktion du talade om.
I en modul
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
i programmet.
ex
Sleep(2000) '2000 ms
Nackdelen med denna är att hela programmet "Stannar upp" under dessa ms.
2)
i en modul
Public Declare Function GetTickCount Lib "kernel32" () As Long
i programet
Sub Pause(MS As Long)
Dim start
start = GetTickCount
While start + MS > GetTickCount
DoEvents
Wend
End Sub
Anropa denna med
Pause 2000 'även denna i ms
/MickeSv: Sleep i VB6
Ytterligare en liten optimering: i en modul
Public Declare Function GetTickCount Lib "kernel32" () As Long
Public GetInputState Lib "user32" () As Long
Public Sub Pause(ByVal Ms As Long)
Dim sleep As Long
sleep = GetTickCount + Ms
Do Until GetTickCount > sleep
If GetInputState() Then DoEvents
Loop
End Sub
Kuriosa: GetTickCount returnerar Long ms sedan Windows startade
om Windows har varit igång 49.5 dygn så startar GTC om från 0.
/SvenSv: Sleep i VB6
Då kan man välja att svara på dessa. Eller så kan man göra frågeställaren en tjänst och fråga vad du han/hon vill åstakomma.
Det finns funktioner som är till för att övervaka en mapp efter förändringar. Varför då göra en egen kontroll och använda Sleep.
Det finns bättre alternativ till Sleep i sig. T.ex. En timer. Vilket gör det möjligt att arbeta med programmet.
Annars kan man ju fördjupa sig i Windows API för at övervaka mappen. Vilket jag tror är effektvare lösning.
Att använda TickCount är något jag stark avråder från. Efter som denna funktion själ alla lediga resureser den kan.Sv: Sleep i VB6
Men Andreas ! Vi är ju så dumma ,tur att det finns kloka människor som du,
som kan rätta till oss dumskallar som inte begriper nåt.
/SvenSv: Sleep i VB6
Jag försöker dela med mig av min erfarenhet. Vad skulle du göra i min situation? Hur skulle du formulera dig? Vad är det jag gör för fel?
Eller är det så att du känner dig underlägsen och du försöker skylla det på mig? Sv: Sleep i VB6
>Det är intressant att se vad folk ställer för fråger. Istället för att fråga "Hur övervakar jag en mapp efter förändringar?" så ställer det lösningsspecifika fråger.
Enl. det ovna skrivna så formulerar Vi oss fel,klart att man känner sig underlägsen
när man inte vet hur man skall fråga oraklet :-)
/SvenSv: Sleep i VB6
Jag tog bara tillfället i akt att påpeka att man kan se på problem på flera sätt.Sv: Sleep i VB6
Bra åsikter från Andreas dock, alltid nyttigt att bli påmind om att se saker från olika vinklar!