sub form_load () Fil1$ = LCase$(#Bib\FILNAVN#) Fil2$ = LCase$(#FILNAVN#) Me.Caption = "View: " & Fil2$ & " in hexadecimals (Is loading...)" Adr.Clear 'Combobox hvor alle adresse intervaler loades. Me.Show FS = FileLen(Fil1$) 'Fillængde 'If FS = 0 Then ' MsgBox "The filesize of:" & Ny_Linie & Fil1$ & Ny_Linie & "is: 0 bytes" & Ny_Linie & Ny_Linie & "Can't load: " & Fil1$, vbCritical + vbOKOnly, "Can't load: " & Fil2$ ' Unload Me 'End If Antal_adr = FS / 4000 'Fillægnde over 4000 If Antal_adr >= 1 Then 'Tilføjer adresse intervaller til "adr". For i = 1 To Antal_adr Start$ = Str$(1 + (i - 1) * 4000) Slut$ = Str$(i * 4000) Start$ = Mid$(Start$, 2) Slut$ = Mid$(Slut$, 2) l1 = 8 - Len(Start$) l2 = 8 - Len(Slut$) If l1 > 0 Then For j = 1 To l1: Start$ = "0" & Start$: Next If l2 > 0 Then For j = 1 To l2: Slut$ = "0" & Slut$: Next Adr.AddItem Start$ & " - " & Slut$, i - 1 Sted = i + 1 Next i Else Sted = 1 End If If FS Mod 4000 > 0 Then 'Hvis FS delt med 4000 giver rest på mere end nul (0) så skal der tilføjes et adresse interval for resten. Start$ = Str$(1 + (Sted - 1) * 4000) Slut$ = Str$((Sted - 1) * 4000 + (FS Mod 4000)) Start$ = Mid$(Start$, 2) Slut$ = Mid$(Slut$, 2) l1 = 8 - Len(Start$) l2 = 8 - Len(Slut$) If l1 > 0 Then For j = 1 To l1: Start$ = "0" & Start$: Next If l2 > 0 Then For j = 1 To l2: Slut$ = "0" & Slut$: Next Adr.AddItem Start$ & " - " & Slut$, Sted - 1 End If Adr.ListIndex = 0 Adr.Text = Adr.List(Adr.ListIndex) Me.Caption = "View: " & Fil2$ & " in hexadecimals" end sub
Private Sub Adr_Click() Hex_Liste.Clear 'listbox hvori der indlæses tegn Fil$ = #Bib/FILNAVN# FS = FileLen(Fil$) plads = Adr.ListIndex Fri = FreeFile Screen.MousePointer = 11 Open Fil$ For Binary Access Read As Fri Start = 1 + plads * 4000 Slut = (1 + plads) * 4000 If Slut > FS Then Slut = plads * 4000 + FS Mod 4000 'Hvis slut overstiger FS beregnes Slut til slut adresse Streng$ = Space$(Slut - Start + 1) Get #Fri, Start, Streng$ Konv_Asc_Hex Streng$, (Start), Hex_Liste 'kan erstattes med Hex_liste.additem Streng$ If Len(Streng$) Mod 16 = 0 Then Hex_Liste.RemoveItem Hex_Liste.ListCount - 1 Close Fri Screen.MousePointer = 0 End Sub
Håber dette source kan hjælpe dig i den rigtige retning.
MVH
IQbe
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.