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 / Artiklar / Titel på artikeln

Filhantering - olika metoder för textfilsarbete

Postad 2002-07-08 av Staffan Berg i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 5707, Betyg: 81%

Förord

Denna artikel demonstrerar hur du kan använda textfiler för att lagra information. Andra tekniker demonsteras också såsom att döpa om filer, ta bort filer, kontrollera om filen existerar etc.
Innehåll
  » Introduktion
  » Döpa om en fil
  » Kontrollera om en fil finns
  » Kontrollera storleken på en fil
  » Läsa in textfil till en textruta
  » Läsa in en textfil radvis till en array
  » Läsa in en textfil radvis till en listruta
  » Läsa in valfritt tecken från en textfil
  » Spara innehållet i en array() till en fil
  » Spara innehållet i en listruta till en fil
  » Spara innehållet i en textruta till en fil
  » Spara innehållet i en textruta i slutet en fil
  » Radera en fil


Introduktion

Ofta inträffar det väl för de flesta programmerare att man vill ha någonstans att lagra information. När det gäller stora datamängder väljer säkert de flesta att lagra information i databaser. När man använder databaser så får man på köpet möjligheten att sortera ut och analysera lagrade data på ett kraftfullt sätt, inte sällan med hjälp av frågespråket SQL.

En annan metod är att använda Windows-registret som lagringsplats. Detta register erbjuder ett snabbt och smidigt sätt att lagra information men är inte lämpligt för stora datamängder. Registret är däremot en lämplig plats att lagra inställningar för program och mindre mängder data,

Ett tredje alternativ för datalagring är att använda textfiler. I textfiler kan man, precis som databaser, lagra stora datavolymer men man har då inte möjligheten att ställa frågor och heller inte samma möjligheter för sortering och analys. Ofta kan man dock lösa detta på programmatisk väg eller genom att använda lämpliga ActiveX-kontroller.

I denna artikel kommer jag att visa några användbara exempel för filhantering medelst textfiler.



Döpa om en fil

Vi börjar med att demonstrera ett exempel för att döpa om en fil. Nedanstående kodexempel döper om en fil om det finns någon i aktuell katalog.


If Dir(NyttFilNamn) <> "" Then
Exit Sub
ElseIf (GammaltFilNamn) <> "" Then
Name GammaltFilNamn As NyttFilNamn
End If



Kontrollera om en fil finns

För att undvika fel kan det vara nödvändigt att förvissa sig om att en utsedd fil existerar. Använd följande kodslinga för detta.


If Dir(Filnamn) <> "" Then
MsgBox "Filen existerar!!!"
End If



Kontrollera storleken på en fil

Det kan förekomma tillfällen då man behöver veta filens storlek.


Filelength = FileLen(Filnamn)
MsgBox filelength



Läsa in textfil till en textruta

Ett vanligt förekommande programmeringssätt är att läsa in innehållet i en textfil och sedan presentera det någonstans på ett formulär. I nedanstående exempel används en textruta för att visa innehållet i textfilen test.txt.


Dim f As Integer, FileName As String
FileName = App.Path & "\test.txt"

f = FreeFile
If Dir(FileName) <> "" Then
Open FileName For Input As f
Text1.Text = Input(LOF(f), f)
Close f
End If



Läsa in en textfil radvis till en array

Det kan också vara användbart att lägga in texten i textfilen radvis till en array. Denna kod utför just denna metod.


Dim f As Integer, i As Integer
Dim FileName As String, ArrayName$()

FileName = App.Path & "\arraytest.txt"

f = FreeFile
i = 0
If Dir(FileName) <> "" Then
Open FileName For Input As f
Do While Not EOF(f)
If i Mod 10 = 0 Then ReDim Preserve ArrayName$(i + 10)
Line Input #f, ArrayName(i)
i = i + 1
Loop
Close f
End If



Läsa in en textfil radvis till en listruta

En ofta använd kontroll som används i formulär är listrutor. För att läsa in innehållet till en sådan från en textfil kan du använda detta kodexempel.


Dim f As Integer, i As Integer
Dim FileName As String, TestStr As String

FileName = App.Path & "\test.txt"

f = FreeFile
i = 0
If Dir(FileName) <> "" Then
Open FileName For Input As f
Do While Not EOF(f)
Line Input #f, TestStr
List1.AddItem TestStr
Loop
Close f
End If



Läsa in valfritt tecken från en textfil

Det är inte alltid man vill läsa in hela textfilen i ett enda svep, eller ens en hel rad. Visual Basic erbjuder programmeraren att hämta tecken från en textfil på detaljnivå.
I exemplet nedan öppnas en textfil binärt för att läsa in valfria tecken.


Dim f As Integer, pos As Byte
Dim ByteStr As String, FileName As String

FileName = App.Path & "\test.txt"
pos = 1 'Läser första tecknet i filen
ByteStr = Space$(1) 'skapar plats för ett tecken.
' Öka för att läsa in flera...

f = FreeFile
i = 0

If Dir(FileName) <> "" Then
Open FileName For Binary As f
Get f, pos, ByteStr
Close f
End If

MsgBox ByteStr





Spara innehållet i en array() till en fil

Används nedanstående kodslinga för att spara ned en array till en textfil.


Dim f As Integer, FileName As String
Dim i As Integer, ArrayName As Variant

ArrayName = Array(10, 20, 30, 120, 500)
FileName = App.Path & "\test.txt"
f = FreeFile
i = 0

Open FileName For Output As f
For i = 0 To UBound(ArrayName)
Print #f, ArrayName(i)

Next i
Close f



Spara innehållet i en listruta till en fil

Detta exemplet visar hur du sparar ned innehållet i en listruta till en textfil.


Dim f As Integer, FileName As String
Dim i As Integer

FileName = App.Path & "\test.txt"
f = FreeFile
i = 0

Open FileName For Output As f
For i = 0 To List1.ListCount - 1
Print #f, List1.List(i)
Next i
Close f



Spara innehållet i en textruta till en fil

Här följer en kodslinga för att spara innehållet i en textruta till en textfil.


Dim f As Integer, FileName As String
Dim i As Integer

FileName = App.Path & "\test.txt"
f = FreeFile
i = 0

If Len(Text1.Text) > 0 Then
Open FileName For Output As f
Print #f, Text1.Text
Close f
End If



Spara innehållet i en textruta i slutet en fil

Detta exempel utför egentligen samma operation som i ovanstående kodexempel, men med den skillnaden att den lägger till texten i slutet av filen.


Dim f As Integer, FileName As String
Dim i As Integer

FileName = App.Path & "\test.txt"
f = FreeFile
i = 0

If Len(Text1.Text) > 0 Then
Open FileName For Append As f
Print #f, Text1.Text
Close f
End If




Radera en fil

Till sist ett exempel för att radera en fil.


Dim FileName As String

FileName = App.Path & "\test.txt"
If Dir(FileName) <> "" Then Kill FileName


/Staffan Berg
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 153
27 952
271 704
1 038
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