Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ett litet problem kvar

Postades av 2005-04-07 11:37:01 - Jesper Rosdahl, i forum visual basic - allmänt, Tråden har 5 Kommentarer och lästs av 759 personer

det blir en html fil som heter "Filstruktur exindex.html" (som ser ut som orginalet fast med nytt och felaktigt namn) och en som heter "index.html" (som är editerad och helt rätt)
jag ser inte vad i min kod som gör så att det blir fel.. fast jag är rätt säker på att det har något att göra med "Command()" har inte använt det förut..
Här kommer hela koden för allt..

Project:
Form1:


Private Sub Form_Load()

' Simple datatypes
Dim strPath As String
     
     
    strPath = Command()
     
    'strPath = "'C:\Jesper\Filstruktur ex\'"

    If Not exportToHTML(strPath) Then
        MsgBox "Export Error"
    End If

End Sub

allt funkar som det ska om jag använder det andra värdet för strpath fast då funkar det inte att högerklicka i utforskaren på den specifika mappen för att skapa html filen i "C:\Jesper\"

Moduler:
modIniFile:
Option Explicit

Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationname As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long _

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationname As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long


Public Function ReadIniFile(strIniFile As String, _
                            strSection As String, _
                            strKey As String, _
                            strDefaultValue As String) As String
    
Dim x As Long
Dim Temp As String * 255

    On Error Resume Next

    x = GetPrivateProfileString(strSection, strKey, strDefaultValue, Temp, Len(Temp), strIniFile)
    
    If x = 0 Then
    
        ReadIniFile = ""
    
    Else
        
        ReadIniFile = Trim(Temp)
        ReadIniFile = stripSpaces(ReadIniFile)
    
    End If

End Function


Public Function WritestrIniFile(strIniFile As String, _
                                strSection As String, _
                                strKey As String, _
                                strValue As String) As Boolean
    
    On Error GoTo ErrorHandler
    WritestrIniFile = True
    
    WritePrivateProfileString strSection, strKey, strValue, strIniFile

    Exit Function

ErrorHandler:
    
    WritestrIniFile = False

End Function

Public Function stripSpaces(strInput As String) As String


Dim i As Integer

    For i = Len(strInput) To 1 Step -1
    
        If Asc(Mid(strInput, i, 1)) <> 0 Then
        
            Exit For
        
        End If
    
    Next
    
    stripSpaces = Left(strInput, i)

End Function




Module1:
Public Function exportToHTML(strPath As String) As Boolean

    exportToHTML = True

Dim oFileSystemObj As New FileSystemObject
Dim oFolder As Folder
Dim oSubFolder As Folder
Dim oFiles As Files
Dim oFile As File
Dim strnew As String
Dim firstfile As Boolean


    strPath = Left(strPath, Len(strPath) - 1)
    strPath = Right(strPath, Len(strPath) - 1)
    
    CopyHTMLIndexFilePath strPath
    WriteAndReadHtml
     
        
        Set oFolder = oFileSystemObj.GetFolder(strPath)
     
        
     For Each oSubFolder In oFolder.SubFolders
   
        
            firstfile = True
        
                For Each oFile In oSubFolder.Files
                If firstfile Then
    
                strnew = strnew & "<tr>" & _
                "<td valign = " & Chr(34) & "top" & Chr(34) & ">" & _
                oSubFolder.Name & _
                "</td>" & _
                "<td>" & _
                "" & oFile.Name & "" & _
                "</td>" & _
                "</tr>"
                firstfile = False
    
                Else
                strnew = strnew & "<tr>" & _
                "<td>" & _
                "" & _
                "</td>" & _
                "<td>" & _
                "" & oFile.Name & "" & _
                "</td>" & _
                "</tr>"
        

      End If
                Next
           
     Next
    
      Edithtml strnew, strPath
End Function

Private Function CopyHTMLIndexFilePath(ByVal strPath As String)
Dim oFileSystemObj As New FileSystemObject
Dim strHTMLIndexFilePath As String

