Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SKriva över existerande filer.

Postades av 2005-01-01 17:33:02 - Tyronne Engström, i forum visual basic - allmänt, Tråden har 2 Kommentarer och lästs av 697 personer

Hej!

Jag använde mig av ett kodexempel som är utformat av Staffan Berg tips326.

Jag har även pratat med Staffan och jag lyfter ut frågan hit.


Probklemet är att när vi skall kopiera filer till en mapp där det redan finns filer så får vi ett felmeddelande
Path/Access error

Här är koden
<code>
Public Sub dirCopy(FromPath As String, ToPath As String)
ReDim FileName(1) As String
Dim i As Long
Dim lR As String
Dim LastCopy As String
Dim LoppCount As Integer
ReDim FileName(1) As String


frmBackup.ProgressBar2.Visible = True
LoppCount = 0


' On Error GoTo Errhandler

'## Initsierar den övergipande process indikatorn
frmBackup.ProgressBar2.Min = 0
frmBackup.ProgressBar2.Max = frmBackup.ListView1.ListItems.Count

LoppCount = LoppCount + 1



'## Sätter värdet för huvudprocessen
frmBackup.ProgressBar2.Value = LoppCount

frmBackup.Label2.Caption = "Kopierar : " & FromPath

'## Sökvägen till frånmappen
frmBackup.File1.Path = FromPath

'## Antalet filer i katalogen
m_CountFiles = frmBackup.File1.ListCount

If m_CountFiles = 0 Then
m_CountFiles = 1
End If
frmBackup.ProgressBar1.Visible = True
frmBackup.ProgressBar1.Min = 0
frmBackup.ProgressBar1.Max = m_CountFiles

'## Loopar igenom Mappen och kopierar

If Right(FromPath, 1) <> "\" Then FromPath = FromPath & "\"
If Right(ToPath, 1) <> "\" Then ToPath = ToPath & "\"


If (Dir(FromPath, vbDirectory) <> "") And (Dir(ToPath, vbDirectory) <> "") Then

i = 0
FileName(i) = Dir(FromPath, vbDirectory)
While FileName(i) <> ""
If (GetAttr(FromPath & FileName(i)) And vbDirectory) = vbDirectory Then
If FileName(i) <> "." And FileName(i) <> ".." Then
i = i + 1
ReDim Preserve FileName(i + 1) As String
End If
Else
If flagBackupStopped = False Then
frmBackup.ProgressBar1.Value = i
FileCopy FromPath & FileName(i), ToPath & FileName(i)
frmBackup.Label1.Caption = "Kopierar : " & FromPath & "\" & FileName(i)
Else
frmBackup.List1.AddItem "Backup avslutad av användaren : " & Now
frmBackup.List1.AddItem "*************** AVBRUTEN ***************"
Exit Sub
End If

End If

FileName(i) = Dir
Wend

'Kopiera underkatalogerna
If i > 0 Then
For Each directory In FileName
If directory <> "" Then
'förbered den nya katalogen
MkDir ToPath & directory
nrOfCatalogs = nrOfCatalogs + 1
'kopiera katalogen
dirCopy FromPath & directory, ToPath & directory
End If
Next
End If
End If


'## Felhanterarer
'Errhandler:

' If Err.Number <> 0 Then
' '## Skriver felmeddelande till loggfil
' frmBackup.ERR_REPORT
' Select Case Err.Number
' Case 52 ' Mottagar katalogen kunde inte hittas
' List1.AddItem "ERROR : Fel vid säkerhetskopiering " & Now
' List1.AddItem "ERROR : Kan inte hitta mottagar mapp."
' List1.AddItem "ERROR : Avbryter säkerhetskopieringen och fortsätter med nästa steg"
' Err.Clear
' 'GoTo frmBackup.c
' Exit Sub
' End Select
' End If
End Sub
</code>

I koden
<code>
MkDir ToPath & directory
</code>

SÅ kommer felmeddelandet. och det verkar som att mapparna jag tidigare kopierade blir skrivskyddade så hur löser man det?


/Tyronne


Svara

Sv: SKriva över existerande filer.

Postades av 2005-01-01 20:13:52 - Pelle Johansson

Du får kanske lägga till en raderingsfunktion precis före kopieringen för att slippa detta problem.

If len(dir(dittfilnamnochkaltalog))>0 then kill dittfilnamnochkaltalog
... kopiera igen..


Svara

Sv:SKriva över existerande filer.

Postades av 2005-01-02 21:16:17 - Tyronne Engström

Jag provade att ta bort mappen men fick samma felmeddelande igen, dvs att mappen är skrivskyddad. Hitta då ett exempel där man ändrade attributen på mappen

här är koden

<code>
Sub DimReadOnly(ByRef objDat)

If objDat.Attributes = 16 Then
MsgBox objDat.Attributes
objDat.Attributes = objDat.Attributes - 16
MsgBox objDat.Attributes
End If
End Sub
</code>

Värdet för mappen är 16 vilket innebär skrivskyddad. I mitt exempel så sätter jag om värdet till 0 som är Normal. Jag har även provat att direkt sätta
<code>
objDat.Attributes = 0
</code>
men värdet förblir 16

Sökvägen till mappen är rätt mm

är det någon som kan ge mig en hint på varför värdet inte ändras..


/Tyronne


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 721
27 958
271 751
5 916
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies