

Delphi6 ako rozlisit subory archivovane systemom ako starsie verzie?
Dobrý deň, stretol som sa s problémom, na ktorý som nenašiel na nete riešenie. Používam Delphi 6 a funkcia Findfirst mi vo Windows 7 vracia ako relevantný výsledok aj také súbory a priečinky, ktoré inak v priečinku nie sú a sú viditelné len po vyvolaní vlastností priečinka a aktivovaní karty Staršie verzie. V praxi sa deje to, že ak vytvorím novú verziu môjho programu, tak preinštalovaním starej verzie sa pôvodné súbory neprepíšu ale iba archivujú a nové súbory sa vytvoria popri tých starých, takže ak som mal v predošlej verzii 3 súbory s jazykovými reťazcami (czech, english, slovak) tak teraz ich mám 6. Pre užívatela sú tie tri staré neviditelné, no funkcia Findfirst resp Delphi ako také ich vidí všetky a odovzdáva ich aplikácii ako platné zdroje pre načítanie dát, čo potom vedie k pádu aplikácie. Ako teda v Delphi rozlíšiť, či súbor alebo priečinok nie je v systéme archivovaný ako staršia verzia? Skúšal som testovať atribúty archívny alebo skrytý, rovnako tak funkciu fileexists, všetko márne. Vďaka
nemas tam nahodou Win8 so zapnutym ovl.panely - historia suborov?
Ked pouzijes rovno WinAPI funkcie https://msdn.microsoft.com/en-us/library/windows/d esktop/aa364418%28v=vs.85%29.aspx tak to vraica co? Atribut pouzi FILE_ATTRIBUTE_NORMAL
Delphi ma jen zapouzdreno volani API, takze uvnitr vola standardni FindFirstFile() a vraci standardni WIN32_FIND_DATA strukturu.
Tady jej popis atributu
File_Atribute_Normal podle popisu nebude to spravne orechove.
Ale atribut bych nezatracoval. Nacetl bych si primo atributy normalniho a toho souboru ze ShadowCopy jako cislo a porovnal je.
Ale me se opravdu nestava, ze by mi FindFirst vracel soubory ze shadowcopy a to tu funkci v Delphi7 (Windows 7) pouzivam docela casto. I mí uživatelé by mi museli hlásit, že se jim zdvojují soubory.
normal je prave to co sa normalne pouziva (ma sa tam nastavovat samotny). Aspon tusim uz si to nepamatam (nevrtal som do win aplikacii uz vyse roka ci dvoch)
Podle popisu:
Ano presne to by malo najst neskryte, ne directory, nearchivovane (to treba skusit neviem zhlavy ci to reaguje na A atribut)
P.S: ked da namiesto atributov 0, tak to najde uplne vsetky subory. Moze skusit aj to, neviem co tam nastavuje.
Proto jsem psal - přečíst prostě hodnotu atributu u standardního a "předchozí verze" a porovnat.