Avatar billede -anders- Juniormester
18. januar 2009 - 14:35 Der er 8 kommentarer og
1 løsning

Returnere længde på lydfiler i formatet mm:ss

Hej eksperter

Dette er en hård nød for mig at knække, men jeg er kommet langt. I min form har jeg et tekstfelt som er navngivet Laengde. Jeg indsætter sti til lydfiler af typen MP3 og Wav i feltet Fillink. For at returnere længde på filerne bruger jeg nedenstående kode som sådan set virker, problemet er formatet:

'Kode start'
Function GetFileLaengefrm02()
Dim minsek As Long
If Form_frm02!Filtype = "mp3" Then
minsek = FileLen(Form_frm02!Fillink) / 16100
End If
If Form_frm02!Filtype = "wav" Then
minsek = FileLen(Form_frm02!Fillink) / 88000 / 2
End If
If minsek - (Int(minsek / 60) * 60) < 10 Then
Form_frm02!Laengde = Int(minsek / 60) & ":0" & minsek - (Int(minsek / 60) * 60)
Else
Form_frm02!Laengde = Int(minsek / 60) & ":" & minsek - (Int(minsek / 60) * 60)
End If
End Function
'Kode slut'

Som man kan se i koden returneres længden af lydfilen og vises i tekstboksen Laengde.

Hvis filen er mindre en 60 sekunder vises formatet således 0:21

Hvis filen er større en 60 sekunder vises formatet således 3:28

Jeg ønsker at formatet i stedet vises med et 0 mere fks. 00:21 03:28

Som sagt virker ovenstående kode, det er så "bare" at ændre formatet, det er det jeg ikke kan finde ud af. Nogen som har en ide til at ændre formatet :o)

Hilsen Anders.
Avatar billede terry Ekspert
18. januar 2009 - 14:45 #1
Try using Format (YourNumber, "00)
Avatar billede terry Ekspert
18. januar 2009 - 14:46 #2
So you need to replace YourNumber with your calculation.

EG:
Format (Int(minsek / 60), "00)
Avatar billede -anders- Juniormester
18. januar 2009 - 14:52 #3
hej terry

tak for indlægende,jeg kan ikke finde ud af det, kunne du poste et mere specifikt eks.
Avatar billede terry Ekspert
18. januar 2009 - 15:00 #4
I'll try
If minsek - (Int(minsek / 60) * 60) < 10 Then
Form_frm02!Laengde = format(Int(minsek / 60),"00) & ":" & Format( minsek - (Int(minsek / 60) * 60), "00")
Else
Form_frm02!Laengde = Format(Int(minsek / 60), "00), "00") & ":" & Format(minsek - (Int(minsek / 60) * 60), "00)

End If
End If
Avatar billede terry Ekspert
18. januar 2009 - 15:03 #5
Actually if I understand your code correctly you dont need to test < 10

So this should be OK
Form_frm02!Laengde = format(Int(minsek / 60), "00") & ":" & Format(minsek - (Int(minsek / 60) * 60), "00")
Avatar billede -anders- Juniormester
18. januar 2009 - 15:05 #6
Okay, går igang med teste det af, vender hurtigt tilbage :o)
Avatar billede -anders- Juniormester
18. januar 2009 - 15:12 #7
hej igen terry

Jeg har nu testet dit sidste indlæg 18/01-2009 15:03:04. Det virker perfekt, nu returneres fillængden i det korrekte format. Igen tusind tak for hurtig hjælp :o).

PT. er jeg igang med at lave min egen afspiller, så jeg vender nok tilbage med flere tricky spørgsmål

Hilsen Anders
Avatar billede terry Ekspert
18. januar 2009 - 15:21 #8
Sounds interesting. Maybe I can get to see the finished result ? :o)

And thanks for the points
Avatar billede -anders- Juniormester
18. januar 2009 - 15:32 #9
Ja, helt sikkert, men forløbig er det under opbygning, men når det færdigt, sender jeg en kopi
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester