FSO och Textstream är vad du behöver.
Jag tolkar din fråga som att du inte har problem att skapa en ny textfil, utan endast att läsa den, men jag tipsar om FSO också.
Jo.. men alltså.
Jag kan läsa varje rad utan problem och skriva ut texten utan problem. Men nu vill jag ju bara från "hostname "Nisses spelservice" " endast skriva ut "Nisses spelservice".
1. Varför skriver du in "hostname " i filen? Om ej behövs, är det klart från början.
2. Replace(raden,"hostname ",""), dvs leta upp hostname, ersätt med inget.
3. Finns den sista (och första) " också, gör Replace(Replace(raden,"hostname ",""),chr(34), "")
4. Man kan använda ett RegExp som söker efter fnuttarna, och returnerar värdet emellan.
1. Varför skriver du in "Hostname " i filen? Om ej behövs, är det klart från början.
Hostname behövs i en config fil. Jag gissar att han vill använda det någon annanstans...
Eller är det så att du vill kunna ändra saker i config filen från en webbsida?
I så fall skulle jag gjort så här:
1. Ha en templateconfig.cfg som du utgår ifrån varje gång du ska göra en ändring.
2. I den finns hostname "[HOSTNAME]"
3. Gör en replace på [HOSTNAME] till det du vill ha.
4. Spara som config.cfg
Mycket enklare än att hålla på och förksa tolka config-filer. :)
Kunde inte hindra mig själv från att göra två funktioner för config-filer. Den första hämtar ett värde ur configen (config-texten får man skicka in). Den andra byter ut ett värde i configen.
Function GetConfigCommandValue(ByVal sConfig, ByVal sCommandName)
Dim objRegExp, mc
Set objRegExp = New RegExp
objRegExp.IgnoreCase = True
objRegExp.Pattern = sCommandName & " ""(.*)"""
Set mc = objRegExp.Execute(sConfig)
Set objRegExp = Nothing
If mc.Count Then
GetConfigCommandValue = mc.Item(0).SubMatches(0)
End If
Set mc = Nothing
End Function
Response.Write GetConfigCommandValue("sv_cheats 0" & vbCrLf & "hostname ""SK Warserver""" & vbCrLf & "...", "hostname")
Function ReplaceConfigCommandValue(ByVal sConfig, ByVal sCommandName, ByVal sNewValue)
Dim objRegExp, mc, mi
Set objRegExp = New RegExp
objRegExp.IgnoreCase = True
objRegExp.Pattern = "(" & sCommandName & ") "".*"""
ReplaceConfigCommandValue = objRegExp.Replace(sConfig, "$1 """ & sNewValue & """")
Set objRegExp = Nothing
End Function
Response.Write ReplaceConfigCommandValue("sv_cheats 0" & vbCrLf & "hostname ""SK Warserver""" & vbCrLf & "...", "hostname", "EYE Warserver")
Dessa förutsätter dock att man angett värdet med citat-tecken...