Avatar billede --hcf--baz_zerg Nybegynder
14. april 2003 - 23:23 Der er 8 kommentarer og
1 løsning

Kraering af log fil

Sidder og er ved at lave et lille program, som skal kunne overvåge temperaturen i en computer, og dertil vil jeg gerne have lavet en log fil, men jeg kan ikke lige få den til at virke som jeg gerne vil, og min lærer er ikke meget bevendt, så han kan ikke hjælpe. Det skal ikke være alt muligt smart database halløj, for det fatter jeg sku nok ikke så meget af alligevel.

Havde regnet med at oplysningerne skulle gemmes i en *.*txt fil. Hvor de bliver listet op efter hånden. Den skulle se nogenlunde sådan ud:

14.02.2003 ; 23.11.50 ; CPU: 49°C ; System: 30°C
14.02.2003 ; 23.11.45 ; CPU: 49°C ; System: 30°C
14.02.2003 ; 23.11.40 ; CPU: 49°C ; System: 30°C
14.02.2003 ; 23.11.35 ; CPU: 49°C ; System: 30°C

Hvor den nyeste værdi bliver placeret øverst. Den skal så, når der er indskrevet x antal målinger begynde at slette den nederste linie, så der f.eks. max er 100 målinger i dokumentet af gangen. Denne værdi skal kunne ændres.

Det var vist nogenlunde det der skal ske. Vær venlig at benytte ’kommentar under vejs, så jeg har en chance for at finde ud af hvad der laver hvad, da jeg ikke er særlig godt til programmering endnu.

Forslag til løsninger kan smides her eller på mail: hennie@uv.randersts.dk  som både tekst eller som VB filer (Hvis det sendes som filer fortrækker jeg at de er pakkede i enten ZIP, RAR eller ACE)

Håber nogen kan hjælpe
Avatar billede martin_moth Mester
15. april 2003 - 09:35 #1
Læse/skrive til en fil: http://www.eksperten.dk/spm/252223
Det er vel det du spørger om?

Hvis du kun vil tilføje til en eksisterende fil, så åben den For Append i stedet for For Onput/Output

Der er ca. 1.000.000 besvarede spørgsmål om skrivning/læsning af filer her på Eksperten, og er det ikke nok, kan du kikke påmsdn.microsoft.com, fx. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vastmopen.asp :o)
Avatar billede --hcf--baz_zerg Nybegynder
15. april 2003 - 11:33 #2
Ja, men Apend tilføjer tekst på den nederste linie. Jeg vil gerne have den til at placere den nye tekst på den øverste linie, så når man åbner den, fpr man den nyestmålte værdi først.

Derefter ønsker jeg at slette en bestem linie, som jeg selv kan bestemme hva nummer er, så filen max indeholder F.eks. 100 linier (målinger).
Avatar billede martin_moth Mester
15. april 2003 - 11:47 #3
Så overvej en database (http://www.eksperten.dk/spm/311163)

Ellers:

Overvej evt. at bruge random access files, hvori du kan indlæse records - smart! Så kan du nappe lige den record fra din fil du ønsker, uden at skulle læse de første 1000 linier hvis du skal have fat i linie 1001

Åbne en typebestemt fil:
  Open Filnavn for RANDOM as filnummer Len=Recordlen)

Læse records til en variabel "Minvariabel" fra en typebestemt fil:
  Get #Filnummer, aktuelrecord, Minvariabel

Skrive records:
  Som at læse, skriv Put i stedet for Get

Mere om Rancom Access File (i modsætning til sekventielle filer):

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconusingrandomfileaccess.asp

Hvis du hverken vil bruge databaser eller random access files, er der vist ikke andet end at læse filens linier ind i et array een for een, ændre/tilføje i arrayet og så skrive dem igen - det er (næsten) vist i mit første link i mit første svar, hvor der dog læses til stringvariabler. Her kan du bare læse til et array, som du lige redimmer forinden...Forstår du hvad jeg mener?
Avatar billede martin_moth Mester
15. april 2003 - 11:48 #4
Efter få overvejelser: Random Acces Files er vejen frem for dig, synes jeg :o)
Avatar billede martin_moth Mester
16. april 2003 - 11:20 #5
Hvis du blot vil appende til TOPPEN af en fil, gøres det simpelt med følgende kode:

  Open "C:\MinFil.txt" For Input As #1
    strContent = Input(Lof(1), 1)
  Close #1

  Open "C:\MinFil.txt" For Output As #1
    Print #1, "Denne linie tilføjes" & vbCrLf & strContent
  Close #1
Avatar billede --hcf--baz_zerg Nybegynder
16. april 2003 - 13:00 #6
Takker mange gange for hjælpen.

Tror godt jeg kan finde ud af resten nu. Det skulle da lige være om du kunne hjælpe mig med at udfylde de forskellige variabler i udtrykket til Random Access, da jeg gætter på at det kan bruges til at slette en bestemt linie bagefter.

Denne:
Åbne en typebestemt fil:
  Open Filnavn for RANDOM as filnummer Len=Recordlen)

Læse records til en variabel "Minvariabel" fra en typebestemt fil:
  Get #Filnummer, aktuelrecord, Minvariabel

PS. Du har fået dine point.
Avatar billede --hcf--baz_zerg Nybegynder
16. april 2003 - 13:01 #7
Det jeg er lidt i tvivl om er, hvad jeg skal skrive på Len=Recordlen, aktuelrecord og Minvariabel.
Avatar billede martin_moth Mester
16. april 2003 - 14:03 #8
Jeg kan stærkt anbefale msdn, når du ellers ved havd du skal vide noget om - og det ved du jo, nemlig Random Access files:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconusingrandomfileaccess.asp
Skal på påskeferie NU, sååå - good luck :o)
Avatar billede --hcf--baz_zerg Nybegynder
16. april 2003 - 14:23 #9
Takker. Du må jo have en god ferie.
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