Gå til innhold

Hjelp til variabeldeling


Anbefalte innlegg

Prøver å forbedre JPAK litt. Den nye forbedringen er at folk skal slippe å skrive inn fornavn og etternavn på file separat. Derfor lurer jeg hvordan man deler opp variabelen der de valgte filnavnene som skal pakkes inn lagres slik at det finner ut hva som er fornavn og etternavn på fila uten at man må skrive det inn. Prøvde med dette:

 

Tror denne koden er den samme i VB (6.0, ikke .NET) også...:

 

FOR i = 0 to LEN(filnavn$)

IF RIGHT$(filnavn$, i) = "." THEN

<kode>

END IF

 

Men det fungerer ikke... Noen som har noen andre løsninger på dette problemet / evt. forbedringer på koden jeg har prøvd med?

Lenke til kommentar
Videoannonse
Annonse

Split tror jeg ikke vil funke så bra, siden filnavnet kan inneholde flere punktom. Se på dette:

Option Explicit

Private Sub Form_Load()

MsgBox SuperFunksjon("tralalla.ssefsef.mp3")

End Sub

Private Function SuperFunksjon(Tekst As String) As String

Dim FilEnding As String
FilEnding = Mid(Tekst, InStrRev(Tekst, ".") + 1)

SuperFunksjon = Left(Tekst, Len(Tekst) - Len(FilEnding) - 1) & " - " & FilEnding

End Function

Lenke til kommentar

Med tanke på at JPAK er for DOS (alle versjoner) må det benytte 8 * 3 formatet (xxxxxxxx.xxx), der det før punktum er fornavn og det etter er etternavn slik vi kjernner det i windows (bare med støte for lengre fornavn). Det kan inneholde flere punktum, men da blir det problem, for hvordan skal vi vite vilken som skiller fornavn og etternavn?

Lenke til kommentar

I Qbasic fungerer det ikke helt slik. Men prøver å porte JPAK til Visual Basic nå, så det kan komme til hjelp :yes:

 

Forresten.. Hvordan finner du i Visual Basic ut hvor mange filer brukeren har valgt å åpne med en cdl.Dings.ShowOpen ting? (fks. om han har dratt over flere)

Lenke til kommentar
Forresten.. Hvordan finner du i Visual Basic ut hvor mange filer brukeren har valgt å åpne med en cdl.Dings.ShowOpen ting? (fks. om han har dratt over flere)

Hvis jeg ikke tar feil, skulle alle filnavnene være atskilt av null-tegnet (Chr(0)), og dermed lett oppdelelig. I Visual Basic 6.0 ville du benyttet følgende kode for å finne dette ut:

 

Dim aFiles As Variant, Tell As Long

' sFileName er naturligvis en variabel som holder den returnerte strengen fra dialogboksen.

aFiles = Split(sFileName, Chr(0))

' Tellingen foregår med UBOUND:

MsgBox "Antall filer: " & UBound(aFiles)

' Du kan også lett gå igjennom alle filene, og utføre en ønsket operasjon på hver enkel:
For Tell = LBound(aFiles) To UBound(aFiles)
    ' Erstatt dette med din kode
    MsgBox "Fil " & aFiles(Tell) & " er åpnet"
Next

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...