Pereiti prie turinio

topsas

Patvirtinti nariai
  • Pranešimai

    110
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    1
  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    topsas gavo reakciją nuo Narysx PHP - kaip nustatyti uploadinamo image rezoliucijos limitą?   
    Rezoliucijos limitui nustatyti yra mažiausiai du būdai: naudotis arba ImageMagick, arba GD funkcijomis. Manau, ImageMagick yra patogiausias būdas tam atlikti (tik jame yra viena spraga - didoki memory leak'ai). Tokiu atveju tiesiog užtektų įkelti paveikslėlį į serverį ir tuomet pakeisti jo dydį. Tam galima taikyti thumbnailImage() metodą. Jis yra aprašytas štai čia: http://php.net/manual/en/imagick.thumbnailimage.php. Taip pat yra komentarų su pavyzdžiais, kaip šį metodą naudoti. Dabar kitas būdas - naudojant GD. Tam yra skirta funkcija imagecopyresampled(), kurios aprašymą ir naudojimo pavyzdį galima rasti čia: http://lt.php.net/imagecopyresampled.
     
    Na ir toks pastebėjimas. Negalima įkelti paveikslėlių vienodu vardu. Pagal paveikslėlio vardą identiškumo tikrai nepatikrinsi. Gal aš kelsiu per tavo formą dramblys.jpg du kartus iš dviejų folder'ių. Viename folder'yje laikysiu afrikinio dramblio nuotrauką, o kitame - azijinio. Paveikslėliai nebus identiški, bet jų įkelti nebus galima, nes sistema neleis dėl vienodų failų pavadinimų.
  2. Patinka
    topsas gavo reakciją nuo L33T Pascal:nesuprantama problema   
    Na šiaip programoje daug kas blogai. Tai pavardinkime kas:
    1. string[12], 1..50 tose vietose, kur aprašinėjamas tipas. O jeigu staiga prireiks vardo ir pavardės ne 12 simbolių ilgio, o, pavyzdžiui, 20? Kas tada? Reikės keisti visą programą, kad būtų galima naudoti 20-ies simbolių vardus ir pavardes? Bet tokiu atveju juk galima pridaryti klaidų. Kur kas geriau būtų naudoti konstantą, kuria aprašomas tas ilgis, pavyzdžiui:
    const max_ilgis = 12;
    cons max_index = 50;
    Tas pats taikytina ir failų pavadinimams. Taip pat keistas sprendimas man pasirodė pažymius saugoti real tipo kintamuosiuose. Kokia prasmė? Ar čia vertinimo sistema tokia, kad studentas gali vieną iš keturių pažymių gauti ir 8.5, 9.7 ir pan.? Na bet ne esmė - laikysiu, kad pažymiu gali būti tik sveikasis skaičius. Jei netiks, galėsi pasikeisti. :)
     
    Toliau pažiūrėkime į tavo pačios programos klaidą:
    sum[a+1]:=A.paz + A.paz1 + A.paz2 + A.paz3 + A.paz4;
    Na iš šios eilutės galima suprasti tai, kad naudojami kintamieji a ir A, kurie pagal Pascal leksiką yra iš esmės vienodi. Tai išeitų toks paradoksas: A yra globalus masyvas, a - lokalus sveikasis skaičius. Kurį tipą rinktis kompiliatoriui, jeigu jis neranda skirtumo tarp a ir A? Neaišku... Tai pakeiskime a į b, pavyzdžiui. Toliau bus dar viena klaida:
    program stipendija;
    <...>
    procedure stipendija;
    Argi taip galima?
    Dar toliau: for n:=1 to skaic; - irgi "gražu". Tada dar bus klaida, jog "Identifier not found I", jei naudosi Free Pascal, arba kitoks tekstas, kuris išreikš tą pačią klaidą - kintamojo panaudojimą prieš apibrėžimą. Na gerai, apibrėžiame klaidą. Po to išeina paradoksas, kad kintamasis stipendija naudojamas įrašyme. Neaišku, kam skirtas, iš kur jis atsirado. Aišku nebent tai, kad net ir, jei apibrėžtume tokį, jo naudoti nebūtų galima, nes jau programos pavadinimas toks. Na pamėginau ir tai pataisyti - programa dėl neaiškių priežasčių vis tiek neveikė. Geriau pasinagrinėk veikiančios programos pavyzdį. :)
     

    program stipendija; const max_ilgis = 12; const max_indeksas = 50; const duom_file = 'duom.txt'; const rez_file = 'rez.txt'; type stud = record vard: string[max_ilgis]; pavard: string[max_ilgis]; P1, P2, P3, P4: integer; end; type stud2 = record vard: string[max_ilgis]; pavard: string[max_ilgis]; vidurkis: real; end; type stud_mas = array [1..max_indeksas] of stud; type stud_mas2 = array [1..max_indeksas] of stud2; procedure SkaitytiDuomenis (var S: stud_mas; var masyvo_ilgis, studentai: integer; var reikalingas_vidurkis: real); var failas: text; indeksas: integer; duomenys: stud; begin Assign(failas,duom_file); {$I-} Reset(failas); {$I+} if IOResult <> 0 then WriteLn('Klaida nuskaitant duomenis. Failas ',duom_file,' neegzistuoja arba negalima jo atidaryti') else begin indeksas := 1; ReadLn(failas,studentai,reikalingas_vidurkis); while not eof(failas) do begin ReadLn(failas,duomenys.vard,duomenys.pavard,duomenys.P1,duomenys.P2,duomenys.P3,duomenys.P4); S[indeksas] := duomenys; Inc(indeksas); end; end; masyvo_ilgis := indeksas-1; Close(failas); end; procedure AnalizuotiDuomenis (S: stud_mas; masyvo_ilgis: integer; reikalingas_vidurkis: real; var S_return: stud_mas2; var masyvo_ilgis_return: integer); var indeksas, i: integer; duomenys: stud2; vid: real; begin indeksas := 1; for i := 1 to masyvo_ilgis do begin with S[i] do vid := (P1+P2+P3+P4)/4; if vid >= reikalingas_vidurkis then begin with S_return[indeksas] do begin vard := S[i].vard; pavard := S[i].pavard; vidurkis := vid; end; Inc(indeksas); end; end; masyvo_ilgis_return := indeksas-1; for i := 1 to masyvo_ilgis do begin with S[i] do vid := (P1+P2+P3+P4)/4; with S_return[indeksas] do begin vard := S[i].vard; pavard := S[i].pavard; vidurkis := vid; end; Inc(indeksas); end; end; procedure SaugotiDuomenis (S: stud_mas; S2: stud_mas2; nuo, iki: integer); var failas: text; indeksas, i: integer; duomenys: stud; begin Assign(failas,rez_file); {$I-} Rewrite(failas); {$I+} if IOResult <> 0 then WriteLn('Klaida irasant duomenis. Failas ',rez_file,' neegzistuoja arba negalima jo atidaryti') else begin for i := 1 to iki do begin with S[i] do Write(failas,vard,pavard,P1,' ',P2,' ',P3,' ',P4); WriteLn(failas); end; for i := nuo+1 to iki+nuo do begin with S2[i] do Write(failas,vard,pavard,vidurkis:0:2); WriteLn(failas); end; WriteLn(failas); WriteLn(failas,'Stipendija gaus tiek studentu: ',nuo); WriteLn(failas); WriteLn(failas,'Stipendija gausiantys studentai'); for i := 1 to nuo do begin with S2[i] do Write(failas,vard,pavard,vidurkis:0:2); WriteLn(failas); end; end; Close(failas); end; var S: stud_mas; S2: stud_mas2; ilgis, ilgis2, i, studentai: integer; reikalingas_vidurkis: real; begin SkaitytiDuomenis(S,ilgis,studentai,reikalingas_vidurkis); AnalizuotiDuomenis(S,ilgis,reikalingas_vidurkis,S2,ilgis2); SaugotiDuomenis(S,S2,ilgis2,ilgis); end.
     
    Pavyzdinis failas duom.txt programai:

    5 6.5 Antanas Pranaitis 9 8 7 4 Antanas Jonaitis 10 10 10 10 Jonas Pranaitis 7 7 7 7 Antanas Antanaitis 7 6 5 4 Jokubas Sudaitis 8 8 8 9
     
    Po įvykdytos programos gautum tokį rezultatą:

    Antanas Pranaitis 9 8 7 4 Antanas Jonaitis 10 10 10 10 Jonas Pranaitis 7 7 7 7 Antanas Antanaitis 7 6 5 4 Jokubas Sudaitis 8 8 8 9 Antanas Pranaitis 7.00 Antanas Jonaitis 10.00 Jonas Pranaitis 7.00 Antanas Antanaitis 5.50 Jokubas Sudaitis 8.25 Stipendija gaus tiek studentu: 4 Stipendija gausiantys studentai Antanas Pranaitis 7.00 Antanas Jonaitis 10.00 Jonas Pranaitis 7.00 Jokubas Sudaitis 8.25
  3. Patinka
    topsas gavo reakciją nuo gnu Kaip pasiruošti VBE (gidas)   
    Štai šiais trim patarimais rėmiausi nuo septintos klasės, t.y. rašiau taisyklinga lietuvių kalba, rašiau išsamius pranešimus, kai kuriuos žodžius tikrindavausi interneto žodynuose, kad taisyklingai juos parašyčiau. Skyrybos taisyklių irgi stengiausi laikytis. Taipogi ir tinklaraštį buvau susikūręs bei rinkau informaciją apie tai, kas mane domina. Visa tai man labai padėjo - 99 balus iš egzamino surinkau. Kitaip tariant, jei dar nepradėjote laikytis šių patarimų, tuomet pats laikas pradėti. Pradžioje gali būti sunku rašyti taisyklinga lietuvių kalba, bet vėliau įprasite. :)
  4. Patinka
    topsas gavo reakciją nuo Rulis Reikia pagalbos dėl lygiavimo   
    Na matant iš tokio kodo:

    <div id="pathway_w"> <div id="breadcrumbs"> <a href="/index.php?option=com_content&view=article&id=7&lang=en"><img src="/templates/baakminster/images/veliava.png" style="margin-left:770px; margin-bottom:-520"/></a> </div> <div id="search"> <div id="jflanguageselection"><div class="rawimages"><span id="active_language"><a href="http://familledagba.com/index.php?lang=en"><img src="http://familledagba.com/components/com_joomfish/images/flags/en.gif" alt="English (United Kingdom)" title="English (United Kingdom)" /></a></span><span><a href="http://familledagba.com/index.php?lang=fr"><img src="http://familledagba.com/components/com_joomfish/images/flags/fr.gif" alt="French (Fr)" title="French (Fr)" /></a></span></div></div>
    Akivaizdu, kad tiesiog rankiniu būdu vėliavos neįdėjai tarp <div id="jflanguageselection"> ir </div> tag'ų.
  5. Patinka
    topsas gavo reakciją nuo ADR ASM uždavinys.   
    mov cx,05E7Ah ;CX = 5E7A, CL = 7A, CH = 5E
    add cl,ch ;CL = CL+CH = 7A + 5E = D8. Vadinasi, CX = 5ED8.
     
    Po atliktos ADD instrukcijos:
    CF = 0, nes rėžiai nebuvo peržengti.
    PF = 1, nes bitų skaičius jaunesniajame baite lyginis.
    AF = 1, nes nibble rėžiai buvo po sudėties peržengti.
    ZF = 0, nes rezultatas nėra 0.
    SF = 1, nes pirmas jaunesniojo baito bitas yra lygus 1.
    OF = 1, kadangi prie teigiamo pridėjome teigiamą, tačiau gavome neigiamą.
     
    TF, DF ir IF reikšmės bus tokios, kokios buvo prieš ADD operaciją. O šiaip siūlau pasiskaityti emu8086 tutorial'ą (http://www.emu8086.com/assembler_tutorial/index.html), Juliaus Andrikonio pratybų medžiagą (http://uosis.mif.vu.lt/~julius/2011Rud/KompArch/Planas.html). Ten viskas yra aiškiai aprašyta.
  6. Patinka
    topsas gavo reakciją nuo Samick Lietuviškos (C++, Pascal, Python, PHP) programavimo VIDEO pamokos   
    Kai paklausiau jo C++ tutorial'ų, tai susidariau tokį įspūdį:
    http://www.allamericanblogger.com/wp-content/uploads/double-facepalm1.jpg
     
    O kai pažiūrėjau jo tutorial'ą PHP pamokos - 29 - Svečių knyga (1 dalis) (vaizdo įraše tai būtų 4:09), tai susižvengiau taip, kad net graudu po to pasidarė. Pirmiausia tai nuo INT (255) parašymo - kiekvienam, kas bent kiek domisi MySQL, aišku, kad jeigu nori maksimalaus sveikojo tipo skaičiaus, tai renkiesi INT(10) UNSIGNED. Nors aišku, INT(255) irgi bus užskaitytas ir veiks kaip INT(10), bet vis tiek - kam išsidirbinėti šitaip? O jis čia visokių INT(255) prisigalvoja - na ir laki jo vaizduotė. O šiaip, jeigu rimčiau, tai paprastai svečių knygai jau MEDIUMINT(6) UNSIGNED būtų per akis. Toliau VARCHAR(2555) - omfg. Ir kam to reikia? Gal jis naudoja naujesnę nei 5.0.3 MySQL versija ir nori išbandyti jos galimybes? Tai gal geriau tegul tada pabando tiesiog VARCHAR(65535)? Tuomet kitame jo tutorial'e apie PHP PHP pamokos - 30 - Svečių knyga (2 dalis) akivaizdžiai galima pastebėti, kad jis moko žmones nesaugaus kodo kultūros. Ir dar geriau tai, kad tai, ką jis parašo, vadina "apsaugojimu". Be to, įdomi praktika saugumu pasirūpinti pačioje pabaigoje. Kiekvienas rimtesnis programuotojas kintamąjį, kurio reikšmę lemia vartotojo veiksmai, iškart aprašo ir sudeda visas reikalingas filtravimo funkcijas, nes po to visai realu pamiršti apsaugoti kintamąjį.
     
    Tada kitas jo antro tutorial'o apie svečių knygą unikalumas - "No database selected". Na jo, čia tai tikrai parodė savo išmintį jis. Na bet galbūt žmogus specialiai padarė žioplą klaidą, kad išmokytų naujokus ištaisyti tokio tipo klaidą. Tik viena bėda - ne vien "No database selected" būna. Yra ir kitų klaidų, kurias reikėtų aptarti. Tad jis galėjo padaryti didesnį diapazoną MySQL klaidų, arba išvis sukurti naują video apie dažniausiai pasitaikančias darbo su MySQL duomenų baze klaidas PHP skriptuose. Tada viskas ir aiškiau būtų.
     
    Na ir paskutinis pastebėjimas - man regis, jis apie PHP mažai ką supranta. Tai galima pastebėti iš jo kodo kultūros, bereikalingą riestinių skliaustų naudojimą vieno sakinio sąlyginiuose sakiniuose (bet kaip jis gražiai tuos riestinius skliaustus į vieną eilutę sukiša, tarsi jie būtų neatskiriama kodo dalis, nors jų galima tiesiog visai nevartoti). Kitų programavimo kalbų nežiūrėjau, bet jeigu galima pastebėti jo video tutorial'ų nekokybiškumą PHP video, tai kažkodėl neabejoju, jog ir kituose to galima tikėtis.
     
    Apibendrintai galiu pasakyti, kad kurti video apie programavimą yra tikrai sveikintina ir ypač lietuvių kalba, bet visai kas kita, kai kuria video tie, kas nelabai supranta, apie ką kuria. Tiesiog taip klaidinami žmonės, kurie dar sunkiai atsirenka, kur kokybiška informacija, o kur yra tiesiog šlamštas.
     
    P.S. Turbūt geriausia jo frazė (čia per C++ tutorial'ą išgirdau ją): "Kol kas apie tai negalvokite".
  7. Patinka
    topsas gavo reakciją nuo Mariius Pascal klaida   
    Na padarei tokią klaidą, kad nurodei per siaurus masyvų indeksų intervalus. Tai yra, ši eilutė:
    type masyvas = array [5..250] of string[1];
    Paprasčiau tariant, su masyvu m_stulpai, kurio indeksas yra 1 arba 2 (t.y. i := 1; ir h:=2;), dirbti negali, nes minimalus indeksas gali būti 5. Paprasčiausia būtų tiesiog nurodyti platesnį intervalą:
    type masyvas = array [1..250] of string[1];
  8. Patinka
    topsas sureagavo į websprendimai PHP-Fusion Straipsnių Konkursas!   
    Sveiki,
    norėjau jums uždarbio nariai ir lankytojai pranešti, kurie domisi PHP-Fusion atvirojo kodo turinio valdymo sistema, kad vyksta straipsnių konkursas php-fusion.lt portale. Plačiau ČIA.
  9. Patinka
    topsas gavo reakciją nuo ifixas Lietuvis išrado dar niekam neregėtą investavimo sistemą !   
    Perskaičiau tame forume visą temą. Juoktis tikrai yra iš ko, bet taip pat reikėtų pripažinti ir faktą - Dixan911 kažką iš tiesų sugalvojo ir tuo dabar mėgina naudotis. Kaip jam seksis, jau kitas klausimas. Manau, per mėnesį turėtų viskas matytis: visgi per šį laikotarpį teks jam išmokėti apie 440 USD nuo dabar. Aišku, gali tekti ir ilgiau palaukti to burbulo, jeigu viskam tinkamai pasiruošta. Greičiausiai, kai ateis laikas, jis tuos pinigus tiesiog išsigrynins, kol dar nebus užblokuotas PayPal'e. Taip pat jis gali gudrauti netgi su savo paso kopija ir asmens kodu. Internetu galima bet ką išsiųsti. Jeigu jis ruošėsi šiai aferai, tai ir kopijas paruošė taip, kad atrodytų įtikinamai, o adresą tai irgi bet kokį galima pateikti. Tik telefono numerį tikrą turbūt bus pateikęs. Kitaip tariant, vieninteliai rodikliai, kad čia yra suorganizuota afera, yra šie: pernelyg dideli procentai, neprofesionaliai sukurtas tinklalapis (domenas, dizainas ir pan.) bei paties Dixan911 ganėtinai nekompetentingas bendravimas. Asmeniškai man šių rodiklių jau pakaktų, kad ten neinvestuočiau. Galbūt dabar investavęs atgaučiau pinigus su procentais, bet kas žino - gal užtaikysiu tada ant jų, kai jiems reikės tept slides. :)
  10. Patinka
    topsas sureagavo į Soulll Lietuvis išrado dar niekam neregėtą investavimo sistemą !   
    Man patiko tinklalapyje nurodyta informacija
     

     
×
×
  • Pasirinkite naujai kuriamo turinio tipą...