Jonas Skrevet 23. mars 2004 Del Skrevet 23. mars 2004 (endret) Ditt første Visual Basic program! Nå har du sikkert fått en liten introduksjon i hvordan vb egentlig er og vil lage dit eget program. Her kommer jeg til å vise hvordan man lage en utforsker, som i windows bare litt mindre avansert. Jeg går først gjennom en basic utforsker. Lengre ned legger vi til flere funksjoner. Den letteste Den er veldig lett. Ikke noe særlig koding her. Ferdig blir den omtrent sånn. Åpne først kompilern. Se i objekt menyen etter en DriveListBox og sett den inn. Sett også inn en FileListBox og en DirListBox. Det er alle objektene som trengs. Over til kodinga! Dobbel klikk på DriveListBox’en. Da står det Drive1_change. Det betyr at koden utføres ver gang du skifter stasjon. Skriv inn denne koden: Dir1.Path = Drive1.Drive Dir1.Path er mappa som vises. Drive1.Drive gir stasjonens navn som mappe. Dobbelklikk på DirListBox’en og skriv dette: File1.Path = Dir1.Path File1 lister opp alle filene i dir1 mappen. Nå kan du trykke på play og prøve ut programmet. Prøv å velg diskett stasjonen i drive’en. Hvis du ikke har en disket inni vil programmet gi en error melding og avsluttes. Får å forhindre dette må du sette inn litt koden. Bytt ut: File1.Path = Dir1.Path Med: On Error GoTo feil File1.Path = Dir1.Path Exit Sub feil: MsgBox Err.Description, vbCritical, "Err.nr " & Err.Number Exit sub betyr at når programmet kommer til den delen av koden, skal den stoppe. On error betyr når det er en feil. Da hopper den over exit sub og går til feil. Koden under feil er en msgbox som viser feilmeldingen og nummer’et til den. Da skulle feilmeldinga være borte. Eller den ”dårlige” feilmeldinga Litt vannskeligere Her skal vi legge til en popup meny med en slett-knapp, en meny i toppen og en label nederst som viser mappen. Først må du legge til menyene. Trykk på din form og se i menyen øverst etter en menu editor-knapp. Trykk på den. På caption og name skriver du avslutt. Trykk next. Skriv slett2 på caption og name og hak av visible. Trykk next og skriv slett på begge. Legg til en label. Se etter BorderStyle i menyen til høyre. Sett den til 1 – fixed single. Gå til koden delen og finn Dir1_Change. Rett under File1.Path = Dir1.Path skriver du: Label1.Caption = Dir1.Path Da vises mappen i labelen. Nå legger du til denne koden helt øverst, over alt annet: Private Declare Function DeleteFile Lib "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long Så legger du til denne koden under alt annet: Private sub File1_Rightclick() PopupMenu slett2 End sub Private sub slett_click() If Right(Dir1.Path, 1) = "\" Then Deletefile (Dir1.Path & File1.FileName) Else DeleteFile (Dir1.Path & “\” & File1.FileName) End if End sub Private sub avslutt_click() End End sub DeleteFile sletter filen. If’en forann er bare til fordi at en mappe ender ikke med en skråstrek og en stasjon gjør det. Litt mer Her ser du hvordan du kan åpne en fil ved å dobbel klikke på den. Legg til dette helt øverst i koden: Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _ ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Legg dette til nederst: Private Sub File1_dblClick() If Right(Dir1.Path, 1) = "\" Then retVal = ShellExecute(Form1.hwnd, "open", Dir1.Path & File1.FileName, "", "", SW_SHOWNORMAL) Else retVal = ShellExecute(Form1.hwnd, "open", Dir1.Path & "\" & File1.FileName, "", "", SW_SHOWNORMAL) End If End Sub ShellExecute åpner filen og if’en er der fordi mappen ender ikke med en skråstrek, men en stasjon gjør. Det var alt jeg hadde til utforskeren. Hvis noen andre vet om noe ting man kan hatt med, kan du sikkert poste det her Endret 23. mars 2004 av jonas22282460 Lenke til kommentar
x871kx6167ss7 Skrevet 26. mars 2004 Del Skrevet 26. mars 2004 Private Sub Drive1_Change() On Error GoTo feil Dir1.Path = Drive1.Drive Exit Sub feil MsgBox Err.Description, vbCritical, "Err.nr " & Err.Number End Sub Private Sub dir1_change() Drive1.Drive = Dir1.Path End Sub Er dette feil? Tror jeg har skrevet det du sa... Får feil melding... Sub er Functiom not defined Lenke til kommentar
aadnk Skrevet 28. mars 2004 Del Skrevet 28. mars 2004 Skrivefeil. En label skal etterfølges av kolon. Koden blir da: Private Sub Drive1_Change() On Error GoTo feil Dir1.Path = Drive1.Drive Exit Sub feil: MsgBox Err.Description, vbCritical, "Err.nr " & Err.Number End Sub Private Sub dir1_change() Drive1.Drive = Dir1.Path End Sub Lenke til kommentar
Håvard Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 Jeg driver med dette programmet nå, for å teste litt.. Men får en feil, da jeg prøver å slette noe.. Her er koden min: Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _ ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Declare Function DeleteFile Lib "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long Private Sub Command1_Click() MsgBox txtTekst.Text = "Hallo verden!" End Sub Private Sub dir1_change() On Error GoTo feil File1.Path = Dir1.Path Exit Sub feil: MsgBox Err.Description, vbCritical, "Err.nr " & Err.Number End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub File1_Rightclick() PopupMenu slett2 End Sub Private Sub slett_click() If Right(Dir1.Path, 1) = "\" Then DeleteFile (Dir1.Path & File1.filename) Else DeleteFile (Dir1.Path & “ \ ” & File1.filename) End If End Sub Private Sub avslutt_click() End End Sub Private Sub File1_dblClick() If Right(Dir1.Path, 1) = "\" Then retVal = ShellExecute(Form1.hwnd, "open", Dir1.Path & File1.filename, "", "", SW_SHOWNORMAL) Else retVal = ShellExecute(Form1.hwnd, "open", Dir1.Path & "\" & File1.filename, "", "", SW_SHOWNORMAL) End If End Sub Det står at feilen er her: Private Sub slett_click() If Right(Dir1.Path, 1) = "\" Then DeleteFile (Dir1.Path & File1.filename) Else DeleteFile (Dir1.Path & “ \ ” & File1.filename) End If End Sub I denne linjen: DeleteFile (Dir1.Path & “ \ ” & File1.filename) Værtfall den linjen som er merket med gult, når jeg trygger debug.. Noen som vil hjelpe ? Lenke til kommentar
Jonas Skrevet 16. februar 2006 Forfatter Del Skrevet 16. februar 2006 Virker som du har brukt “ og ” istedenfor ". Prøv dette: DeleteFile (Dir1.Path & " \ " & File1.FileName) Lenke til kommentar
Håvard Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 Virker som du har brukt “ og ” istedenfor ". Prøv dette: DeleteFile (Dir1.Path & " \ " & File1.FileName) 5615862[/snapback] Tusen takk Lenke til kommentar
TheNarsissist Skrevet 14. juli 2008 Del Skrevet 14. juli 2008 Hvor er det man skal skrive inn disse kodene? Hvilket programeringspråk er det? Er veldig noob på dette. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå