Anonymní profil Mutagen – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Mutagen – Programujte.comAnonymní profil Mutagen – Programujte.com

 

Příspěvky odeslané z IP adresy 89.190.91.–

Mutagen
.NET › Deserializace určité třídy
5. 12. 2019   #384932

#7 MilanL
Však já neřikám, že to udělá za mě, já si pro to vytvořil vlastní třídy do který naplnuju data a ty chci právě uložit. Chtěl jsme to řešit že to napíšu vlastní format, ale když jsme se dočetl o serializaci tak se mi ve výsledku ulevilo, protože to udělá vše za mě jen si to vyčtu zpět do tříd a ty pak budu samosebou procházet a nastavovat všechny promenný. Jen sem prostě hledal nejlepší způsob jak uložit data... Vyřešil jsem to jinak, vytvořil jsem si spec. soubor že kterýho budu načítat informace do load menu a podle výběru si přiřadím file a ten načtu.

Mutagen
.NET › Deserializace určité třídy
4. 12. 2019   #384921

#5 MilanL
Jedná se o ukládání progresu hry (Unity3D), tzv pozice objektů, stavy, jejich parametry, a tak dále. A hlavičku chci mít jako info do menu při zobrazování savů (gametime, datetime, úroveň a tak dále) prostě jen informace o progresu a dále mít v tom ten zbytek a že toho nebude málo.

Visual Basic › Pomoc s kódem v VSA - Do / W…
17. 4. 2019   #383490

#2 gna
Skvělé. Už to funguje. Mockrát děkuji.   

Visual Basic › Pomoc s kódem v VSA - Do / W…
16. 4. 2019   #383487

Zdravím.

Rád bych zde poprosil o pomoc při řešení úlohy. Nevím jak docílit toho, aby mne program vypsal kolikátou v pořadí určitou (nejnižší) hodnotu našel. 

Mám následující zadání:

Uživatel bude zadávat postupně teploty s přesností na desetinu stupně. Zadávání ukončí zadáním teploty přesahující 100° (tato teplota je ale také součástí dat!). Program zobrazí zadané teploty, minimální teplotu a kolikátá v pořadí tato teplota byla. A také průměr teplot.

Až na již zmíněný problém se zdá, že program funguje správně. Za případné nejasnosti, zmatky či chyby v kódu se předem omlouvám. Jsem začátečník. Úloha níže se má řešit pomocí. Do while s podmínkou na konci.

Jediné co se mi podařilo zjistit je, že pokud teploty zadávám postupně od nejvyšší po nejnižší tak program správně vypíše kolikátou v pořadí ji našel. To samé platí pokud postupně zadám nejnižší teplotu jako první či druhou v pořadí.  Ovšem pokud vypíšu náhodně například 10 různých teplot, tak program není schopný správně určit v kolikátém pořadí nejnižší teplotu našel.

Za případné rady Vám předem děkuji.

Sub main()
    Dim teploty As Single, minimalni_teplota As Single, teplota_sum As Single, prumer As Single
    Dim poradi As Byte
    Dim teploty_soucet as integer
    Dim zahlavi As String  

    zahlavi = "#" + Chr(9) + "Teplota" + " (°)"
    teploty_soucet = 0
    minimalni_teplota = 100
    teplota_sum = 0
      
    Do
        teploty = InputBox("Zadej teplotu vody (°)")
        teploty_soucet = teploty_soucet + teploty
        
        teplota_sum = teplota_sum + 1
        zahlavi = zahlavi + Chr(10) + Str(teplota_sum) + Chr(9) + Str(teploty)
           
        If teploty < minimalni_teplota Then
        minimalni_teplota = teploty
        poradi = poradi + 1
        End If
     
    Loop While teploty <= 100 
        prumer = teploty_soucet / teplota_sum
        MsgBox zahlavi + Chr(10) + Chr(10) + "Nejnizsi teplota vody je" + Str(minimalni_teplota) + "°" + Chr(10) + "Minimalni teplota je" + Str(poradi) + " v poradi." + Chr(10) + "Prumerna teplota vody je:" + Str(prumer) + "°"
   
End Sub
.NET › OutOfMemory v GUI v 32bit
30. 1. 2019   #382948

#21 jerry
Já pořád nechápu co na tom nechápeš, psal jsem to nahoře jak to funguje, ale pro tebe ZNOVU...

Mam x desitek tisíc bitmap které si po 1 načítám do Bitmap objektu s tím, že mám jeden BinaryWriter(memorystream) a postupně ty bitmapy napisuju do binarywriteru ... kde na konci zípisu jednotlivé bitmapy vyprázdním bitmapu (= null) a v dalším cyklu opět načtu a takhle dokola s tím, že až doběhne poslední bitmapa tak se zapíše se .WriteTo(Filestream) a tím se vytvoří soubor o velikosti xmb (v mem případě něco okolo 300mb)...Už se chápem?

Nejsem začátečník jak si myslíš. To, že C# není muj hlavní jazyk je věc durhá, to, že jsme chtěl vědět pouze duvody proč to dělá, neznamená, že ten postup kterým to je napsaný je špatně! Proto hledám nějakou alternativu i jak by se to dalo jinak udělat a napadlo mě ten soubor vytvořit čistě na začátku a pak co bitmapa to zápis do souboru na konec.

Jak už jsem i psal, žen kod jsme nepsal přímo já, ale je převzat a já ho pouze upravuju pro vlastní potřeby, kde jsem už vyřešil i neskutečný využívání paměti (dřív se bitmapy načítaly, ale zustavaly neuvolněný, takže se to docela krásně dostalo s přehledem i na 2gb využití, kde teď to jede na 300mb po mých úpravách)

Chápeš, že já nenačítám do pamětí 350mb soubor ale čtu části souboru nebo přímo obrázek? Tzv si že souboru načtu jenom tu jednu bitmapu kterou potřbeuju a tu přeuložím zatím jen do memorystreamu kde na KONCI ten stream celej uložím.

NIkde jsem nepsal o 5Gb ale o cca 512mb ... A na to se celou dobu i ptám, proč mi nejde uložit do paměti 500mb i na 32bit systému, a napsal mi to gna a to mi stačí jako vysvětlení. Nepotřebuju rozsáhle teorie jak a co, sám vím dobře co potřebuju, to, že jsem se tu zeptal neni přece duvod mě tu urážet že jsme začátečník... Kdyby k tomu nebyl určitý postup jakl se to má ukládat tak to udělám úplně jinak a podle sebe, bohužel musí to mít tuhle strukturu tak s tím nic nenadělám. 

PS. Vyvýjím pod 32bit a ne není to psaný pro 64bit, jen sem hledal duvod proč to dělá.

#22 gna

Už jsem to psal, postup ukládání je takový jaký má být, pouze upravuju a přemýšlím jak by se to dalo zlepšit.

.NET › OutOfMemory v GUI v 32bit
29. 1. 2019   #382934

#8 jerry
Jasně neumím programovat :))))) To, že se tu zeptám na důvody a jedinej kdo tu začal vyjíždět jsi byl ty. Oplátka stejnou mincí ...

Spamuj si jinde tady to nikoho nezajímá.

PS. Neukládám si bitmapy ale načítám, který právě v určitý struktuře naplnuju do bw, psal jsme to nahoře pokud neumíš číst. Ale ty nečteš vše, jen to co se ti hodi na hate :)

Mutagen
.NET › OutOfMemory v GUI v 32bit
29. 1. 2019   #382928

#5 jerry
Určitě mužu na 32bitu spustit 64bit ;) Pokud ses chtěl vyjádřit negativně jdi si kámošema co ti tohle trpěj a nevotravuj tady ... btw nastavíš velikost binary writeru dopředu aby se nezdvojnásoboval jakmile přeteče?

Jestli jsem se přepsal a tobě to vadí tak se jdi projevovat jinam, ostatní tu radí nemají připomínky a tvuj příspěvěk? Nulová hodnota.

#6 hlucheucho
Bohužel máš asi pravdu, snažím se co nejvíce eliminovat zůstavání objektu v paměti (jsme zvyklej uvolnovat pamět tak jak potřebuju já z delphi)...

Já vlastně načítám postupně x desítek tisíc bitmap a zapisuju do souboru podle určitý struktury. A jak řikáš, bordel tam může díky tomu zůstavat, spíš jestli to nejde nějak oblafnout aby to uvolnilo pamět hned.

Mutagen
.NET › OutOfMemory v GUI v 32bit
29. 1. 2019   #382925

#3 gna
No jasný to jsem nějak pochopil, že se to do paměti prostě nikam nevejde, ale jakej je rozdíl mezi konzolovou aplikaci a winformem, že jakmile to zavolám z winform tak automaticky to klekne, ale z konzole je to v pořádku? To se mi prostě nezdá že by winform alokoval pamět tak hrozně že se to prostě s prominutím posere.

Už takhle jsem to zredukoval protože si to ještě ukádalo do cache každou bitmapu i po zapsání ... Takže aspon že tohle jsem vyřešil vyprazdnováním a nedostanu se (RAM využítí) nad 350mb...

Když jsi to už načnul, jak u binarywriteru dopředu naalokuju pamět? protože +- vím kolik jí dohromady bude a vím, že to určitě 350000000 nepřesáhne ...

Napadlo mě to udělat tak, že bych to každých třeba 50mb vyprazdnoval tak že bych zapsal do souboru a pak zapsal na konec souboru další data, ale jelikož tento kod který právě zapisuje tak nejsem autor a jenom ho upravuji tak netuším zda by to mělo nebo nemělo vliv na výslednou funkčnost.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý