Prosta datoteka (delovni zvezek)

Pomoč pri izdelavi makrov
Odgovori
Buba
Prispevkov: 85
Pridružen: Sr Mar 12, 2008 11:49 am
Kraj: Maribor

Prosta datoteka (delovni zvezek)

Odgovor Napisal/-a Buba »

Pozdravljeni!

Želim kopirat delovni zvezek v katerega nek drug program vpisuje podatke. Podatki se vpisujejejo vsako uro oz. pol ure odvisno od parametrov, ki jih ima "drug" program. Kako naj vem, kdaj naj kopiram datoteko?

Lep dan!
Buba
admin
Site Admin
Prispevkov: 3688
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Prosta datoteka (delovni zvezek)

Odgovor Napisal/-a admin »

Takrat, ko drugi proces piše v omenjeno datoteko, slednjo odpre in zatorej je ne morete odpreti vi. To je pravzaprav edini indikator, da nekdo drug uporablja datoteko. Postopek je torej sledeč.
  1. Poskusite odpreti datoteko. Če vam ne uspe odnehajte (očitno jo "odpira" tisti drugi program)
  2. Če ste datoteko uspeli odpreti jo preprosto posnamite na drugo mesto (SaveAs) in ne kopirajte.
  3. Zaprite datoteko.
Moram pa vam svetovati, da bi bilo mnogo bolje spremeniti delovni proces, saj boste sicer vedno naleteli na kakšne probleme. Najbolje je, da procese preprosto ločite. Tisti "drugi" program naj ne piše v datoteko temveč v njeno kopijo ali pa v navadno tekstovno datoteko in potem vi ali nek drug proces uvažajte te podatke na zahtevo.

Še preprostejša pa je rešitev, kjer vsak proces:
  1. Preveri ali na disku obstaja datoteka 'zaklenjeno.txt'
  2. Ustvari datoteko 'zaklenjeno.txt'
  3. Naredi kar mora narediti
  4. Pobriše datoteko 'zaklenjeno.txt'
Naredite si torej preprost semafor. To je trivialno preprost in zagotovo delujoč proces.
lp,
Matjaž Prtenjak
Administrator
Odgovori