Avatar billede rohde Nybegynder
16. marts 2005 - 13:19 Der er 7 kommentarer og
1 løsning

Slette fil uden at slette

Problem stilling: Et program står med interval og læser fra en *.txt fil. Hvis der er noget i *.txt filen læser programmet dette og sletter derefter indholdet hvis der ikke er noget i filen venter den bare et stykke tid og spørg igen.

Mit problem er at jeg ikke kan få information ud af det program der står og læser i denne *.txt fil og jeg ved derfor ikke om der er i gang med at indlæse eller ej.
Det er muligt at skrive og læse og rette i filen mens programmet står og læser fra filen men ikke slette.

Som jeg ser det er min mulighed for at tjekke om der bliver læst i filen at forspørge om jeg må slette den. Men kan dette lade sig gøre da jeg jo ryger ind i situationen at filen er fyldt med data men endnu ikke blevet læst og filen bliver da slettet.
Avatar billede joern Nybegynder
16. marts 2005 - 13:40 #1
Hej.

Du beskriver udmærket din problemstilling, men det er måske ikke den mest elegante måde at udføre det på, som er formålet.

Det er klart at dit VB-program skal køre hele tiden, og jeg går ud fra at det er et andet program, der opretter denne tekstfil.  Hvis nu det andet program opretter den, uden at den er blevet læst, så går det forrige indhold jo tabt.
Ved du hvor ofte filen kan blive oprettet?

Eller opretter det andet program ikke filen, men tilføjer til den?

Hvis filen lige skulle være i brug, når dit VB-program forsøger at læse, kan du med en Error handling få dit program til at forsøge igen umiddelbart efter.

Det er uklart for mig om du ønsker at slette filen når du har læst, eller du blot ønsker at tømme den, så den har størelse nul.

M.v.h. Jørn
Avatar billede rohde Nybegynder
16. marts 2005 - 14:00 #2
Hej Jørn
Jeg ved det ikke er den optimale løsning og jeg sidder og krumme tæer,
men jeg skal bare frem til et eller andet i denne uge så jeg kæmper :-)

Det program der læser filen sletter filen nær den har "tømt"/læst den.
Det program der skriver til filen opretter selv en ny fil og fylder denne med data.
Den der skriver kan ikke skrive hvis der står en fil i forvejen dette er programmeret ind i det program der skriver med "fileexist".
Der kan opstå en situation hvor der både skrives og læses på samme tid. Men det lever vi med :-)
Mit problem er at jeg ikke må lukke det program der læser hvis dette er i gang med at hente data fra *.txt filen.
At skrive tager ingen tid og er derfor ikke så kritisk men læse tager "lang" tid.
Avatar billede rohde Nybegynder
16. marts 2005 - 14:19 #3
Hej Jørn
Jeg tror jeg har fundet en løsning med at lade det program der skriver, skrive ned i en folder og den der læser læse fra en anden. Derved kan jeg tjekke om der er en fil i den mappe hvor der læse fra. Jeg får så et script til at kopier fra læse folder fil skrive folder.
Avatar billede joern Nybegynder
16. marts 2005 - 14:32 #4
Hej.

Et script?  VB kan kopiere:

filecopy "sti_1" & "\filename.txt", "sti_1" & "\filename.txt"

Det er vel ikke en VBA-sag?  Du er i VB-konferencen.

M.v.h. Jørn
Avatar billede rohde Nybegynder
16. marts 2005 - 16:18 #5
Jeg har løst problemet tak for hjælpen :-)
Jeg kan ikke give dig point. Kan du ikke lige svarer istedet for at kommenter så du kan få point.
På forhånd tak
Hilsen Thomas
Avatar billede joern Nybegynder
16. marts 2005 - 17:17 #6
Hej.

Hvis konversationen har inspireret dig, synes jeg det er fint.  Point behøver jeg ikke. Men nu svarer jeg dig så kan du få lov at vælge - om du vil tage point tilbage.

M.v.h.  Jørn
Avatar billede rohde Nybegynder
18. marts 2005 - 16:48 #7
Hej
Ja nogen gange skal man lige ha en der stiller de rigtige modspøgsmål, så jeg takker for de gode modspørgsmål. :-) Go weekend
Har været hos kunden i dag og det virker. Kanon
Avatar billede joern Nybegynder
18. marts 2005 - 17:02 #8
Hej.

Lykken er når det lykkes.  Tak for point og i lige måde.

M.v.h. Jørn
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