strHTMLIndexFilePath = "C:\Jesper\Kod\index.html"

strPath = strPath & Dir(strHTMLIndexFilePath)
 
FileCopy strHTMLIndexFilePath, strPath




End Function

Private Function WriteAndReadHtml()

strPath = "C:\Jesper\Filstruktur ex\"

End Function

Private Function Edithtml(strnew As String, strPath As String)

' läsa fil
Dim fd2 As Integer
Dim boolFound As Boolean
Dim StrPre As String
Dim StrPost As String
Dim Strget As String
Dim strHTMLTemplate As String
Dim strIniFile As String



    strIniFile = App.Path & "\Settings.ini"
    
   
    strHTMLTemplate = ReadIniFile(strIniFile, "Settings", "HTMLTemplate", "")

fd2 = FreeFile

Open strHTMLTemplate For Input As fd2
    boolFound = False
    
Do Until EOF(fd2)
    Input #fd2, Strget
    
    If Strget = "<!--apa -->" Then
        
        boolFound = True
    Else
        If boolFound = False Then
            StrPre = StrPre & vbCrLf & Strget
        Else
            StrPost = StrPost & vbCrLf & Strget
        End If
    End If
  
Loop
   
Close #fd2


strnew = strnew


If Right(strPath, 1) = "\" Then strPath = Left(strPath, Len(strPath) - 1)
strPath = Left(strPath, InStrRev(strPath, "\") - 1)



fd2 = FreeFile

Open strPath & "\index.html" For Output As fd2
    
    Print #fd2, StrPre
    Print #fd2, strnew
    Print #fd2, StrPost

  Close #fd2
  
End Function



Edit:

om nån undrar så har jag gjort en genväg till exe filen i högerklicks menyn skicka till.. därifrån kommer sökvägen till strpath

Edit2:
glömde settings.ini filen

[Settings]
HTMLTemplate = "C:\Jesper\kod\index.html"


Svara

Sv: ett litet problem kvar

Postades av 2005-04-07 12:57:11 - Per Hultqvist

Command returnerar väl även exe-filens namn men det verkar som om du bara vill ha sökvägen till platsen där exe-filen ligger. Använd i sådana fall App.Path i stället för Command(). Command() kommer dessutom att inkludera eventuella commandline parametrar.


Svara

Sv:ett litet problem kvar

Postades av 2005-04-07 13:12:45 - Jesper Rosdahl

jag löste de precis.. det var för enkelt.. command() returnerar inget slashtecken i slutet så jag fick lägga till ett själv i strängen..
men hur skriver man en if sats eller liknande för att kolla om det finns ett slashtecken eller inte.. är tvungen att göra nåt sånt för i andra program kanske command returnerar ett slashtecken..


Svara

Sv: ett litet problem kvar

Postades av 2005-04-07 13:52:12 - Jesper Rosdahl

hittade ett till fel.. om jag högerklickar på andra mappar fungerar det bara om mappnamnet man tryckt på innehåller mellanslag i sig.. tex "filstruktur ex"
annars om det inte finns ett mellanslag med i mappnamnet så blir tex "WINDOWS" istället "WINDOW"
varför blir det så =S


Svara

Sv:ett litet problem kvar

Postades av 2005-04-07 14:26:42 - Jesper Rosdahl

hittade felet på det med men jag vet inte hur jag ska fixa det..
det är

strPath = Left(strPath, Len(strPath) - 1)
strPath = Right(strPath, Len(strPath) - 1)

som tar bort sista bostaven..
men varför försvinner dubbelfnuttarna när man kör de på en mapp utan mellanslag i sig =S


Svara

Sv: ett litet problem kvar

Postades av 2005-04-07 15:00:56 - Jesper Rosdahl

jag löste det genom att skriva:

If Left(strPath, 1) = Chr(34) Then
    strPath = Left(strPath, Len(strPath) - 1)
    strPath = Right(strPath, Len(strPath) - 1)
   
    End If 


finns det något bättre sätt?


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 721
27 958
271 751
5 828
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies