Šta je novo?

Delphi - Indy problem

!rabas

Čuven
Učlanjen(a)
09.12.2003
Poruke
630
Poena
619
Dobro jutro;)
Imam neka pitanja u vezi sa Indy komponentama(verzija 9 ako ima neke veze) u Delphiju. U pitanju je komponenta TidFTP. Napravio sam neki besplatni nalog na nekom od free hosting servisa da bih ga koristio kao server. I prvi problem je sto fajl koji skinem nema istu velicinu kao i source fajl. Npr. ako skidam fajl od 117Kb, dobicu fajl od 118Kb. Kada skinem tekstualne fajlove ova razlika ne menja strukturu fajla. Ali ako skinem sliku onda je pola slike "poremeceno". Ne znam u cemu je stvar. Drugi problem je koriscenje dogadjaja ove komponente: OnWork, OnWorkBegin. Koliko sam shvatio ova dva dogadjaja prvenstveno sluze za prikazivanje napretka, sto i ja zelim da uradim. I koristim ProgressBar za ovo. Za OnWorkBegin upisem sledeci kod:
Kod:
procedure TDownLoadNewF.IdFTP1WorkBegin(Sender: TObject;
  AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
  ProgressBar1.Max := AWorkCountMax;
end;

a za OnWork:
Kod:
procedure TDownLoadNewF.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  ProgressBar1.Position := AWorkCount;
end;

Kada sam video da ovo ne radi, ispostavilo se da AWorkCountMax vraca vrednost 0. Zbog cega? Ne znam. Da li je moguce da je do servera?
 
Promeni u viz.komponenti TransferType u ftBinary pa ce prenos binarnih fajlova biti korektan.
Za progressbar ne znam, nikad nisam probao.

Rage against The mAchine je napisao(la):
Dobro jutro;)
Imam neka pitanja u vezi sa Indy komponentama(verzija 9 ako ima neke veze) u Delphiju. U pitanju je komponenta TidFTP. Napravio sam neki besplatni nalog na nekom od free hosting servisa da bih ga koristio kao server. I prvi problem je sto fajl koji skinem nema istu velicinu kao i source fajl. Npr. ako skidam fajl od 117Kb, dobicu fajl od 118Kb. Kada skinem tekstualne fajlove ova razlika ne menja strukturu fajla. Ali ako skinem sliku onda je pola slike "poremeceno". Ne znam u cemu je stvar. Drugi problem je koriscenje dogadjaja ove komponente: OnWork, OnWorkBegin. Koliko sam shvatio ova dva dogadjaja prvenstveno sluze za prikazivanje napretka, sto i ja zelim da uradim. I koristim ProgressBar za ovo. Za OnWorkBegin upisem sledeci kod:
Kod:
procedure TDownLoadNewF.IdFTP1WorkBegin(Sender: TObject;
  AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
  ProgressBar1.Max := AWorkCountMax;
end;

a za OnWork:
Kod:
procedure TDownLoadNewF.IdFTP1Work(Sender: TObject; AWorkMode: TWorkMode;
  const AWorkCount: Integer);
begin
  ProgressBar1.Position := AWorkCount;
end;

Kada sam video da ovo ne radi, ispostavilo se da AWorkCountMax vraca vrednost 0. Zbog cega? Ne znam. Da li je moguce da je do servera?
 
Nazad
Vrh Dno