Posilani souboru (neco treba jako na icq)   zodpovězená otázka

VB6/VBA

Zdravim

chtel jsem si udelat nejaky programek ktery by umel poslat soubory,vybrat slozku pro ulozeni a aby se zobrazovalo kolik vterin jeste chybi do konce...

ale s vb jeste vubec neumim,mohl by mi nekdo pomoct?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Prozkoumejte kód v článku s kreslící tabulí na tomto webu. Najde tam základní komunikaci po síti. Potom by neměl být problém prográmek předělat tak, aby místo kreslících souřadníc posílal Vámi vybraný soubor:)

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

No, zkuste se nejdřív naučit programovat na něčem jednodušším, tohle je imho dost složité. Navíc posílat soubory lze jednoduše pouze po lokální síti, přes Internet na to musíte mít nějaký server, protože ne každý má veřejnou IP adresu, aby se spojení mezi dvěma počítači dalo udělat přímo.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

A ještě doporučuji, abyste se vykašlal na Visual Basic 6, který je už 10 let starý, a vyzkoušel nový Visual Basic 2005 nebo 2008, který je zdarma a navíc umí daleko víc věcí.

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

Našel jsem hezký anglický článek o této problematice ve VB.NET:

http://www.eggheadcafe.com/articles/2002...

co se týká počítání zbývajícího času, je třeba nejdříve zjistit rychlost. Já to dělám tím způsobem, že si zavedu desetinnou a časovou proměnnou na úrovni třídy a timer. Při začátku přenosu do časové proměnné uložím hodnotu Now a timer nastavím na interval 1 sekundu a spustím ho. Do časované procedury potom přijde toto:

rychlost = (preneseno - cislo) / Now.Subtract(cas).TotalSeconds
cislo = preneseno

Nyní tedy máme přenosovou rychlost za poslední sekundu uloženou v proměnné rychlost a zbývá nám jen výpočet zbývajícího času, pro ten potřebujeme ještě znát celkovou velikost souboru:

Dim t as Timespan = Timespan.FromSeconds(velikost / rychlost)
zbyva = Microsoft.VisualBasic.Right("00" + t.Hours.ToString(), 2) + ":" + Microsoft.VisualBasic.Right("00" + t.Minutes.ToString(), 2) + ":" + Microsoft.VisualBasic.Right("00" + t.Seconds.ToString(), 2)

Takže pokud tohle přidáte na konec časované procedury, měl by se vám do proměnné zbyva vyplnit přesný čas do konce přenosu ve formátu 00:00:00. Musíte ale zjistit:

a) čas začátku stahování => proměnná cas

b) počet přenesených bajtů / kilobajtů => proměnná preneseno

c) celkovou velikost souboru (bajty / kilobajty) => proměnná velikost

Vím, že to není nejlepší způsob, ale funguje to

Hodně štěstí

P.S. Pokud chcete, aby byly zobrazované hodnoty stabilnější a reálnější, doporučuji ze zjištěných rychlostí vyrobit rychlost průměrnou (řekněme za minutu), ta se potom bude míň "hýbat"...

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback