Diskuze: Problém s GetSpaceOnDisk

Ostatní jazyky Delphi Delphi (Pascal) Problém s GetSpaceOnDisk

Avatar
harna
Člen
Avatar
harna:

Zdravím a obracím se na odborníky v Pascalu - mám speciální problém:
Když vypálím CD aniž uzavřu disk, v "Tento počítač" - "Vlastnosti" se mi objeví např. Využito 20, Volné místo 650. Příkaz GetSpaceOnDisk však bez ohledu na uzavřený nebo otevřený disk vždy vrátí Total 20, Free 0. Je nějaká šance získat v Pascalu informaci o těch 650?? Díky za odpověď Luboš

 
Odpovědět 10.3.2011 17:13
Avatar
sdraco
Tým ITnetwork
Avatar
Odpovídá na harna
sdraco:

To chceš po Freepascalu nebo po klasickém Pascalu?

Nahoru Odpovědět 10.3.2011 22:17
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
harna
Člen
Avatar
Odpovídá na David Čápka
harna:

Díky za reakci - nejlépe bude vysvětlit, že nejsem odborník (kdysi hodně dávno jsem programoval). Takže na co to potřebuji - do instalačního programu vytvořený pomocí Inno Setup Compliler (ver.5.4.0), který umožňuje vkládat procedury v Pascalu. Ovšem v jakém, nevím. Nápověda tohoto programu odkazuje, pokud jde o Pscal, na www.remobjects.com/ps. Díky za případnou pomoc. Luboš

 
Nahoru Odpovědět 11.3.2011 16:46
Avatar
sdraco
Tým ITnetwork
Avatar
Odpovídá na harna
sdraco:

InnoSetup není v žádném případě Pascal, pouze obsahuje vnitřní skriptovací jazyk, který má podobnou syntaxi jako Pascal, ale kromě toho jak vypadá zvenku s ním vnitřně nemá vůbec nic společného. Ani sebelepší znalec Pascalu ti s tímhle neporadí. Musíš se dotázat přímo autora programu, jak to má udělané, dotazy na InnoSetup se píší přes tuto stránku: http://news.jrsoftware.org/read/thread.php?… Nahoře máš Post, tím pošleš nový dotaz.

Nahoru Odpovědět 11.3.2011 21:21
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
vrtulex
Redaktor
Avatar
Odpovídá na harna
vrtulex:

Zdravím,

tady to asi bude záležet na tom, jak je volání GetSpaceOnDisk implementováno. Pokud je to pomocí funkce Windows API GetDiskFreeSpaceEx, tak ti to vždy v takových případech bude vracet nulu. V nápovědě k této funkci píšou:

The GetDiskFreeSpaceEx function returns zero (0) for lpTotalNumberOf­FreeBytes and lpFreeBytesAva­ilable for all CD requests unless the disk is an unwritten CD in a CD-RW drive.

Ale teď nemůžu najít, jakým způsobem tu informaci zjišťuje systém v Tento počítač.

Nahoru Odpovědět 13.3.2011 13:26
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.