Hejsan Råkade stänga den för fort... Du skulle kunna använda Dir-kommandot för att hitta alla filer med namnet user@sidnamn* och sedan radera dessa. hur gör man det Har inte testat, men det här kan nog funka Bra Fredrik <b>Snyggt</b> Det fungerar perfekt.. En fråga i samband med koden <b>En fråga i samband med koden 2+4 = 6, alltså den söker både systemfiler och gömda filer. Flaggor räknas ihop med den boolska ELLER-operationen. Bättre att skriva ATTR_HIDDEN or ATTR_SYSTEM, då förstår man det. <b>2+4 = 6, alltså den söker både systemfiler och gömda filer.</b> Lille Sven, jag tycker programmet skall gå attt köra för fler än en användare utan att man behöver kompilera om dem. <b>Lille Sven</b> LOL Hear Hear , Sven (66) 190 lång 96 kg fd. boxare ;-) Innan du öppnar munnen och skricker "bullshit", vilke för övrigt verkar var din starka sida. Och som vanligt skriver du som "kratta" > Och som vanligt skriver du som "kratta"radera cookis
Hur skriver jag i vb6 ifall jag skulle vilja
radera cookis
Jag ska inte radera alla utan bara ett fåtal.
jag får problem med inloggning mot en sida så då får jag manuellt radera dom cookis från sidan för att kunna logga in.
funderar att skriva ett program som gör detta, men har ingen ide hur man raderar filer i vbSv: radera cookis
problemet är att cookisen bli
user@sidnamn[1] o.s.v
hur löserman detta med [siffra]. då dessa kan ändrasSv:radera cookis
/JohanSv: radera cookis
Jag använder
<code>
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.Deletefile ("C:\Documents and Settings\user\Cookies\user@www.sida.txt")
</code>
problemet blir att man får [siffra] mellan sida.txt vilket inte gör att ovanstående blir rätt
det kan vara
user@www.sida[1].txt , user@www.sida[2].txt o.s.v
då jag jobbar ofta mot sidan så är det lite jobbigt att söka rätt på cookisen och radera varje gång
jag ska logga in på sidan.Sv:radera cookis
<code>
Dim dirList As String
Dim path As String
Dim filePattern As String
path = "C:\Documents and Settings\user\Cookies\"
filePattern = "*www.sida*"
dirList = Dir(path & filePattern, 6)
Do While dirList <> ""
Kill path & dirList
dirList = Dir
Loop
</code>Sv: radera cookis
Så skall FSO-nissarna tas.
För ordningens skull så skulle jag lägga in ett
<code>
On Error Resume Next
</code>
Kill har väldigt lätt för att generera ErrorSv: radera cookis
Tackar..
Hadde det funnis ett betygsätt skulle detta få högsta betyg :)Sv:radera cookis
Vad står 6 : an för ?
<code>
dirList = Dir(path & filePattern, 6)
</code>Sv: radera cookis
Vad står 6 : an för ?</b>
Hehe, jadu.. det var en väldigt bra fråga :)
Öppnade bara ett gammalt projekt där jag visste att Dir fanns, och då var det så ;)
Hittade följande hos microsoft, men det hjälper ju inte:
<code>
Const ATTR_NORMAL = 0
Const ATTR_READONLY = 1
Const ATTR_HIDDEN = 2
Const ATTR_SYSTEM = 4
Const ATTR_VOLUME = 8
Const ATTR_DIRECTORY = 16
Const ATTR_ARCHIVE = 32
</code>
Den som har svaret får gärna berätta vad det är för konstigt exempel jag har hittat på :)Sv:radera cookis
Sv: radera cookis
Private Const MAX_PATH As Long = 260
Private Const CSIDL_COOKIES As Long = &H21
Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwnd As Long, ByVal pszPath As String, ByVal csidl As Long, ByVal fCreate As Long) As Long
Public Function CookiePath() As String
Dim pszPath As String
Dim lReturn As Long
pszPath = String(MAX_PATH, 0)
lReturn = SHGetSpecialFolderPath(0, pszPath, CSIDL_COOKIES, False)
If lReturn = 1 Then
CookiePath = Left(pszPath, InStr(1, pszPath, vbNullChar) - 1)
End If
End Function
Public Sub DeleteFiles(path As String, Pattern As String)
Dim FSO As FileSystemObject
Dim File As File
Dim Folder As Folder
Set FSO = New FileSystemObject
Set Folder = FSO.GetFolder(path)
For Each File In Folder.Files
If File.Name Like Pattern Then
File.Delete
End If
Next
End Sub
Sv:radera cookis
Så var det.Då behövs inte 6:an
<b>dirList = Dir(path & filePattern, 6)</b>
så här bör den raden se ut, "No big deal" men i allafall. Obs " $ " tecknet
<code>
dirList = Dir$(path & filePattern)
</code>
Som vanlig älskar den gode Andreas att krångla till ett exempel så mycket det går.
Imponanseffekt som inte fyller någon funktion i detta enkla problem.
20 programrader mot 9.
Klart, får man betalt efter antal rader så är det kanske bra ;-)Sv: radera cookis
Jag tycker det är dumt att hårdkoda en sökväg. Jag har därför kompleterat koden med en funktion för att ta reda på sökvägen till cookies.
Dessutom har jag kapslat deletkoden på ett generelt sätt så att den kan återanvändas.
Så en mer rättvis jämförelse med antalet rader är:
Dim dirList As String
Dim path As String
Dim filePattern As String
path = "C:\Documents and Settings\user\Cookies\"
filePattern = "*www.sida*"
dirList = Dir(path & filePattern, 6)
Do While dirList <> ""
Kill path & dirList
dirList = Dir
Loop
VS.
Dim FSO As FileSystemObject
Dim File As File
Dim Folder As Folder
Set FSO = New FileSystemObject
Set Folder = FSO.GetFolder("C:\Documents and Settings\user\Cookies\")
For Each File In Folder.Files
If File.Name Like "*www.sida*" Then
File.Delete
End If
Next
Men vänta lite nu. Är de inte lika långa?
Så ditt utalande skulle jag påstå påvisar bristande förståelse för koden.
Jag tycker dir funktionen är ett otyg. Den är ett riktigt fulhack. Den strider mot hur en funktion bör fungera. En funktion skall givet et antal parametrar retunera ett givet. Den skall vara tillståndslös(state-less).
Sv:radera cookis
När jag skrev 20 - 9 referarade jag till ditt "bullshit"
<b>Private Declare Function SHGetSpecialFolderPath</b>
Ang. Hårdkoda sökväg så har du givetvis rätt, men det var inte det som var
pointen i detta exempel, det var den enkla raka lösningen med Dir$
som är effektivt enkelt snabbt jämfört med FSO "bull"Sv: radera cookis
Kan du inte först göra en jämförelse där du sakligt framställer vad som är skit.
Då kan jag ta mig till din kritik. Annars påminer dina utalande om hur barn och fanatiker uttrycker sig.
Jag tror att du står över dessa. Även om du är lite väl konservativ.
Mitt mål när jag kodar är att skriva kod av hög kvalitet. Detta innebär att koden skall vara underhållbar. Lättläst för andra programmerare. Jag tycker jag uppnår detta med min kod.
Jag håller med dig om att dir funktionen kan vara snabbare. Men jag gillar inte dess konstruktion.
Den retunerar först strängarna "." och ".." om det inte är så att du är i rooten. Du måste först hämta ut alla filer när du skriver en rekursiv funktion. Då bara en kod kan vara använda funktionen.Sv:radera cookis
Kan ge dig upplysning om att om du tryker på <Enter> knappen
så får du radskifte och lättläst text.
Fö tycker jag att "Kartago skall förstöras"Sv: radera cookis
>
> Kan ge dig upplysning om att om du tryker på <Enter> knappen
> så får du radskifte och lättläst text.
>
> Fö tycker jag att "Kartago skall förstöras"
Får börja med att ursäkta att jag slänger mig in i diskussionen, men Andreas uttryckte sig såhär i inlägget ovanför:
>Kan du inte först göra en jämförelse där du sakligt framställer vad som är skit.
Att klaga på Andreas sätt att skriva på klassas inte som konstruktiv kritik; Andreas sätt att skriva vanlig text förklarar inte varför din kod är bättre än Andreas kod. Andreas sätt att skriva är för övrigt närmare "reglerna" för hur man skriver vanlig text än vad ditt sätt är.
Kan du inte ta och förklara varför din kod är bättre än Andreas?