Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

progressbar kako znati duzinu procesa?

[es] :: Pascal / Delphi / Kylix :: progressbar kako znati duzinu procesa?

[ Pregleda: 3950 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dialup.neobee.net.



Profil

icon progressbar kako znati duzinu procesa?07.01.2006. u 17:15 - pre 221 meseci
Potrebno je da pomocu progres bara graficki prikazem koliko je vremena ostalo dok se ne zavrsi skeniranje nekog cd-a ili dvd-a. kAKO CU ZNATI KOLIKO JE VREMENA UOPSTE OSTALO DO KRAJA NEKAKVOG PROCESA?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: progressbar kako znati duzinu procesa?07.01.2006. u 19:43 - pre 221 meseci
Niko ne moze da ti kaze koliko je vremena ostalo do kraja nekog postupka To samo ti znas.

Ako sabiras 10 brojeva onda znas da imas deset brojeva i mozes da ispises koliko si ih do sad sabrao, koliko je ostalo, koliko je procenata zavrseno, da, na osnovu vremena koje je trebalo da se saberu brojevi koje si vec obradio, prikazes jos koliko je vremena ostalo i slicno.

Ako kopiras fajl... znas da je fajl velicine, recimo, 700Mb... ovde ne sabiras brojeve nego kopiras podatke... ispises koliko si kopirao, koliko je ostalo, koliko je procenata zavrseno, itd...
 
Odgovor na temu

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dialup.neobee.net.



Profil

icon Re: progressbar kako znati duzinu procesa?08.01.2006. u 18:22 - pre 221 meseci
OK, ali meni je potrebno da procitam sve podatke o fajlovima na cd/dvd-u da bi znao koliko ih ima pa da odredim polozaj na trackbaru, a ja to znam tek kad izbrojim fajlove(koristim findfirts, findnext, findclose), a meni je podatak o broju fajova na cd-u potreban na pocetku samog brojanja.

mozda neko zna neku funkciju koja nam govori broj fajlova na nekom direktorijumu?
 
Odgovor na temu

GyG@
Srbija

Član broj: 44714
Poruke: 50
*.174.eunet.yu.



Profil

icon Re: progressbar kako znati duzinu procesa?08.01.2006. u 19:56 - pre 221 meseci
Citat:
Bojann: OK, ali meni je potrebno da procitam sve podatke o fajlovima na cd/dvd-u da bi znao koliko ih ima pa da odredim polozaj na trackbaru, a ja to znam tek kad izbrojim fajlove(koristim findfirts, findnext, findclose), a meni je podatak o broju fajova na cd-u potreban na pocetku samog brojanja.

mozda neko zna neku funkciju koja nam govori broj fajlova na nekom direktorijumu?


Ubaci komponentu TFileListBox i koristi funkciju FileListBox1.Count
 
Odgovor na temu

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dialup.neobee.net.



Profil

icon Re: progressbar kako znati duzinu procesa?08.01.2006. u 20:31 - pre 221 meseci
Da, ali meni treba da prebrojava i fajlove u subfolderima
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: progressbar kako znati duzinu procesa?08.01.2006. u 22:49 - pre 221 meseci
Takva funkcija ne postoji. Verovatno si primetio da kad obelezis neki folder sa puno podfoldera i fajlova i uradis copy + paste ili delete explorer kaze "Preparing to Copy/Delete". To je zato sto mora da prodje kroz sve fajlove, da ih izbroji/odredi velicinu pa tek onda pocinje sa kopiranjem/brisanjem da bi mogao da prikaze progress bar.
 
Odgovor na temu

osmica
Beograd

Član broj: 38009
Poruke: 74
*.ppp-bg.sezampro.yu.

Sajt: www.imagenedthe.com


Profil

icon Re: progressbar kako znati duzinu procesa?08.01.2006. u 23:40 - pre 221 meseci
Ako sam dobro razumeo ti treba da prebrojis fajlove na tom cd-u?
Ako je to,onda malo prepravi onu funkciju sto trazi fajlove po "dubini".Dodaj jednu promenjivu koja ce se povecati svaki put kad se nadje neki fajl.
Pozzzz!
Ivan :)
 
Odgovor na temu

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dialup.neobee.net.



Profil

icon Re: progressbar kako znati duzinu procesa?09.01.2006. u 00:54 - pre 221 meseci
pa to sam i uradio, i dobijam ja na kraju procesa kolliko ima fajlova, ali mi tada taj podatak ne znaci puno jer je postupak skeniranja cd-a vec gotov, a meni je potrebno da to znam pre nego sto pocne skeniranje, da bi mogao da odredim koliki je procenat fajlova skeniran
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: progressbar kako znati duzinu procesa?09.01.2006. u 09:09 - pre 221 meseci
Kompliciras bezveze..
 
Odgovor na temu

ntojzan
Sandor II Tojzan
Becej

Član broj: 36657
Poruke: 168
*.bbtec.net.



Profil

icon Re: progressbar kako znati duzinu procesa?09.01.2006. u 12:15 - pre 221 meseci
1) pogledas koliko je prostora zauzeto na disku
2) svaki put kada naidjes na file, dodaj velicinu fajla na brojac

procenat progresa ti je:

100 * brojac / zauzet prostor
 
Odgovor na temu

Bojann
Zrenjanin

Član broj: 13255
Poruke: 217
*.dialup.neobee.net.



Profil

icon Re: progressbar kako znati duzinu procesa?09.01.2006. u 17:17 - pre 221 meseci
A kko da saznam velicinu diska?
 
Odgovor na temu

osmica
Beograd

Član broj: 38009
Poruke: 74
*.smin.sezampro.yu.

Sajt: www.imagenedthe.com


Profil

icon Re: progressbar kako znati duzinu procesa?09.01.2006. u 22:42 - pre 221 meseci
GetDiskFreeSpace
Windows.Pas

Syntax

GetDiskFreeSpace(
lpRootPathName: PChar; {a pointer to the root path string}
var lpSectorsPerCluster: DWORD; {the number of sectors per cluster}
var lpBytesPerSector: DWORD; {the number of bytes per sector}
var lpNumberOfFreeClusters: DWORD; {the number of free clusters}
var lpTotalNumberOfClusters: DWORD {the total number of clusters on the drive}
): BOOL; {returns TRUE or FALSE}

Description

The GetDiskFreeSpace function retrieves information about a drive partition. It returns all the information needed to calculate the available free space for a drive. Note that under Windows 95 prior to service release 2, this function will return incorrect values for volumes bigger than 2 gigabytes in size.

Parameters

lpRootPathName: A null-terminated string containing the root directory of the drive to query.
lpSectorsPerCluster: A variable receiving the number of sectors per cluster for the specified drive. A sector is a collection of bytes, a cluster is a collection of sectors.
lpBytesPerSector: A variable receiving the number of bytes in each sector of the drive.
lpNumberOfFreeClusters: A variable receiving the number of free clusters on the drive. Drives are used in full cluster increments. Storing a file that is smaller then one cluster will allocate the entire cluster. To get the amount of free drive space in bytes, take the number of free clusters multiplied by the number of sectors per cluster, multiplied by the number of bytes per sector as in the following formula:
FreeClusters * SectorsPerCluster * BytesPerSector = Free space in bytes
lpTotalNumberOfClusters: A variable receiving the total number of clusters on the drive. To find the total size of the drive in bytes, take the total number of clusters multiplied by the number of sectors per cluster, multiplied by the number of bytes per sector, as in the following formula:
TotalNumberOfClusters * SectorsPerCluster * BytesPerSector = Size of drive in bytes

Return Value

If the function succeeds, it returns TRUE; otherwise it returns FALSE. To get extended error information, call the GetLastError function.

Example

Listing 14-5: Retrieving the Free Disk Space

procedure TForm1.Button1Click(Sender: Tobject);
var
SectorsPerCluster, // holds the sectors per cluster
BytesPerSector, // holds the bytes per sector
FreeClusters, // holds the number of free clusters
Clusters: DWORD; // holds the total number of disk clusters
begin
{retrieve the disk space information}
if GetDiskFreeSpace('C:\',SectorsPerCluster,BytesPerSector,
FreeClusters,Clusters) then
begin
{display the disk space information}
Panel2.Caption := IntToStr(SectorsPerCluster);
Panel3.Caption := IntToStr(BytesPerSector);
Panel4.Caption := IntToStr(FreeClusters);
Panel5.Caption := IntToStr(Clusters);
Panel6.Caption := IntToStr(FreeClusters*BytesPerSector*SectorsPerCluster);
Panel7.Caption := IntToStr(Clusters*BytesPerSector*SectorsPerCluster);
end;
end;


Snadji se! :)
Ivan :)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: progressbar kako znati duzinu procesa?09.01.2006. u 22:54 - pre 221 meseci
Mislim da mu ne treba nista tako detaljno
Dovoljno ce biti:
Code:
DiskSize(X);

Gde je:
X = 0; trenutni disk
X = 1; Disk A
X = 2; Disk B
X = 3; Disk C
X = 4; Disk D
.
.
.

Ako ti treba slobodan prostor na disku koristi
Code:
DiskFree(X);

X je isto kao i kod DiskSize.

P.S.
Ovo radi samo na Win platformama.

 
Odgovor na temu

osmica
Beograd

Član broj: 38009
Poruke: 74
*.smin.sezampro.yu.

Sajt: www.imagenedthe.com


Profil

icon Re: progressbar kako znati duzinu procesa?10.01.2006. u 14:39 - pre 221 meseci
Od viska glava ne boli! :)
Ivan :)
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: progressbar kako znati duzinu procesa?

[ Pregleda: 3950 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.