Avatar billede kragsborg Nybegynder
14. november 2001 - 16:02 Der er 4 kommentarer og
2 løsninger

slet linie i txt fil og slet fil

Hej håber der er en der kan hjælpe

Jeg har lavet en log fil ved hjælp af append
for at begrænse længden af filen vil jeg når der er over 100 linier slette den første linie i filen så den aldrig bliver over 100 linier lang hvordan gør jeg det? På en knap skal det være muligt at slette hele filen hvordan gøres dette

På forhånd tak

Kragsborg
Avatar billede jelzin101 Praktikant
14. november 2001 - 16:13 #1
til det første sp.
jeg ville lave et array med 100 indgange indlæse linierne heri, slette den gamle fil, og så smide de 99 ind i en ny med samme navn.

andet spørgsmål(og delvist det første)
du sletter en fil vha. kommandoen kill filnavn
Avatar billede kragsborg Nybegynder
14. november 2001 - 16:24 #2
jeg har vidst formuleret mit andet spørsmål lidt forkert det er kun indholdet af filen der skal slettes

kan man ikke slette en bestem linie (her linie1) fra en fil uden at lave det med array som du foreslår
Avatar billede joern Nybegynder
14. november 2001 - 17:58 #3
Jeg bruger tekstfiler, - altså rene ascii-filer - som databaser, så jeg bruger ofte at slette en bestemt linie- eller rette.

Jeg bruger to filer:  Den jeg læser fra og den jeg skriver til.  Det er let at tælle antal linier i en tekstfil.  Alt under forudsætning af at det er CR + LF (ascii 13 & 10 - Enter-tasten) der adskiller linierne.

Dim linie as String
Dim a, b as Integer

Open dinsti & \"\\dinfil.txt\" for Input as #1
  Do while eof(1) = false
    Line Input #1, linie
    a = a +1
  Loop
Close #1

If a > 100 then b = 100 - a

Open dinsti & \"\\dinfil.txt\" for Input as #1
Open dinsti & \"\\dinfil.bak\" for Output as #2
  Do While EOF(1) = False
    Line Input #1, linie
    a = a + 1
    if a > b then print #2, linie
  Loop
Close #1
Close #2

FileCopy dinsti & \"\\dinfil.bak\" , dinsti & \"\\dinfil.txt\"

Du kan jo indsætte at det kun skal udføres når b > 50 eller lign.

For at slette indholdet i en fil uden at slette filen:

Open dinfil.txt for output as #1
  print #1, \"\"
close #1

M.v.h.  Jørn
Avatar billede kragsborg Nybegynder
15. november 2001 - 15:53 #4
tak for hjælpen jørn det var din løsning der kunne bruges jelzin får 10 point for hans indslag
Avatar billede kragsborg Nybegynder
15. november 2001 - 16:03 #5
undskyld jørn det var meningen du skulle have 25 point jeg ved ikke hvad der gik galt, hvordan kan jeg give dig de sidste
Avatar billede jelzin101 Praktikant
15. november 2001 - 16:30 #6
tak for pts
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

IT-JOB

Netcompany A/S

IT Consultant

Politiets Efterretningstjeneste

GenAI Specialist i PET

Capgemini Danmark A/S

AI Data Architect

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst