/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Hjælp til FileExists
Fra : Jesper


Dato : 08-04-02 10:20

En lille hasteopgave.

Skulle meget gerne virke i en update som skal udsendes inden middag.

En der lige ved hvad jeg skal skrive....

object.FileExists(filespec)

Hvilket object snakkes der om?

if object.FileExists(filespec) = True then
Kill (filespec)
end if

Jesper G....



 
 
Jesper (08-04-2002)
Kommentar
Fra : Jesper


Dato : 08-04-02 10:34

Fandt ud af det....

Sådan skal det gøres....

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(App.Path & "\UpdateLog.exe") Then
Kill App.Path & "\UpdateLog.exe"
End If


"Jesper" <oz5pc@post.tdcadsl.dk> skrev i en meddelelse
news:3cb160c7$0$52675$edfadb0f@dspool01.news.tele.dk...
> En lille hasteopgave.
>
> Skulle meget gerne virke i en update som skal udsendes inden middag.
>
> En der lige ved hvad jeg skal skrive....
>
> object.FileExists(filespec)
>
> Hvilket object snakkes der om?
>
> if object.FileExists(filespec) = True then
> Kill (filespec)
> end if
>
> Jesper G....
>
>



Tomas Christiansen (08-04-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 08-04-02 22:55

Jesper skrev:
> Set fso = CreateObject("Scripting.FileSystemObject")

Hvis det er VB, bør du bruge New i stedet for CreateObject.

-------
Tomas


Ove Hansen (09-04-2002)
Kommentar
Fra : Ove Hansen


Dato : 09-04-02 07:20


"Tomas Christiansen" <toc@blikroer.removethis.dk>
wrote in message
news:a8t01v$1ahj$1@news.cybercity.dk...
> Jesper skrev:
> > Set fso =
CreateObject("Scripting.FileSystemObject")
>
> Hvis det er VB, bør du bruge New i stedet for
CreateObject.
>
> -------
> Tomas
>

Hvorfor det?
/Ove



Tomas Christiansen (09-04-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 09-04-02 23:15

Ove Hansen skrev:
> > Hvis det er VB, bør du bruge New i stedet for CreateObject.
....
> Hvorfor det?

Ja, det var vist også lidt upræcist skrevet.

Sagen er at man kan gøre således:

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

Eller man kan gøre således:

Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject

Kombinationer heraf er også muligt at benytte, samt at bruge New i sin
Dim (så Set fso... linien udgår).

Det korte af det lange er at "Dim fso As Scripting.FileSystemObject"
er at foretrække frem for "Dim fso As Object" idet det giver en
såkaldt tidlig binding (early binding) af variablen "fso". Det er en
fordel rent performancemæssigt, samt at det giver mulighed for at få
hjælp, når man f.eks. skriver "fso." (læg mærke til punktummet).

Dernæst er det en fordel at benytte New frem for CreateObject idet VB
da på kompileringstidspunktet kan kontrollere om det nu også er noget
fornuftigt, som man har skrevet. I CreateObject kan man skrive
hvadsomhelst, og først på kørselstidspunktet bliver det angivne
hvadsomhelst kontrolleret. Det påstås at New er *lidt* hurtigere end
CreateObject.

Bruger man CreateObject i stedet for New på egne VB-klasser, kan man
risikere en dårligere performance, når objektet tilgås. Jeg kan ikke
lige på siddende fod huske i hvilke forbindelser det sker/ikke sker.
Måske en anden kan være behjælpelig her?

Brugen af New kræver dog at den angivne klasse giver adgang til et
"type library". Findes et sådant ikke, er man nødsaget til at bruge
CreateObject.

-------
Tomas



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste