Avatar billede secher35 Nybegynder
16. september 2008 - 08:19 Der er 5 kommentarer og
2 løsninger

Asp form til txt fil

Hej

Nu har jeg søgt nettet igennem og syndes ikke lige jeg kan finde et svar på mit problem, så håber i kan hjælpe mig.

Jeg skal have alle felterne i denne form:
http://www.secher.me.uk/array/tekst.asp

Over i denne .txt fil som vist her:
http://www.secher.me.uk/array/indhold.txt
Hver gang det trykkes "Opret" skal den bare tilføje informationerne i en ekstra linie. :)

Håber der er nogen der ved hvordan man gør dette eller har nogle links jeg kan læse mig igennem. :)

På forhånd Mange tak.

Mvh. René Secher
Avatar billede fennec Nybegynder
16. september 2008 - 08:22 #1
File System Object (fso), også brug OpenTextFile metoden:
http://msdn.microsoft.com/en-us/library/314cz14s(VS.85).aspx
Avatar billede fennec Nybegynder
16. september 2008 - 08:26 #2
So du kan se kan den åbne filer "ForAppending" så den skriver sidst i filen:

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\mappe\testfile.txt", ForAppending, True)
f.WriteLine "konto;navn;adresse1;adresse2;postnr;by;besked;montør1;montør2"
f.Close
Avatar billede softspot Forsker
16. september 2008 - 09:03 #3
En mere generisk metode:

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f, cnt
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\mappe\testfile.txt", ForAppending, True)
cnt = 0
for each fld in request.form
  if cnt > 0 then f.write ";"
  f.write request.form(fld)
  cnt = cnt + 1
next
f.WriteLine
f.Close


Du kunne også lave en funktion som tager en liste af felter der skal skrives:

function writeForm(filename, fieldlist)
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  dim fso, f, cnt
  dim rx
 
  set rx = new RegExp
  rx.global = true
  rx.ignorecase = true
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile(filename, ForAppending, True)
  cnt = 0
  for each fld in request.form
    rx.pattern = "(?:^|\;)" & fld & "(?=$|\;)"
    if rx.test(fieldlist) then
      ' hvis feltet findes i feltlisten, så skal det skrives...
      if cnt > 0 then f.write ";"
      f.write request.form(fld)
      cnt = cnt + 1
    end if
  next
  f.WriteLine
  f.Close
end function

writeForm "c:\mappe\testfile.txt","konto;navn;adresse1;adresse2;postnr;by;besked;montør1;montør2"
Avatar billede secher35 Nybegynder
16. september 2008 - 09:43 #4
Hvor er det bare fantastisk. så hurtig svar havde jeg ikke regnet med. :)
Hvis i begge smider et svar så deler jeg lige points mellem jer for fennec har givet mig et godt indblik med hans link og softspot en copy/paste fungerende model. :)
Avatar billede softspot Forsker
16. september 2008 - 09:49 #5
Velbekomme :)
Avatar billede fennec Nybegynder
16. september 2008 - 10:01 #6
.o) <-- One Eyed Jack
Avatar billede softspot Forsker
16. september 2008 - 10:19 #7
Tak for point :)
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
Kurser inden for grundlæggende programmering

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