19. september 2010 - 12:17Der er
20 kommentarer og 1 løsning
filecopy file not found
Hvad er der galt her?
Dim copy_file As String copy_file = App.path & "..\backup\test_file.txt" FileCopy "copy_file", "Dir1.path" File1.Refresh
Har som i måske har gættet en drive listbox, dirlist box og file listbox.
Så vil jeg gennem min dirlist vælge min destination og så trykke på en knap og så bliver filen test_file.txt kopieret fra den angivende sti ind i den mappe jeg har valgt.
Altså jeg har c:\vb\menu hvor den så skal gå under c:\vb\backup og kopiere min test_file.txt ind i den mappe jeg vælger fra dir1.path uanset om det er c:\windows eller f:\noget_helt_andet
men den bliver ved med at sige file not found selvom min test_file ligger i det bibliotek.
Og her er alt koden (skulle være hurtig at lave efter)
Private Sub Command1_Click() FileCopy File1.Name, "C:\test\" End Sub
Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub
Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub
hvis jeg fjerner " fra C:\test\ siger den altså
Compile error:
Expected line number or label or statement or end of statement Så lige om c:\test har jeg åbenbart brug for den, men det virker stadig ikke... Andre forslag?
Klart du skal have anførselstegn om "C:\test", da det er streng du angiver eksplicit - i dit forrige eksempel havde du puttet anførselstegn om variabelnavne.
Nu siger den ikke noget med path mere lige meget hvad jeg vælger nu holder den sig til file not found. Men hvordan kan den sige file not found for når jeg sætter en msgbox ind lige før filecopy så fortæller den jo fint hvilken fil jeg har fat i
hm ok den her linje virker: FileCopy "C:\test.txt", "C:\test\test.txt" men hvis jeg ændrer den til FileCopy "C:\test.txt", "C:\test\" virker den ikke. Det er så heller ikke så vigtig for det er kun txt filer som skal kopieres.
Men jeg tror vi kom et skridt videre og så alligevel for vi må vel konstatere den ikke vil med file1.filename men den vil gerne "direkte" så har du et godt råd?
At skrive et filnavn direkte i koden, så den altid bruger denne værdi. Fx har du i eksemplet hardcodet "C:\test\t.txt" - mit forslag er også at hardcode det første filnavn. Bare for at tjekke om problemet er at FileCopy ikke fungerer som forventet eller om det er fordi der er noget med File1.
Hvilken version af VB bruger du egentlig? Det ligner på syntaksen noget VB6 - men hvis du alligevel først er ved at lære det, så synes jeg du skulle kaste dig over noget VB.NET i stedet. (Mulighederne for håndtering af mapper og filer er anderledes og bedre i .NET)
Behold du bare pointene - jeg ville bare gerne have hjulpet hvis jeg kunne - og vi fandt jo ikke en løsning.
Hvor stor er forskellen på VB6 og .NET da jeg har brugt en del timer på at læse online og brugt et par kr på bøger også om VB6 for at komme godt igang...
Og havde du en ide om det andet med en mappe tilbage?
Det er ved at være nogen tid siden jeg brugte VB6, men jeg vil tro at du i stien kan benytte "\..\" for at komme tilbage, fx app.path & "\..\testfiles". (Om den første backslash skal være der afhænger selvfølgelig af om den er der i forvejen i app.path.
Og der er godt nok en del forskel på VB6 og VB.Net, men det meste er til det bedre i .NET efter min mening. Og medmindre man skal bruge VB6 for at kunne vedligeholde noget gammel kode, så vil jeg mene at det ikke er værd at lære VB6, som er at betragte som gammel teknologi. Det er selvfølgelig ærgerligt for dig hvis du har investeret meget tid og mange kr i det, men nogle generelle programmeringsprincipper vil du jo stadig kunne overføre til VB.NET, og det at der er en lidt anderledes syntaks vænner du dig sikkert hurtigt til.
Hm måske værd at prøve en dag... Har også en gang beskæftiget mig med PHP og et eller andet sted synes jeg også noget PHP minder om VB6 så måske jeg skulle kigge lidt på VB.net en gang.
og ja "\..\" virker så det var da en stor hjælp så er du helt sikker på du ikke vil have points? Jeg har så mange at jeg gerne deler ud af dem og vil gerne have lukket mine åbne spørgsmål og igen 10000000 tak for din hjælp.
så skidt da - nu jeg fik hjulpet dig med noget ;-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.