USTEAM

Külvilág => Help => Topic started by: ignus on 2007-06-05, 15:03:45

Title: C++, Delphi, JAVA és egyéb programnyelvek
Post by: ignus on 2007-06-05, 15:03:45
Van itt a fórumon valaki aki vágja a c++ programozást? Mert ez az egyetlen tárgy ami elválaszt a diplomától (no meg majd persze a diplomamunka), de valahogy nemtom rászánni magam a megtanulására. Szóval ha valaki megszánna akkor megbeszélhetnénk a részleteket! Köszi
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: teraflare on 2007-06-05, 15:04:44
nem tudom garantálni, de megpróbálhatok segíteni
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: ignus on 2007-06-05, 16:10:08
Bocsi, ezek szerint rossz helyre pakoltam a topicot... Köszi Selmo!!!
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Zsiga on 2007-06-05, 17:19:36
Látom fontos úgyhogy kapsz egy ideiglenes sticky-t. :smile:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: ignus on 2007-06-12, 12:11:55
Hi!

Vizsgán túlvagyok, úgyhogy akár lehet is zárni/törölni a topicot ha gondojátok

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2007-06-12, 12:53:56
Quote from: ignus on 2007-06-12, 12:11:55
Hi!

Vizsgán túlvagyok, úgyhogy akár lehet is zárni/törölni a topicot ha gondojátok



mien vizsga? Elemi alkalmazások fejlesztése? mer abból én is vizsgáztam nemrég  :szemuveges:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2007-06-12, 12:58:36
Azt vizsgának nevezni igen erős túlzás. :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2007-06-12, 14:45:10
Quote from: ignus on 2007-06-12, 12:11:55
Hi!

Vizsgán túlvagyok, úgyhogy akár lehet is zárni/törölni a topicot ha gondojátok
Inkább csinálok belőle általános topicot, jól jöhet még a geekeknek. :P
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Solid Snake on 2007-06-12, 21:34:45
Quote from: Selmo on 2007-06-12, 14:45:10
Inkább csinálok belőle általános topicot, jól jöhet még a geekeknek. :P

Pártolom.  :smile:
Idén megyek egyetemre, és bizony lesz nekünk jó sok C++ programozás.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2007-06-12, 22:12:19
Quote from: Solid Snake on 2007-06-12, 21:34:45
Idén megyek egyetemre, és bizony lesz nekünk jó sok C++ programozás.
Melyik egyetemre? Átíratkozok gyorsan. Nálunk az oktatás kimaradt, csak számonkérték  :comp:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Suszi on 2007-06-12, 23:25:20
Quote from: Manitu on 2007-06-12, 22:12:19
Nálunk az oktatás kimaradt, csak számonkérték  :comp:

Én két évvel ezelött hagytam ott a Kandó villany karát. Ott is ugyanez volt a helyzet c++ téren. Na de, hogy ne csak offoljak én is konyítok keveset c++-hoz, TP-hoz és Action Scripthez (ez utóbbihoz többet)
Szal engem is lehet zaklatni alkalomadtán :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: ignus on 2007-06-13, 09:38:54
Quote from: chilip on 2007-06-12, 12:53:56
Quote from: ignus on 2007-06-12, 12:11:55
Hi!

Vizsgán túlvagyok, úgyhogy akár lehet is zárni/törölni a topicot ha gondojátok



mien vizsga? Elemi alkalmazások fejlesztése? mer abból én is vizsgáztam nemrég  :szemuveges:

Gagyi kis feladatokat kellett csinálni, ilyen olyan kis hülye progit. De már megvan jeeee
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2007-06-13, 16:19:35
Valaki foglalkozik itt php-val? Azon belül használja esetleg a jpGraph nevű grafikon generáló progit?

Belefutottam egy érdekes hibába és eddig nem találtam rá megoldást.

Hiba:
Fatal error: Cannot instantiate non-existent class: in C:\...\php\jpgraph\jpgraph.php on line 235

Az érdekes az, hogy helyben a teszt szerveren gond nélkül működik. Felraktam az éles szerverre és ott már ezzel a hibával fogad a legenerált grafikon helyett.

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2007-06-13, 16:47:50
Az a C:\ nekem gyanus. Nem írtál valahova abszolut elérési utat, ahova relatív kellett volna?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2007-06-13, 16:50:46
Relatív eléréssel töltöm be a jpgraph fájljait, de egyébként teljesen ugyanaz a könyvtár szerkezet mindkét szerveren.

Szerk:
Lecseréltem a legújabbra a jpGraph-ot, ez más hibaüzenetet ad:
JpGraph Error Your PHP installation does not seem to have the required GD 2.x library enabled. Please see the PHP documentation, "Image" section. Make sure that "php_gd2.dll" statement is uncomment in the [modules] section in the php.ini file.

Ezzel meg az a gond, hogy ott van a php_gd2.dll, a php.ini-ben engedélyezve is van, de tényleg nem tölti be a phpinfo() szerint.

Szerk:
Megoldottam. Hiába van beírva a path-be hogy hol van a php.ini, ez a nyomorult win nem találja meg. Bekellett másolni neki a win könyvtárba és mindjárt látta :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2007-07-05, 15:45:35
Megint én :)

php guru kerestetik! Help!

Egymásik domainről kellene fájlt olvasnom, de a rohadt cUrl nem működik. Session azonosítókkal azonosítja egymást a két program, de amikor meghívom a cUrl -al a másik domainen levő progit, az létrehoz egy új session és onnantól vége az egésznek, mert nem működik az azonosítás. A másik oldali programról semmit sem tudok, csak egy url-em van hozzá :)

Szerk: Próbálkoztam fopen() -nel és fsockopen() -nel is, de azok meg timeouttal elszállnak.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Gregory on 2007-09-13, 19:07:14
Sry a  :lame: kérdésért:
Php mennyire nehéz nyelv, illetve mennyi időbe telik olyan szinten elsajátítani, h egy saját komolyabb oldalmotort össze lehessen vele hozni (regisztrációs lehetőséggel, etc.)?
Valamint a weblapszerkesztő programok mekkora segítséget tudnak ilyen téren nyújtani?

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2007-09-13, 19:46:52
Miért nem kész fórummotort használsz?
Annyira nem bonyolult, feltéve, hogy otthon vagy a HTML és Javascript oldalon. De egy saját motort összedobni, nos...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2007-09-14, 11:02:56
Php viszonylag egyszerű nyelv, de egy saját motor összedobása időigényes és sok tervezést igényel. Szerintem találsz sok ingyenes és egész jól bővíthető motort.
Egy motorhoz nem árt valami template rendszer ismerete, meg htlm és javascript ismeretek is szükségesek.

Weblap szerkesztő progi egy motor összerakásában semmi segítséget nem tud nyújtani.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Gregory on 2007-09-14, 15:22:49
Thx az információkat/tanácsokat  :merci:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Meske on 2007-09-14, 17:27:49
Ha már itt tartunk nekem is lenne egy  :lame: kérdésem:
Tudtok esetleg olyan kész oldalmotort ajánlani, amiben át lehet írni a regisztrációt? Mármint ne csak egy e-mail címet, nevet meg jelszót kérjen, hanem mást is be tudjak állítani? Mert eddig csak olyanokkal találkoztam, amikben ilyen lehetőség nincs...
Vagy ahhoz komolyabb php tudás kéne? Majd megpróbálok tenni az ügy érdekében. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2007-09-14, 18:00:16
Pontosan mire gondolsz? Az SMF motorban ezeken felül te szabhatod meg, hogy hány éves kor felett lehet regisztrálni, hogy milyen bonyolult legyen a regisztrácó/jelszó/érvényesítés.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Meske on 2007-09-14, 19:29:46
Nekem van egy klubom (gyűjtőjk klbuja) és ahhoz szeretnék összehozni egy olyat, hogy regisztrációnál meg kelljen adni azt is, hogy mit gyűjt az illető, de ezt nem igazán tudom, hogy hogyan lehetne megoldani rendesen. (nem igazán fórum motor, hanem valami CMS rendszer kéne, csak én nagyon  :lame: vagyok hozzá...)
Jelenleg egy gagyi html-es regisztráció van a honlapomon, amit én magam fabrikáltam össze, (azaz igazából egy levélküldés az egész, és ha megkaptam a levelet, akkor beteszem az új tagot a listába). Csak hát azért ez így elég körülményes, meg html-ben nem lehet megoldani normális beléptetési rendszert sem, a php-hez viszont nem igazán értek, de azért még kutakodok valami jó webcím után ahonnan esetleg meg lehetne tanulni (ha valaki tud ilyet szóljon).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2007-09-14, 21:06:51
http://www.designshop.hu/book/prog_php_php524ora.php ez megvan nekem pdf-ben ha érdekel. De amit te akarsz, az valószínűleg megoldható a custom profile (http://custom.simplemachines.org/mods/index.php?mod=319) moddal.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Draconire on 2007-09-14, 21:23:34
Quote from: Selmo on 2007-09-14, 21:06:51
http://www.designshop.hu/book/prog_php_php524ora.php ez megvan nekem pdf-ben ha érdekel.
Engem érdekelne.^^
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2007-09-14, 21:44:19
http://selmo.atw.hu/php%2024%20ora%20alatt.rar így utánanézve, eggyel korábbi kiadás; 4-eshez van, de gondolom nem nagy baj.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Draconire on 2007-09-14, 22:16:57
Quote from: Selmo on 2007-09-14, 21:44:19
http://selmo.atw.hu/php%2024%20ora%20alatt.rar így utánanézve, eggyel korábbi kiadás; 4-eshez van, de gondolom nem nagy baj.
:merci:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Meske on 2007-09-15, 19:56:01
Hallottam már erről a könyvről, köszi szépen a linkeket! :merci:
Majd áttanulmányozom a könyvet. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Gregory on 2007-11-05, 21:59:26
Az megoldható valahogy, hogy egy honlapon attól függ, hogy mely .css file-t használja a weblap, hogy a látogató milyen böngészőt használ?
(div-es pozícionáláshoz kéne, mert az IE alapú böngészők, valamint a Failfox/Opera pozícionálása eltérő, így gyakorlatilag használhatatlan az oldal IE alatt)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2007-11-05, 22:14:10
Quote from: Gregory on 2007-11-05, 21:59:26
Az megoldható valahogy, hogy egy honlapon attól függ, hogy mely .css file-t használja a weblap, hogy a látogató milyen böngészőt használ?
(div-es pozícionáláshoz kéne, mert az IE alapú böngészők, valamint a Failfox/Opera pozícionálása eltérő, így gyakorlatilag használhatatlan az oldal IE alatt)
Eleinte asszem ilyen vagány dolgokat csináltak, hogy exploitolnak valami IE bugot, hogy ráfusson a kommentre és éttelmezze azt is, meg hasonlóak.
Google segített, van kvázi-korrekt megoldás is az IE és a világ többi részének elkülönítésére: http://www.quirksmode.org/css/condcom.html
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Gregory on 2007-11-05, 22:18:25
Quote from: Próféta on 2007-11-05, 22:14:10
Eleinte asszem ilyen vagány dolgokat csináltak, hogy exploitolnak valami IE bugot, hogy ráfusson a kommentre és éttelmezze azt is, meg hasonlóak.
Google segített, van kvázi-korrekt megoldás is az IE és a világ többi részének elkülönítésére: http://www.quirksmode.org/css/condcom.html
:merci:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2007-12-09, 04:22:18
Ebben látja a hibát valaki? Bináris fát kellene építenie egy fájlból(abc.txt), ami így néz ki, idézőjelek nélkül: "A.- B-... C-.-. D-.. E. F..-. G--. H.... I.. J.--- K-.- L.-.. M-- N-. O--- P.--. Q--.- R.-. S... T- U..- V...- W.-- X-..- Y-.-- Z--.. ". De nem teszi :bruhuhu:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    typedef struct morsetree { char betu;
                    struct morsetree *ti, *ta;
                  } morse, *morsefa;
    FILE *f;
    char c1, c2;
    morsefa gyoker, futo;
gyoker=NULL;

    if((f=fopen("abc.txt", "rt"))==NULL)
    {
        printf("HIBA");
        return 0;
    }

    while((c1=fgetc(f))!=EOF)
    {
        futo=gyoker;
        while((c2=fgetc(f))!=' ')
        {
            if(futo==NULL)
            {
                futo=((morsefa)malloc(sizeof(morse)));
                futo->ti=futo->ta=NULL;
            }
            if(c2=='.')
            {
                futo=futo->ti;
            }
            if(c2=='-')
            {
                futo=futo->ta;
            }
        }
        futo->betu=c1;
    }

    printf("%c\n", gyoker->ti->betu);
    return 0;
}
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2007-12-09, 12:40:41
A belső while-ban a futo=futo->ti és futo=futo->ta. A jobb oldali tag az értékadáskor mindig NULL lesz. Amikor aztán lefoglalod neki a memóriát, akkor nem kapcsolod hozzá az előző elemhez. Valami pointert kellene inkább eltárolni a futo->ti és a futo->ta elemekre, nem pedig az értéküket.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2007-12-10, 16:21:19
Tweakeltem egy kicsit a dolgot(lehet, hogy túlbonyolítottam). Már legalább lefut, és szerintem fel is építi a bináris fát, csak rosszul, heh.


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    typedef struct morsetree { char betu;
                    struct morsetree *ti, *ta;
                  } morse, *morsefa;
    FILE *f;
int n;
    char c1, c2;
    morsefa gyoker, futo, futo2;
gyoker=(morsefa)malloc(sizeof(morse));
gyoker->ti=gyoker->ta=NULL;
    if((f=fopen("abc.txt", "rt"))==NULL)
    {
        printf("HIBA");
        return 0;
    }

    while((c1=fgetc(f))!=EOF)
    {
n=0;
        futo=futo2=gyoker;
        while((c2=fgetc(f))!=' ')
        {
            if(c2=='.')
{
if(n==0)
{
if((gyoker->ti)==NULL)
{
futo=((morsefa)malloc(sizeof(morse)));
futo->ti=futo->ta=NULL;
gyoker->ti=futo;
}
else
{
futo=gyoker->ti;
}
}
else
{
if((futo->ti)==NULL)
{
futo->ti=futo2=((morsefa)malloc(sizeof(morse)));
}
else
{
futo2=futo->ti;
}
}
}
if(c2=='-')
{
if(n==0)
{
if((gyoker->ta)==NULL)
{
futo=((morsefa)malloc(sizeof(morse)));
futo->ti=futo->ta=NULL;
gyoker->ta=futo;
}
else
{
futo=gyoker->ta;
}
}
else
{
if((futo->ta)==NULL)
{
futo->ta=futo2=((morsefa)malloc(sizeof(morse)));
}
else
{
futo2=futo->ta;
}
}
}
n++;
}
futo2->betu=c1;
}
    printf("%c\n", (gyoker->ti)->betu);
    return 0;
}
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2007-12-10, 17:00:48
A kiíratás nem jó, a gyoker->ti->betu kifejezésnek csak akkor van értelmes értéke, ha a "." karaktert olvassod be a fájlból, de ilyen betű nincs a morse ábécében :oops: Eleve a betu tagot nem is inicializálod sehol.
A fában különböző mélységben vannak a különböző betűk, szóval így biztos nem tudod kiolvasni belőle. Valami ciklus kell oda, ami bejárja a fát, a levelekben lesznek a betűk.

Jobban megnézve az első verziónak is működnie kéne, az is felépíti a fát, csak rosszul olvasod ki a végén. Kicsit benéztem azt a typedefet :)

Amúgy meg aki mallocot mond, az mondjon freet is, hol van a cleanup? :hehe:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2007-12-10, 19:29:53
Egyelőre még építeni próbálom a fát, a lerombolása csak utána jön :)

Azt hittem egyébként, hogy azért nem megy a kiíratás, mert nincs ott semmi, roszul van felépítve a fa.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2007-12-10, 21:19:58
Nem hiszem, próbáld ki például a gyoker->ti->ta->betu -t, ott kell lennie az A-nak.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2007-12-10, 21:45:41
Az első továbbra is kifagy, a második(a bonyolult) meg kidobja a W-t a gyoker->ti->ta-ra :whoah:

Egyszer majd csak összejön(nagyon köszi a segítséget egyébként :merci: ). Végülis péntekig elszórakozhatok ezzel a progival, de akkor buktam 5 kreditet egy másik tantárgy miatt, amivel foglalkoznom kellene. Viszont ha ez nincs meg péntekig, 7-et veszítek. Lose-lose, de szerintem érdemesebb ezt befejezni(ez csak az alapja amúgy, csak erre a fára akarom ráépíteni a progi többi részét).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2007-12-11, 01:07:11
Fene a hülye formámat, ha valamin elkezdek gondolkodni, akkor nem nyugszok, amíg rá nem jövök, mi a megoldás. :redface:
Kicsit túlbonyolítottad, nem kell ciklusszámláló, és ennyi átmeneti változó sem, csak jól el kell tárolni, hol jársz éppen a fában.
Ez így működik, az érvénytelen kódok helyén ' ' van a betu-ben, ha érvényes, akkor meg a megfelelő betű. (Csúnyák azok az inicializálatlan charok :D)
A többi már a te dolgod :D

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    typedef struct morsetree { char betu;
                    struct morsetree *ti, *ta;
                  } morse, *morsefa;
    FILE *f;
    char c1, c2;
morsefa gyoker, futo;
gyoker=(morsefa)malloc(sizeof(morse));
gyoker->ti=gyoker->ta=NULL;
gyoker->betu = ' ';
if((f=fopen("abc.txt", "rt"))==NULL)
    {
        printf("HIBA");
        return 0;
    }

    while((c1=fgetc(f))!=EOF)
    {
        futo=gyoker;
        while((c2=fgetc(f))!=' ')
        {
            if(c2=='.')
{
if((futo->ti)==NULL)
{
futo->ti=((morsefa)malloc(sizeof(morse)));
futo->ti->ta=futo->ti->ti=NULL;
futo->ti->betu = ' ';
futo = futo->ti;
}
else
{
futo=futo->ti;
}
}
if(c2=='-')
{
if((futo->ta)==NULL)
{
futo->ta=((morsefa)malloc(sizeof(morse)));
futo->ta->ti=futo->ta->ta=NULL;
futo->ta->betu = ' ';
futo = futo->ta;
}
else
{
futo=futo->ta;
}
}
}
futo->betu=c1;
}

    printf("%c\n", (gyoker->ti)->betu);

    return 0;
}
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2007-12-11, 01:16:42
Quote from: Manitu on 2007-12-11, 01:07:11
Fene a hülye formámat, ha valamin elkezdek gondolkodni, akkor nem nyugszok, amíg rá nem jövök, mi a megoldás. :redface:
Kicsit túlbonyolítottad, nem kell ciklusszámláló, és ennyi átmeneti változó sem, csak jól el kell tárolni, hol jársz éppen a fában.
Ez így működik, az érvénytelen kódok helyén ' ' van a betu-ben, ha érvényes, akkor meg a megfelelő betű. (Csúnyák azok az inicializálatlan charok :D)
A többi már a te dolgod :D

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    typedef struct morsetree { char betu;
                    struct morsetree *ti, *ta;
                  } morse, *morsefa;
    FILE *f;
    char c1, c2;
morsefa gyoker, futo;
gyoker=(morsefa)malloc(sizeof(morse));
gyoker->ti=gyoker->ta=NULL;
gyoker->betu = ' ';
if((f=fopen("abc.txt", "rt"))==NULL)
    {
        printf("HIBA");
        return 0;
    }

    while((c1=fgetc(f))!=EOF)
    {
        futo=gyoker;
        while((c2=fgetc(f))!=' ')
        {
            if(c2=='.')
{
if((futo->ti)==NULL)
{
futo->ti=((morsefa)malloc(sizeof(morse)));
futo->ti->ta=futo->ti->ti=NULL;
futo->ti->betu = ' ';
futo = futo->ti;
}
else
{
futo=futo->ti;
}
}
if(c2=='-')
{
if((futo->ta)==NULL)
{
futo->ta=((morsefa)malloc(sizeof(morse)));
futo->ta->ti=futo->ta->ta=NULL;
futo->ta->betu = ' ';
futo = futo->ta;
}
else
{
futo=futo->ta;
}
}
}
futo->betu=c1;
}

    printf("%c\n", (gyoker->ti)->betu);

    return 0;
}



Most legalább egy rekesz sörrel jövök neked :lol:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2007-12-19, 20:06:05
Numerikus analízishez értők segítségét kérném.

A hővezetési egyenletet kellene numerikusan integrálni.
Ebben az alakban írom fel:

ro c dT/dt = div(K grad T) + Q (http://wmi.math.u-szeged.hu/~kovzol/TeX/TeX.php?code=%5Cnopagenumbers%0D%0A%24%24%5Crho+c+%7B%7B%5Cpartial+T%7D+%5Cover+%7B%5Cpartial+t%7D%7D%3D+%5Cmathrm%7Bdiv%7D+%28K%5Cmathrm%7Bgrad%7D%5C%2C+T%29%2BQ%24%24%0D%0A%5Cbye%0D%0A)

ro a sűrűség, c a fajhő, K a hővezetési tényező, és Q a rendszerbe melegítéssel (pl. mikrohullámmal) bevitt hő. Ezek a mennyiségek a helytől függenek, de az időtől nem. Mivel a kísérleti eszközünkben az érdekes tartomány henger alakú, logikusnak látszik hengerkoordinátákban felírni az egyenletet, ekkor nincs fi- és z-függés, és az egyenlet egydimenzióssá redukálódik:

ro(r) c(r) dT(r,t)/dt = 1/r d/dr(K(r) r dT(r,t)/dr) + Q(r) (http://wmi.math.u-szeged.hu/~kovzol/TeX/TeX.php?code=%5Cnopagenumbers%0D%0A%24%24%5Crho%28r%29+c%28r%29+%7B%7B%5Cpartial+T%28r%2Ct%29%7D+%5Cover+%7B%5Cpartial+t%7D%7D%3D+%7B1+%5Cover+r%7D%7B%5Cpartial+%5Cover+%7B%5Cpartial+r%7D%7D+%28K%28r%29+r+%7B%7B%5Cpartial+T%28r%2Ct%29%7D+%5Cover+%7B%5Cpartial+r%7D%7D%29%2BQ%28r%29%24%24%0D%0A%5Cbye%0D%0A)

Hogy érdemes ezt diszkretizálni (numerikus stabilitás és hasonlók szempontjából)? Ha kifejtem a d/dr-es tagot, megjelenik a K deriváltja is:

1/r d/dr(K r T') = T'' + K/r T' + K'T' (http://wmi.math.u-szeged.hu/~kovzol/TeX/TeX.php?code=%5Cnopagenumbers%0D%0A%24%24%7B1%5Cover+r%7D+%7B%5Cpartial+%5Cover+%7B%5Cpartial+r%7D%7D+%28K+r+%7B%7B%5Cpartial+T%7D+%5Cover+%7B%5Cpartial+r%7D%7D%29%3DK+%7B%7B%5Cpartial%5E2+T%7D+%5Cover+%7B%5Cpartial+r%5E2%7D%7D%2B%7BK%5Cover+r%7D%7B%7B%5Cpartial+T%7D+%5Cover+%7B%5Cpartial+r%7D%7D%2B%7B%7B%5Cpartial+K%7D+%5Cover+%7B%5Cpartial+r%7D%7D%7B%7B%5Cpartial+T%7D+%5Cover+%7B%5Cpartial+r%7D%7D%24%24%0D%0A%5Cbye%0D%0A)

Ilyenre gondoltam első közelítésben (FTCS módszer):

click (http://wmi.math.u-szeged.hu/~kovzol/TeX/TeX.php?code=%5Cnopagenumbers%0D%0A%24%24%5Crho_n+c_n+%7B%7BT_n%5E%7Bj%2B1%7D-T_n%5Ej%7D+%5Cover+%7B%5CDelta+t%7D%7D%3D+K_n+%7B%7BT_%7Bn%2B1%7D%5Ej-2T_n%5Ej%2BT_%7Bn-1%7D%5Ej%7D+%5Cover+%7B%28%5CDelta+r%29%5E2%7D%7D+%2B+%28%7BK%5E%5Cprime%7D_%7Bn%7D%2B%7B%7BK_n%7D%5Cover+n%7D%29%7B%7BT_%7Bn%2B1%7D%5Ej-T_%7Bn-1%7D%5Ej%7D+%5Cover+%7B2%5CDelta+r%7D%7D%2BQ_n%24%24%0D%0A%5Cbye%0D%0A)

Minden r-től függő mennyiséghez fel van véve egy N elemű tömb, annak az alsó indexben n. elemei szerepelnek a fenti képletben. K'-t is az elején gondoltam kiszámítani, és azt is egy tömbbe eltárolni. Fizikailag amúgy sincs nagy jelentősége annak a tagnak, csak akkor, ha folytonosan változnak a tesztcsőben lévő anyag tulajdonságai. Ebből az egyenletből kell kifejezni T^(j+1)-et, azaz a következő időlépésbeli hőmérsékleteket.

Szóval: ötletek, tippek, amidoinitrite?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2007-12-20, 18:42:29
Köszi mindenkinek a segítséget (:D), erre jutottam, ha érdekel valakit:

[spoiler]#include<stdio.h>
#include<stdlib.h>
#include<math.h>

double* vallocd(int n) {
double *vek;

vek = (double *) calloc(n,sizeof(double));
if(vek == NULL) {
fprintf(stderr,"Memory allocation error\n");
exit(13);
}
return vek;
}

void initvecLinear(double *vec, int vsize, double initval0, double initval1) {
int i;

for (i=0;i<vsize;i++) {
vec[i] = initval0 + i*initval1;
//printf("%lf\t", vec[i]);
}
//printf("\n");
}

void initvecStep(double *vec, int vsize, int *initstepsArr, double *initvalsArr) {
int i, k, d;

i = 0;
d = initstepsArr[0];
while (i<vsize) {
for (k=0;k<d;k++) {
for (i=((k==0)?0:initstepsArr[k]);i<((k==d)?vsize:initstepsArr[k+1]);i++) {
vec[i] = initvalsArr[k];
// printf("%lf\n", vec[i]);

}
}
}

}

void calckprime(double *vec0, double *vec1, int vsize, double scale) {
int i;
double sc;

sc = 0.5 * ((double) vsize) / scale;
vec1[0] = vec0[1] - vec0[0];
for (i=1;i<vsize-1;i++) {
vec1[i] = sc * (vec0[i+1] - vec0[i-1]);
}
vec1[vsize-1] = vec0[vsize-1] - vec0[vsize-2];
/*for (i=0;i<vsize;i++) {
printf("%lf\t", vec1[i]);
}
printf("\n");*/

}

void calcrinv(double *vec, int vsize, double scale) {
int i;
double sc;

sc = ((double) vsize) / scale;
vec[0] = sc*3;
for (i=1;i<vsize;i++) {
vec[i] = sc / i;
}
/*for (i=0;i<vsize;i++) {
printf("%lf\t", vec[i]);
}
printf("\n");*/

}


int main(int argc, char *argv[]) {
double *T0, *T1, *sar, *roinv, *cinv, *k, *kprime, *rinv, *tempptr;
double t, dt, drinv, tmax, scale, c0, k0, ro0, T00, sar0, Tbound, s;
int i, imax;
FILE *fki, *fparam;

/***********************************************/
/*Default set of initial values*/
scale = 0.015; //m
imax = 300; //
dt = 0.001; //s
tmax = 2000.0; //s
T00 = 28; //degC
ro0 = 1000.0; //kg/m^3
c0 = 4200.0; //J/kg/degC
k0 = 0.5; //W/m/degC
sar0 = 0; //W/kg
Tbound = 40; //degC
/***********************************************/

/*checking arguments*/
if (argc < 2) {             
fprintf(stderr,"Usage: hovezetes out_file\n");
exit(1);
}

/*opening parameter file*/
fparam = fopen(argv[1],"r");
if (fparam == NULL) {
fprintf(stderr,"Could not open parameter file\n");
exit(2);
}

/*opening file for output*/
fki = fopen(argv[2],"w");
if (fki == NULL) {
fprintf(stderr,"Could not open output file\n");
exit(3);
}

/*Parsing parameters*/

/**TODO***/

drinv = ((double) imax) / scale;

/*Allocating vectors*/
T0 = vallocd(imax);
T1 = vallocd(imax);
roinv = vallocd(imax);
sar = vallocd(imax);
cinv = vallocd(imax);
k = vallocd(imax);
kprime = vallocd(imax);
rinv = vallocd(imax);

/*Filling them with their initial values*/
initvecLinear(T0, imax, T00, 0);
initvecLinear(T1, imax, T00, 0);
initvecLinear(roinv, imax, 1/ro0, 0);
initvecLinear(cinv, imax, 1/c0, 0);
initvecLinear(k, imax, k0, 0);
calcrinv(rinv, imax, scale);
calckprime(k, kprime, imax, scale);

/*Applying boundary condition*/

T0[imax-1] = Tbound;
T1[imax-1] = Tbound;


for (t=0;t<tmax;t+=dt) {
for (i=imax-2;i>=1;i--) {
s = k[i]*roinv[i]*cinv[i];
T1[i] = T0[i]+(s*drinv*drinv*(T0[i+1]-2*T0[i]+T0[i-1])+0.5*drinv*(kprime[i]*roinv[i]*cinv[i]+s*rinv[i])*(T0[i+1]-T0[i-1])+sar[i]*cinv[i])*dt; //long line is looong
}
s = k[0]*roinv[0]*cinv[0];
T1[0] = T0[0] + (s*drinv*drinv*(2*T0[1]-2*T0[0])+0.5*drinv*(kprime[0]*roinv[0]*cinv[0]+s*rinv[0])*(T0[1]-T0[0])+sar[0]*cinv[0])*dt;
//T1[0] = T0[1];
if (floor(t+dt)-floor(t)>=1) {
for (i=0;i<imax;i++) {
fprintf(fki, "%lf\t", T1[i]);
}
fprintf(fki, "\n");
}

tempptr = T1; //swapping pointers is easier than copying the entire array
T1 = T0;
T0 = tempptr;
}

fclose(fki); fclose(fparam);
free(T0); free(T1); free(sar); free(roinv);
free(cinv); free(k); free(kprime); free(rinv);
//free(willy);
}
[/spoiler]

Lefordul, lefut, és a mért görbékhez hasonlókat produkál. Az a gond, hogy c-t és k-t nem tudom, épp azt szerettem volna megmérni...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Solid Snake on 2007-12-20, 21:56:45
Sajnos jelenlegi állás szerint úgy tűnik, hogy Programozás alapjaiból nem kapok aláírást. :(
Írtam az ignoráns gyakorlatvezető tanárnak, hogy lesz-e aláíráspótlási alkalom. Majd elválik, hogy visszaír-e egyáltalán.

Azonban most a segítségeteket kérném: tudtok olyan szakirodalmat vagy netes tutorialt, ami tényleg emberi nyelven, érthetően, lépésről lépésre tanítja meg az embert a C nyelv alapvető programozási szintjére? Nem high tech anyagra van szükségem, inkább olyanra, ami ténylegesen az alapok alapját magyarázza el, egy kiindulópontot, ami hozzásegítene ahhoz, hogy aláíráspótláson (rosszabb esetben jövőre) "sikeresen" (vagyis a számomra megfelelő 2-essel) letudhassam ezt a tárgyat.

Előre is köszönöm, számítok rátok. ;)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2007-12-20, 22:11:43
Kernighan&Ritchie könyv ("A" C könyv más néven)?

[spoiler]Brian W. Kernighan-Dennis Ritchie: A C programozási nyelv, Műszaki könyvkiadó[/spoiler]

Egyébként meg van egy csomó tutorial a neten. Igaz, nem ismerem őket, nem tudom, melyik jó.

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2007-12-20, 22:13:47
Quote from: Solid Snake on 2007-12-20, 21:56:45
Sajnos jelenlegi állás szerint úgy tűnik, hogy Programozás alapjaiból nem kapok aláírást. :(
Írtam az ignoráns gyakorlatvezető tanárnak, hogy lesz-e aláíráspótlási alkalom. Majd elválik, hogy visszaír-e egyáltalán.

Azonban most a segítségeteket kérném: tudtok olyan szakirodalmat vagy netes tutorialt, ami tényleg emberi nyelven, érthetően, lépésről lépésre tanítja meg az embert a C nyelv alapvető programozási szintjére? Nem high tech anyagra van szükségem, inkább olyanra, ami ténylegesen az alapok alapját magyarázza el, egy kiindulópontot, ami hozzásegítene ahhoz, hogy aláíráspótláson (rosszabb esetben jövőre) "sikeresen" (vagyis a számomra megfelelő 2-essel) letudhassam ezt a tárgyat.

Előre is köszönöm, számítok rátok. ;)

Ezek nekem elég jók voltak :)

A mi "A Programozás Alapjai" tárgyunk honlapja: http://www.eet.bme.hu/vieea100/ (http://www.eet.bme.hu/vieea100/)
A gyakorlatvezetőm honlapja: http://www.hit.bme.hu/~szandi/prog1/index.htm (http://www.hit.bme.hu/~szandi/prog1/index.htm)

Jól le vannak írva az algoritmusok, példaprogramok ezeken az oldalakon szerintem.

Edit: A Kernignan & Ritchie könyv nekem megvan pdf-ben angolul, azt át tudom küldeni a ha szeretnéd.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Solid Snake on 2007-12-20, 22:25:07
Quote from: kikuchiyo on 2007-12-20, 22:11:43
Brian W. Kernighan-Dennis Ritchie: A C programozási nyelv, Műszaki könyvkiadó

Azt vettem meg 2000 Ft-ért. Azt olvastam el kb. 150 oldalig. Attól ment fel leginkább az agyvizem a banális és túlontúl bonyolított magyarázatokkal.
Az én programozásra primitív agyam egyszerűen nem volt képes befogadni annak a könyvnek a tartalmát.  :ejj: :frown:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2007-12-20, 22:28:58
"ignoráns gyakorlatvezető" -> ?
ignoráns = tudatlan, de leginkább nem használjuk magyarul
biztos ezt a szót kerested?

Én sosem olvastam semmilyen C könyvet, az egyetemi előadás bőven elég volt az alapinformációk felszívására, a többi meg nem annyira tanulható könyvből (ebben pl. más a C++).
Ha sima C-ről van szó (tehát nem C++), akkor vagy megy "magadtól", vagy sehogy.
A "magadtól" természetesen nem úgy értendő, hogy úgy születsz.
A legfontosabb, hogy írj sok kódot. Otthon telepítsd fel kedvenc fordítódat és fejlesztőkörnyezetedet, és kezdj el C-ben kódolni, hibát keresni, megérteni, megtanulni, kijavítani, tovább kódolni. Masszívan.
Ha elég jól meg van szervezve a laborgyakorlat + házi feladat rendszer, az sokat segíthet; ha meg nem, akkor légy autodidakta (+ kérj segítséget havertól, tőlünk, stb. ha megakadsz).

És hamár Xzone szóba hozta Szandit, az oldaláról ajánlom ezt a linket: http://www.hit.bme.hu/~szandi/prog1/stdc.pdf
Ezt tök hasznos kinyomtatni egy lap két oldalára, és magaddal hordani / programozás közben az orrod előtt tartani. Nálunk ZH-n is szabad volt használni.
Ami rajta van a lapon, azt eszedbe ne jusson bemagolni.

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2007-12-20, 22:29:18
Egy tanács SS-nek:

A hozzászólásaidból az jön le nekem, hogy utálod az egészet, a tököd tele van a programozással.
Ez nem jó, ilyen lelkiállapottal/hozzáállással nem lehet megtanulni.

Úgy lehet megtanulni, ha magad elkezdesz programokat írogatni. Nem kell a semmiből újraírni egy nap alatt a linux kernelt, kis vackokat is elég, amiken a nyelv épp megtanult feature-eit ki tudod próbálni. Pusztán könyvből nem lehet megtanulni, gyakorolni kell.

Persze tipikusan a programozás nem szórakoztató, amikor órákon keresztül nem érted, miért nem működik, pedig már minden sort átnéztél hatszor, aztán kiderül, hogy egy lényegtelennek látszó helyen >-t írtál >= helyett. De ha végül sikerül életre csiholni, az valamelyest sikerélményt jelent.

Persze én is csak fél-háromnegyed-(1-epszilon)-amatőr vagyok...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Solid Snake on 2007-12-20, 23:07:13
Köszi a segítséget, igyekszem megfogadni a tanácsaitokat.

Quote from: Próféta on 2007-12-20, 22:28:58
Ha sima C-ről van szó (tehát nem C++), akkor vagy megy "magadtól", vagy sehogy.
A "magadtól" természetesen nem úgy értendő, hogy úgy születsz.

Ebben mélyen egyetértek veled.
Bár a máig kedvenc tanárom, a középsulis töritanárnő azt mondta, hogy a programozásra születni kell.

Quote from: kikuchiyo on 2007-12-20, 22:29:18
A hozzászólásaidból az jön le nekem, hogy utálod az egészet, a tököd tele van a programozással.
Ez nem jó, ilyen lelkiállapottal/hozzáállással nem lehet megtanulni.

Igazad van. Mindig is gyűlöltem a programozást pontosan azért, mert nem egzakt tudományág. Az alapdolog megegyezik, az igazsághoz azonban több út vezet el, legoptimálisabb megoldás nem létezik, valóban az önállóságon múlik nagyrészt a dolog. Soha nem tudtam sikeresen programozni. Nem láttam át, hogy miért vannak úgy a dolgok egy-egy programban, ahogy. Nem vagyok programozó. Nem is az akarok lenni. Viszont sajnos van ilyen tantárgy is ezen a szakon, így hát akár akarom, akár nem, mindenképpen át kell mennem legalább 2-es érdemjeggyel.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2007-12-20, 23:22:50
Quote from: kikuchiyo on 2007-12-20, 22:29:18
aztán kiderül, hogy egy lényegtelennek látszó helyen >-t írtál >= helyett.
Engem inkább az idegesít fel, amikor valahol kimarad egy }, és nem tudok rájönni hogy hol...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2007-12-20, 23:32:02
Quote from: Solid Snake on 2007-12-20, 21:56:45
Azonban most a segítségeteket kérném: tudtok olyan szakirodalmat vagy netes tutorialt, ami tényleg emberi nyelven, érthetően, lépésről lépésre tanítja meg az embert a C nyelv alapvető programozási szintjére? Nem high tech anyagra van szükségem, inkább olyanra, ami ténylegesen az alapok alapját magyarázza el, egy kiindulópontot, ami hozzásegítene ahhoz, hogy aláíráspótláson (rosszabb esetben jövőre) "sikeresen" (vagyis a számomra megfelelő 2-essel) letudhassam ezt a tárgyat.
Ahogy már egy páran írták előttem, olvasgasd A C könyvet. Meg ott a help, ne félj nyomkodni az F1-et.

Quote from: kikuchiyo on 2007-12-20, 22:29:18
Persze tipikusan a programozás nem szórakoztató, amikor órákon keresztül nem érted, miért nem működik, pedig már minden sort átnéztél hatszor, aztán kiderül, hogy egy lényegtelennek látszó helyen >-t írtál >= helyett.
Ezek szerint csak én látok valamiféle perverz szépséget az ilyenekben? :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2007-12-20, 23:36:49
Quote from: Darkstar on 2007-12-20, 23:22:50
Engem inkább az idegesít fel, amikor valahol kimarad egy }, és nem tudok rájönni hogy hol...
PROTIP: zárójelet, kacsacsőrt, idézőjelet, szögletes dobozt mindig nyitó-csukó párral kell egyszerre létrehozni, és utána visszamászni és beírni a tartalmát. Úgy nem marad félbe.

Amúgy jobb IDE-k segítenek maguktól indentálni (behúzni) a szöveget, hogy feltűnőbb legyen, ill. ha ráállsz egy kapocsra, akkor megjelöli a párját, és mindjárt látod, ha nem stimmel a dolog.
De persze én is szeretek szövegszerkesztővel kódolni, parancssorból fordítani, mert az úgy vagányabb :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2007-12-20, 23:38:31
$cat > code.c FTW :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2007-12-20, 23:38:43
Quote from: Próféta on 2007-12-20, 23:36:49
PROTIP: zárójelet, kacsacsőrt, idézőjelet, szögletes dobozt mindig nyitó-csukó párral kell egyszerre létrehozni, és utána visszamászni és beírni a tartalmát. Úgy nem marad félbe.
Úgy szoktam, de néha véletlen sikerül egyet véletlenül kitöröln, felülírni, etc, és akkor kezdődhet a játék. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2007-12-20, 23:45:20
Ha már programozásnál tartunk, találtam egy jó hacking manualt, arról, hogy hogyan kell kihasználni a puffertúlcsordulásokat és hasonlókat, talán érdekli a t. társaságot:
Not A Rickroll (http://kikuchiyo.interhost.hu/Erickson_Jon_Hacking.chm)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2007-12-20, 23:46:31
Quote from: kikuchiyo on 2007-12-20, 23:38:31
$cat > code.c
:ejnye:
$hexedit a.out && chmod +x a.out :lazza:
(Én régen komolyan azt hittem, így műxik a programozás. Persze akkor még nem tudtam, mi az a chmod.)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2007-12-27, 19:36:24
XML-hez ért valaki? Jól látom, hogy nem lehet benne feltételt megadni?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2007-12-27, 19:43:04
Quote from: Selmo on 2007-12-27, 19:36:24
XML-hez ért valaki? Jól látom, hogy nem lehet benne feltételt megadni?
XML simán egy dokumentumfát (DOM) ír le, semmiféle időbeliség vagy logika nincs benne, még formázás se.
Esetleg XSLT (http://en.wikipedia.org/wiki/XSLT_elements)-re gondoltál? Abban természetesen van xsl:if, xsl:choose, stb.
Vagy félreértelek? Tulajdonképpen mire akarod használni az XML-t?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2007-12-27, 20:22:10
Nem, XML. Telepítési leíró lenne belőle és szükség lenne a kódolás lekérdezésére, hogy melyik fájlt másolja fel. De akkor erre marad a PHP vagy két telepítőcsomag.
Probléma megoldva, csak egy error="skip" kellett bele. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-01-02, 15:31:05

#include <iostream>

int main()
{
std::cout << "Hello world!" << std::endl;
return 0;
}



ehhez kéne egy lgraph.h-t írni, ti hogy csinálnátok?  :D és minnél hamarabb kéne, ha lehetséges ;) cenzored
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-01-02, 15:41:14
Quote from: chilip on 2008-01-02, 15:31:05
ehhez kéne egy lgraph.h-t írni, ti hogy csinálnátok?  :D és minnél hamarabb kéne, ha lehetséges ;)
Ha segítséget vársz el, talán áruld el azt is, hogy mit kéne tudnia ennek az LGraph osztálynak, meg a yourmark glob értéknek?
Vagy mindegy, csak leforduljon?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-01-02, 15:41:51
jah :D

ed.: sorry, picit belejavítottam, uccsó sor hibás volt :P most már jó sztem a kód, a lényeg hogy leforduljon, sztem most a feladat eggyelőre hogy le tudja tárolni az adatokat a class...

ed.2.:

volt itt egy előző feladat ami hasonló volt (most is valami ilyesmi a feladat)
ez egy korábbi ZH példa alapján készült :D

itt a korábbi
<< aaaa >> (http://people.inf.elte.hu/chilip/extra/Pictures/aaaa.bmp)
<< aaaa >> (http://people.inf.elte.hu/chilip/extra/Pictures/aaaa.bmp)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-01-02, 16:16:37
Quote from: chilip on 2008-01-02, 15:41:51
ed.: sorry, picit belejavítottam, uccsó sor hibás volt :P most már jó sztem a kód, a lényeg hogy leforduljon
Az előbb belinkelt Graph.h-ból kiindulhatsz?
Mert ha igen, akkor hol a probléma?  :3x3:
Simán felokosítod, hogy címkézett élei legyenek. Ennek megfelelően az adjacenciamátrixban a belső set-et map-re cseréled, és az azt bántó/olvasó metódusokat is megfelelően módosítod. Template nincs, és kidobod ami nem kell (dir, mindenféle metódusok), összvissz ugye default konstruktor, copy konstruktor, és a két add() overload maradjon.

Quote from: chilip on 2008-01-02, 15:31:05és minnél hamarabb kéne, ha lehetséges ;)
Hmmm, vizsga? :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-01-02, 16:18:00
most lehet nagyon utálni fogsz, de beraknád ide ami marad? :P
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-01-02, 16:19:35
Quote from: chilip on 2008-01-02, 16:18:00
most lehet nagyon utálni fogsz, de beraknád ide ami marad? :P
Nem foglak nagyon utálni, de nem.
Ha innen nem megy, és nem tudod konkrétabban jelezni, hogy min akadtál el, akkor megérdemled.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-01-02, 16:31:08
nos, elkezdtem módosítani, de rengeteg hiba van benne még és a felét nem értem miért...  :3x3:

repost.: prob az hogy mikor megláttam előző ZH példát, megörültem hogy csak ezzel kell mahinálni és elkezdtem analízist tanulni (azt most nagyon kell) és uccsó pár napra hagytam ezt, csak mivel most fél év kimaradt mindenféle C++ nélkül és elötte is csak alapszinten oktatták a nagyon n00b dolgokat (EAF 1) ... beadandóját ennek megírtam, de az teljesen más típusú volt mint a ZH (grep unix parancs implementálása - nagyon kis segítséggel meglett 4es) , és most ezt nem akarom még1x lenyomni  :_piszka: érdekel a C++ , és gyakorolnám is csak most van 2 tárgyam amit harmadszorra vettem fel...

meg amit bevágtam az csak egy 2es, tehát nem vagyok telhetetlen :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-01-02, 16:53:03
Quote from: chilip on 2008-01-02, 16:31:08nos, elkezdtem módosítani, de rengeteg hiba van benne még és a felét nem értem miért...  :3x3:
A C/C++ fordítók egész értelmes hibaüzeneteket tudnak (általában) adni, ha meghiúsul a fordítás. Ha nem érted, mit ír, akkor kérdezd meg tőlünk, esetleg kódmintával együtt. De ne várd, hogy helyetted megírjuk.

Amúgy meg gondolom az, hogy törlöd a template<> szöveget, és helyette mondjuk "typedef int T;" definíciót írsz, meg törlöd a fölösleges metódusokat és az operátort  overloadot, az megy egyedül is. Ezen kívül a set<> cserélendő map<>-re g_t-ben, hogy ne simán csúcshalmazzal legyen összekötve a csúcs, hanem mindegyik összekötéshez egy string címke rendelődjön. Ehhez az új struktúrához hozzáigazítod az add-okat (pl. 2 helyett 3 paraméter).
A sima konstruktor mellé kellene copy konstruktor a mező áthozására, de helyette inkább próbáld meg, hogy a sima konstruktort is eltünteted, mert úgy egyáltalán nem lesz deklarált konstruktorod, és ilyenkor sacc/kb  sekély másolást csináló copy konstruktor generálódik.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-01-02, 19:06:34
nos nem sikerült, de annyi baj legyen :D progkör 4es lett  :whoah: ez már megcsinálta a napom :D Próféta, köszi a segítséget, a kódot meg lecenzúrázom :D (ne legyen belőle probléma) majd legközelebb jobban iparkodom. ;)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2008-01-08, 18:43:52
Különböző programnyelvek összehasonlítása példaprogramok segítségével:
The Computer Language Benchmarks Game (http://shootout.alioth.debian.org/gp4/)

Engem meglepett, hogy a Java ennyire jól teljesít. Eszembe nem jutott volna pl. n-test-szimulációt írni benne, mégis, a teszt szerint majdnem olyan gyors, mint a C++ (és nem csak annál az egynél).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-01-08, 19:44:33
Quote from: kikuchiyo on 2008-01-08, 18:43:52
Különböző programnyelvek összehasonlítása példaprogramok segítségével:
The Computer Language Benchmarks Game (http://shootout.alioth.debian.org/gp4/)

Engem meglepett, hogy a Java ennyire jól teljesít. Eszembe nem jutott volna pl. n-test-szimulációt írni benne, mégis, a teszt szerint majdnem olyan gyors, mint a C++ (és nem csak annál az egynél).
Az egyik trükk, hogy server VM-et használnak.

A másik, hogy most 2008 van, nem 1998 :) A Java már nem interpretált nyelv, hanem rendes-tisztességes compileren megy át. Ez a compiler JIT, tehát amikor futni akar egy kód, akkor kerül gyorsan lefordításra natív kóddá (mindjárt figyelembe véve a processzor, cache, stb. sajátságokat, amit precompiler esetén nem lehet). Sőt, a JIT révén még vannak elborult trükkök, hogy pl. runtime újrafordítja-átoptimalizálja az elágazást, ha a használat rácáfol a branch predictionre.

A harmadik, hogy szemétgyűjtéses (GC) memóriakezelést használ, amit szoktak szidni a lassúsága miatt, de amíg a program memóriája nem fogy el, csak foglal és kilépéskor felszabadít, addig a GC sem lassabb, sőt, az új objektum foglalása meg kimondottan gyorsabb (1 db. heap pointert kell megtolni). Már tervezik, hogy C++-ba is bekerül :)

Itt írnak még csomó ilyet: http://www.idiom.com/~zilla/Computer/javaCbenchmark.html
(mondjuk itt direkt sokkolni akarnak olyan példákkal, hogy a java a gyorsabb, ami simán előfordulhat, de azért nem jellemző)

Amúgy az MSIL (also known as .NET) is hasonló.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2008-01-17, 01:23:00
Tegyük fel, hogy egy bizonyos 32 bites architektúrán nincs natív lebegőpontos támogatás. Ezért fixpontos reprezentációt használnék, azaz megszorzom a számokat 2N-nel (ahol N mondjuk 28), és (int)-té alakítom őket.
Az ilyen módon reprezentált számok összeadása triviális, a szorzásuk nem annyira: a naiv eljárás az, hogy az egyiket 64 bites egésszé konvertálom, beszorzom a másikkal, az eredményt right shiftelem N-nel, és visszaalakítom 32 bites egésszé. Ebben az a fájdalmas, hogy a regiszterek 32 bitesek, így a típuskonverzióhoz ki kell nyúlni a memóriába, maszatolni az ottani értékekkel, majd visszaolvasni a memóriából.

Jó lenne, ha az egész műveletet le lehetne rendezni csak a regiszterek használatával. Mondjuk így:
#define FixptMultiply(x, y) ((x>>14)*(y>>14) + (((x>>14)*(y&0x7FFF))>>14) + (((y>>14)*(x&0x7FFF))>>14))

Ennek a módszernek az előnye, hogy nem kell típuskonverziót végezni, minden művelet belefér a 32 bites regiszterekbe (elvileg), ráadásul a shiftelések gyorsak.
QuoteAnother unique feature of the instruction set is the ability to fold shifts and rotates into the "data processing" (arithmetic, logical, and register-register move) instructions, so that, for example, the C statement

    a += (j << 2);

could be rendered as a single word, single cycle instruction on the ***.

    ADD Ra, Ra, Rj, LSL #2

Hátránya, hogy egyelőre nem látom, hogy előjeles egészekre is működne, és három szorzást (meg két összeadást és két maszkolást) kell végrehajtani.
Továbbá az eldobott ((x&0x7FFF)*(y&0x7FFF))>>28 tag miatt veszthetünk a pontosságból.

Van erre valami általam nem ismert, intelligensebb, fájdalommentesebb megoldás?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-01-17, 03:20:39
Quote from: kikuchiyo on 2008-01-17, 01:23:00Hátránya, hogy egyelőre nem látom, hogy előjeles egészekre is működne, és három szorzást (meg két összeadást és két maszkolást) kell végrehajtani. Továbbá az eldobott ((x&0x7FFF)*(y&0x7FFF))>>28 tag miatt veszthetünk a pontosságból.
Anélkül is vesztesz a pontosságból, pusztán azzal, hogy feldaraboltad és külön kerekítetted. Amúgy most fáradt vagyok, de a 0x7FFF nem túl sok bit? Ha meg nem túl sok, akkor ennek az utsó tagnak még a korai kerekítés miatt 0-vá kell válnia.
Előjeles: TFH 2-es komplemens ábrázolás, mert van még ugye többféle is.
+0.1=0.8000000; -0.1 = F.8000000. Ezek >>14 csonkolása 2000 és 3E000, szorzatuk 7.C000000, nem pedig F.4000000 :( Remélem elszámoltam.
Az overflow is nagy szopás lehet.

EDIT: ja most jut eszembe, az előjeleken segíthet, ha megválasztod, a shift milyen biteken hozzon be balról. Negatívnál hozz be 1-est!

Quote from: kikuchiyo on 2008-01-17, 01:23:00
Van erre valami általam nem ismert, intelligensebb, fájdalommentesebb megoldás?
Ha van, én sem ismerem. http://prog.hu (http://prog.hu) tudástár, perchance?

Nagyon nagy hajtás lehet ám, ha itt a shift-ek számával akarsz spórolni :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2008-01-17, 12:24:00
Azt közben beláttam, hogy az arithmetic shift (ami a legfelső bitet tologatja be nulla helyett, kettes komplemenses ábrázolásnál 1-et) elvileg jó negatív számokra is.

Azt viszont nem értem, hogy miért veszítenék a pontosságból pusztán a szétdarabolással.
Végül is csak annyit csinálok, hogy ha x és y a két összeszorzandó szám, akkor úgy írom fel őket, hogy x0+x1ε és y0+y1ε. A szorzatuk:
x0y0+(x0y1+x1y0)ε+x1y1ε2.

Megfelelő ε választásával (vagyis a megfelelő shift-faktorral és bitmaszkkal) az első tag a szorzatban pont kitölti a 32 bitet, a második tagból a leshiftelés azt dobja el, ami amúgy sem férne bele a 32 bites pontosságba, a harmadik tag pedig elfelejthető (illetve ott a kerekítés miatt veszíthetünk némi pontosságot.) Az persze valószínű, hogy a >>14 és a 0x7FFF nem megfelelő.

BTW ne aggódj, nem éles projekt :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-01-17, 14:05:24
Quote from: kikuchiyo on 2008-01-17, 12:24:00
Azt viszont nem értem, hogy miért veszítenék a pontosságból pusztán a szétdarabolással.
Végül is csak annyit csinálok, hogy ha x és y a két összeszorzandó szám, akkor úgy írom fel őket, hogy x0+x1ε és y0+y1ε. A szorzatuk:
x0y0+(x0y1+x1y0)ε+x1y1ε2.
Persze, de (x0y1+x1y0)ε  !=  x0y1ε+x1y0ε
Az első eset túlcsordulás oldalról veszélyesebb, a második pontatlanabb (mert összeadáskor le vannak csonkolva). Te a másodikat írtad fent.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2008-02-05, 00:24:18
Beszél itt valaki assemblyül? Különös tekintettel a MASM dialektusra?

Egy ugrótáblát kellene megvalósítanom inline assambly makrókkal C-ben.

int a[0xff];
int index;

/*
* Random kód, ami feltölti a tömböt a szükséges címekkel, és kiszámolja a megfelelő indexet
*/

__asm {
/*
* And now what?
*/
}

Valószínűleg csak egy JMP utasítás kell a megfelelő paraméterekkel, de az a baj, hogy a szintaktikát sem vágom, és egésznapi guglizás után sem sikerült egy értelmes tutoriált találnom, amivel rávehetném, hogy ugorjon az a[index] által mutatott címre.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-02-05, 00:39:45
x86? protected mode? milyen széles az int?

Ezt most elsőre biztos full hibásan írom, de szvsz kiindulásnak valami ilyesmi:

mox ax, a ; remélem itt cím adódik át, ha nem, kell indirekciózni ; esetleg kell [ ] az a köré
add ax, index ; remélem itt meg index változó értéke adódik át; vajon szorozni kell-e indexet sizeof int-tel?
jmp ax ; ez kis mázlival az ax által mutatott címre ugrik; ez így valószínűleg kódszegmensen belüli ugrás, lehet, hogy long jump kéne.
Innen talán már kidebuggolható valami működőre. Vagy ezzel nem segítettem sokat?
Jaj, de régen volt is ez.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-02-05, 00:45:46
aszonták nekem infós kollegák (helyesbítek: Rage-nek köszönd), hogy:

http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
http://moonbase.wwc.edu/~aabyan/215/inline.html

legalábbis ez nekem inline assemblynek tűnik, mérőtárs miatt lett meg egyedül az a mérés, én nem vágom :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2008-02-05, 00:51:04
vigyázz, a gcc at&t syntaxot használ, ami tök más, mint a masm.

Próféta kódja úgy ránézésre, hunyorítva elvileg jó lehet, persze mox=mov és ax=eax.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2008-02-05, 01:12:07
Quote from: Lt. Simoan Blarke on 2008-02-05, 00:45:46
aszonták nekem infós kollegák (helyesbítek: Rage-nek köszönd), hogy:

http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
http://moonbase.wwc.edu/~aabyan/215/inline.html

legalábbis ez nekem inline assemblynek tűnik, mérőtárs miatt lett meg egyedül az a mérés, én nem vágom :D
Köszönöm, ezeket én is megtaláltam. Ha a gcc-t használhatnám, én lennék a legboldogabb, de ennek Visual Studioban is fordulnia kell. gcc tudja a computed gotot, oda nem is kellene assembly. Damn' windows users :mad:

Quote from: Próféta on 2008-02-05, 00:39:45
x86? protected mode? milyen széles az int?

Ezt most elsőre biztos full hibásan írom, de szvsz kiindulásnak valami ilyesmi:

mox ax, a ; remélem itt cím adódik át, ha nem, kell indirekciózni ; esetleg kell [ ] az a köré
add ax, index ; remélem itt meg index változó értéke adódik át; vajon szorozni kell-e indexet sizeof int-tel?
jmp ax ; ez kis mázlival az ax által mutatott címre ugrik; ez így valószínűleg kódszegmensen belüli ugrás, lehet, hogy long jump kéne.
Innen talán már kidebuggolható valami működőre. Vagy ezzel nem segítettem sokat?
Jaj, de régen volt is ez.
Of course, x86, protected mode, 32 bit.
Én is az értékátadással szívtam, akárhogy variáltam szögleteszárójellel, offsettel, ptr-el, sose azt adta át, ami nekem kellett volna :( Konstanssal sikerült már megcímezni a tömböt, de változóval nem akar összejönni. Azért köszönöm neked is.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-02-05, 01:42:04
Quote from: Manitu on 2008-02-05, 01:12:07Én is az értékátadással szívtam, akárhogy variáltam szögleteszárójellel, offsettel, ptr-el, sose azt adta át, ami nekem kellett volna :( Konstanssal sikerült már megcímezni a tömböt, de változóval nem akar összejönni.
Akkor
mov ecx, index
mul ecx, SIZEOF int
add eax, ecx

a középső sor helyett?

Itt biztos vannak mintakódok: http://msdn2.microsoft.com/en-us/library/5sds75we.aspx

Amúgy mire kell?
Függvénypointerek tömbje nem oldja meg?
Vagy gcc-vel lefordítod a kérdéses részt, és linkeled?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2008-02-05, 02:06:57
Quote from: Próféta on 2008-02-05, 01:42:04
Vagy gcc-vel lefordítod a kérdéses részt, és linkeled?
Ezt a gányolást csak nagyon végső esetben alkalmaznám.
Függvénypointer nem jó, a jelenlegi kódban egy többezer soros switch van, azt kellene lecserélni valami gyorsabbra. Ha sikerülne megcsinálni, akkor pont egy függvényhívást, és a switchet spórolnám meg. Szóval a sebesség lenne a lényeg. Egy disassembler-szerűségről van szó egyébként.

Quote from: Próféta on 2008-02-05, 01:42:04
Itt biztos vannak mintakódok: http://msdn2.microsoft.com/en-us/library/5sds75we.aspx
Vesszek meg, fölforgattam az egész msdn-t valami ilyesmi után, de nem találtam meg. Leköteleztél :hail:



Edit:
Quote from: Próféta on 2008-02-05, 01:42:04
Quote from: Manitu on 2008-02-05, 01:12:07Én is az értékátadással szívtam, akárhogy variáltam szögleteszárójellel, offsettel, ptr-el, sose azt adta át, ami nekem kellett volna :( Konstanssal sikerült már megcímezni a tömböt, de változóval nem akar összejönni.
Akkor
mov ecx, index
mul ecx, SIZEOF int
add eax, ecx

a középső sor helyett?
És valóban ez volt a megoldás. Mire leesett, hogy egy sorban csak egy változót tud lekezelni a fordító :redface: De a lényeg: úgy tűnik működik. Mégegyszer köszönöm a segítséget.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-03-24, 16:50:54
(Előző post out-of date, törölve)

Need c++ grafikus ALGORITMIKUS help. Adott nekem egy olyan feladat, hogy NURBS (http://en.wikipedia.org/wiki/NURBS)-szal ki kéne rajzolnom egy Sz-t, Catmull-Clark (http://en.wikipedia.org/wiki/Catmull-clark)-kal egy G-t. Namost. a NURBS algoritmusát úgy ahogy van nem értem. A Catmull-Clark-é már so-so, de ami leírás van róla wikipedián, annak alapján ez arra való, hogy egy térbeli objektum felületének a simaságát állítgassam vele. Hátde wtf, most csináljak egy G formájú hurkát? Kábé rohadtul nem értem mit kezdjek a C-C-vel egy G betű görbénél.

A konkrét feladat:
Írjon programot, amely a monogramját a képernyõre rajzolja tetszõleges színnel! A háttérszín a rajzolási szín komplementere, azaz amellyel keverve fehér színt kapunk. A vezetéknévhez NURBS görbét, a keresztnévhez Catmull-Clark felosztott görbét alkalmazzon! Ha a felhasználó az egér bal gombjával a képre bök, a görbék simaságát növelje! Ha a jobb gombbal bökne a képre, akkor csökkentse!

A második kérdés má az lenne ezek után, hogy glut-tal hogy kell rajzolni a képernyőre, de szerintem abban a NeHe már segíteni fog.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2008-03-24, 17:14:53
Jajjajaj. Tanultam jo regen Spline-gorbekrol, de mar mindent elfelejtettem.
Ha segit: http://mathworld.wolfram.com/NURBSCurve.html
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-03-24, 17:26:05
Emlékekben turkálva: nem volt a Catmullnak valami 2D görbékre való változata is? Nekem így rémlik. Ha nem, akkor bocsi. De úgy kéne működnie, hogy kábé G alakban felveszel egy törtvonalat, aztán az algoritmus majd szépen kisimítja.

NURBS-nál meg nyilván az a feladat, hogy vezérpontokat veszel fel kábé SZ alakban, és utána görbéket illeszt rájuk az algoritmus. A NURBS-ről mit magyarázzunk? Biztos elsütötték órán azt, ahogy a súlyfüggvényeket lépésről lépésre egybemossa, úgy lehet megérteni. Aztán programból meg nyilván nem így csinálod, az együtthatók rekurzív számítása a Kvikveg által linkelt oldal B-spline (http://mathworld.wolfram.com/B-Spline.html) címszavánál megtalálható; indítasz egy ciklust t=0-tól t=1-ig mondjuk 0.0001 lépésközzel, minden t-re kiszámolod a bázisfüggvényeket ezzel a módszerrel, és velük súlyozva átlagolod a kontroll pontokat, és az így kapott pont a görbe következő pontja.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-03-29, 14:15:56
Én ebből (http://www.iit.bme.hu/~cseb/Education/SzglabIII/index.htm) tanultam, amik itt vannak. Mondjuk mi ezt zhn is használhattuk. Mindenesetre sztm elég tömör és korrektül használható. Ha ez kevés, olvass hozzá API dokumentációt.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-04-08, 13:57:12
ADA-ba kéne egy kis segítség nekem, csomaggal nem boldogulok. nem fogadja el az "in out"-ot a tömb definiálásánal, ha meg kiveszem hiányolja teljesen érthető indokok miatt.

a kód így néz ki:
[spoiler]
Code (kupac.adb) Select
WITH Text_IO, Ada.Integer_Text_IO, kupac_csomag;
USE Text_IO, Ada.Integer_Text_IO;

PROCEDURE Kupac IS
   N, I: Integer := 0;

BEGIN
   Put("Add meg a tomb elemszamat: ");     
   Get(N);
   DECLARE
      -- TYPE TOMB IS ARRAY (1 .. N) OF Integer;
      T: TOMB;     
   BEGIN
      WHILE I /= N LOOP
         I := I + 1;
         Put("Add meg a tomb ");
         Put(I,3);
         Put(". elemet: ");
         GET(T(I));
      END LOOP;
      Rendez(T, N);
   END;
   
END Kupac;

Code (kupac_csomag.adb) Select
WITH Text_IO, Ada.Integer_Text_IO;
USE Text_IO, Ada.Integer_Text_IO;

PACKAGE BODY Kupac_Csomag IS

   FUNCTION Suly ( T : TOMB;
         U,
         V : Integer)return TOMB is

      L : Integer := 1; -- integerben kifejezett igazságérték 0/1
      H,
      Q,
      W : Integer := 0; -- Q, W a CSERE 2-höz kell
   BEGIN
      WHILE 2*U <= V AND L=1 LOOP
         IF 2*U+1 > V OR T(2*U) > T(2*U+1) THEN
            H := 2*U;
         ELSE
            H := 2*U+1;
         END IF;
         IF T(U) >= T(H) THEN
            L := 0;
         ELSE
            Q := T(U);             -- CSERE 2 eleje
            W := T(H);
            T(U) := W;
            T(H) := Q;             -- CSERE 2 vége
            U := H;
         END IF;
      END LOOP;
      RETURN(T);
   END Suly;
   FUNCTION Rendez (
         T : TOMB;
         N : Integer)
         RETURN TOMB IS
      Z : Integer;
      R, X, Y : Integer;
   BEGIN
      IF N = 1 THEN
         Put("Kupacrendezve: ");
         Put(T(1),4);
      ELSE                         -- KHEAP kezdése
         Z := N/2;
         WHILE Z >= 1 LOOP
            Suly(T, Z, N);
            Z := Z-1;
         END LOOP;                 -- KHEAP vége
         R := N;
         WHILE R >= 2 LOOP
            X := T(1);             -- CSERE 1 eleje
            Y := T(R);
            T(1) := Y;
            T(R) := X;             -- CSERE 1 vége
            Suly(T, 1, R-1);
            R := R-1;
         END LOOP;
      END IF;
      RETURN(T);
   END Rendez;
END Kupac_Csomag;


Code (kupac_csomag.ads) Select
PACKAGE Kupac_Csomag IS
   TYPE TOMB IS ARRAY (1 .. N) OF Integer;
   FUNCTION Rendez(T : TOMB; N : Integer) RETURN TOMB;
   FUNCTION Suly(T: TOMB; U, V : Integer) RETURN TOMB;
END Kupac_Csomag;
[/spoiler]

kupacrendezésről (heap) van szó.

kupac.adb-ben kikommenteltem a tömb definíciót, mert azt elvileg a csomag specifikációjában kell megadni. ezenkívül asszem még a with és use def.-eket használtam feleslegesen a kupac_csomag.adb-ben mert egyszer sírt hogy put miatt.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-08, 14:15:20
szarul paraméterezted (legalábbis annak alapján, amit én az ADA-ról tudok).

én úgy tudom (bár mi ADA83-as kódokkal dolgozunk), hogy minden paraméternél le kell írnod, hogy milyen, a paraméterlistában. Pölö (topsecret sourcekód-részletek következnek, vigyázz: :D )

function Cvt (Data : in Dico_Base.T_Enu_Traffic_Direction)
                 return Zc_Database.T_Enu_Direction is

function Next_Block (Blk_Idx : in Dico_Base.T_Block_Idx;
                         Blk_Dir : in Dico_Base.T_Enu_Traffic_Direction;
                         Pt_State : in Dico_Base.T_Enu_Point_Filtered_State) is

procedure Concatene_Message
                 (Appli_Message : in Smartio_Types.T_Rec_Appli_Message;
                  Rec_Message : in out Smartio_Types.T_Rec_Appli_Message) is


stbstb.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-04-08, 15:09:07
he?  :wtf: ez az első szemeszterem ADA-val és pont eggyetlen óráról hiányoztam, amikor a csomagokat vettük  :falba: vettem egy könyvet, de abba nincsenek jó példák a csomagra (tul. képp nincs példa tömb kezelésre csomagban, főként specifikáció kellene) asszem mi ADA 95el dolgozunk...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-08, 15:12:27
Quote from: chilip on 2008-04-08, 15:09:07
he?  :wtf: ez az első szemeszterem ADA-val és pont eggyetlen óráról hiányoztam, amikor a csomagokat vettük  :falba: vettem egy könyvet, de abba nincsenek jó példák a csomagra (tul. képp nincs példa tömb kezelésre csomagban, főként specifikáció kellene)
Pillanat, előtúrom neked azt a 16 oldalas doksit amiből minket készítettek melóra (bár nekünk ezt nem írni, hanem érteni kell). Mindenesetre amire céloztam, hogy a procedure/function paraméterezésnél ott kell lennie az in/out/in out kulcsszónak, majd a felsorolást lezáró zárójel után egy esetleges returns lófasznak. Utóbbira példa:

function Mittomen (Data : in package_neve.változó_típusának_neve;
Data2: in out package_neve.változó_típusának_neve; ) returns package_neve.változó_típusának_neve is

Egyébként ez a package szerinti változó-hivatkozás is hiányozni tűnik nálad.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-04-08, 18:12:54
jaaaa, megnézem, de sztem vágom mire gondolsz... mingyá megnézem...

ed.: basszus rossz helyre irtam az in/out/in out-ot , de még így is több sebből vérzik, sztem ebből a tárgyból "következő szemeszter lesz"...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-14, 18:10:17
Felveszel msn-re és lehetőségeimhez mérten segítek. 1 éve dolgozok ADA-val, valamennyire már értem, hogy hogy működik ;)
(Vagy ha mondasz konkrét problémát...)


Edit:
Van 4 változóm; ebből legalább 1 pozitív, de nem tudom, hogy melyik, és kell a legkisebb pozitív közülük. Most egy iszonyat szenvedős if else if else ágaztatott szarral próbálom csinálni (de valami nem jó benne, és már én sem látom át). Van rá normális megoldás? (C++)

Edit2: megoldottam. De ez nem változtatott.
sphereDist = getDistanceUntilSphere(rayStart, rayDir);
gPlaneDist = getDistanceUntilGPlane(rayStart, rayDir);
lPlaneDist = getDistanceUntilLPlane(rayStart, rayDir);
rPlaneDist = getDistanceUntilRPlane(rayStart, rayDir);

if ( sphereDist <= 0.0 && gPlaneDist <= 0.0 && lPlaneDist <= 0.0 && rPlaneDist <= 0.0 ) return La; // ray goes to infinity

Color3D color = { 0.0, 0.0, 0.0, 0.0 };

int firstObjectHit = 0; // if 1, sphere; if 2, ground; if 3, left; if 4, right

float distanceArray[] = { sphereDist, gPlaneDist, lPlaneDist, rPlaneDist };

float minDistance = 1500000.0;
for ( int i = 0; i < 4; i++ ) {
if ( distanceArray[i] < minDistance && distanceArray[i] > 0.0 ){
minDistance = distanceArray[i];
firstObjectHit = i+1;
}
}
Az if rész nem jön létre, de a minimumkereső nem talál kisebb értéket, nincs firstObjectHit (1-4 lenne legális), ergo a program elszáll. what the fuck...? :confused:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2008-04-14, 20:53:20
Probaltad mar kiiratni oket, es megnezni, hogy wtf okozhatja ezt?
Szintaxisra meg nem emlekszem.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-14, 20:59:42
Igen. És az aktuális nézőpont miatt nem fordul elő olyan, hogy akár az első három távolságváltozóból legalább 1 ne lenne pozitív. Valamiért a forciklusok le se futnak. Átírtam úgy, hogyfloat minDistance = distanceArray[0];

for ( int i = 0; i < 4; i++ ) {
if ( distanceArray[i] >= minDistance ) {
minDistance = distanceArray[i];
firstObjectHit = i+1;
}
}

for ( int i = 0; i < 4; i++ ) {
if ( distanceArray[i] < minDistance && distanceArray[i] > 0.0 ){
minDistance = distanceArray[i];
firstObjectHit = i+1;
}
}

és REJTÉLY, hogy miért nem íródik legalább 1 bele a firstObjectHit-be, ha már a tömb 0. elemével egyenlővé tettem ezt a temp változót...

valami precompile bibire gyanakszom, egyszerűen ennek így működnie kéne. tuti valami trivi dolgot baszok el :D

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-14, 21:12:36
Az első, ami ilyeneknél eszembe jut, hogy nem használsz epszilont, mármedig a lebegőpontos numerikus számítások esetén az jól szokott jönni.
#define EPS 0.001f
Utána két double összehasonlításánál valamelyik javára mindig beteszel egy epszilon tagot, hogy elkerüld a numerikus pontatlanságból adódó gikszereket (jelen esetben megengedőbbé téve az if-eket).
double esetén ez nem annyira kritikus, de ott is szükség szokott lenni (egy jóval kisebb) EPSEPS-re.

Pl. ott jöhet jól, hogy ha az egyetlen pozitív a distanceArray[0], akkor ha jól nézem, a jelenlegi kód adott esetben tényleg sosem lép be a az if() blokkba, pl. egy '>=' nem megfelelően sikerül.


if ( distanceArray[i] >= minDistance - EPS ) {
if ( distanceArray[i] < minDistance + EPS && distanceArray[i] > 0.0 - EPS ){



Amúgy az egész első ciklus minek?


Miért nem dobálod be simán egy set<float> collekcióba a pozitívakat, és kiszeded utána a legkisebbet?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-14, 21:16:18
Quote from: Próféta on 2008-04-14, 21:12:36
Miért nem dobálod be simán egy set<float> collekcióba a pozitívakat, és kiszeded utána a legkisebbet?
Mert negatív szám nem jó... ezt az epszilonos csodát megnézem.

Az első forciklus meg azért került bele, hogy megnézzem, hogy ha önmagával hasonlítom össze, akkor se kap-e értéket... vagy hogy van ez magyarul. És így a kezdőérték a legnagyobb a 4 szám közül, azaz nem kell hasraütésszerűen 999999999999999999999999999999999999999.0-t beírnom.

Edit: epszilonozva ugyanúgy szétszáll...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2008-04-14, 21:29:08
Nem lehet, hogy az egesz szall szet valami mas miatt?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-14, 21:34:52
Ezen törjük a fejünket. Ennek a firstObjectHit cuccnak annyi a szerepe, hogy ettől függő paraméterrel számolok metszéspontot.

if ( firstObjectHit == 1 ) backupIntersect = countIntersectCoordinates(rayStart, rayDir, sphereDist);
else if ( firstObjectHit == 2 ) backupIntersect = countIntersectCoordinates(rayStart, rayDir, gPlaneDist);
else if ( firstObjectHit == 3 ) backupIntersect = countIntersectCoordinates(rayStart, rayDir, lPlaneDist);
else if ( firstObjectHit == 4 ) backupIntersect = countIntersectCoordinates(rayStart, rayDir, rPlaneDist);
for ( int i = 0; i < 3; i++ ) backupIntersectArray[i] = backupIntersect[i];


a for részen hal szét. Namost, a countIntersect egy referenciát ad vissza egy globális tömbre, amit én egy lokális változóba kiback-elek (ocsmány, tudom). Viszont access violation-ért sír - azaz szar referenciát ad vissza - azaz az előtte lévő 4 sor nem hajtódik végre...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-14, 21:38:47
Quote from: Lt. Simoan Blarke on 2008-04-14, 21:16:18
Quote from: Próféta on 2008-04-14, 21:12:36
Miért nem dobálod be simán egy set<float> collekcióba a pozitívakat, és kiszeded utána a legkisebbet?
Mert negatív szám nem jó... ezt az epszilonos csodát megnézem.
::)

Quote from: Lt. Simoan Blarke on 2008-04-14, 21:16:18azaz nem kell hasraütésszerűen 999999999999999999999999999999999999999.0-t beírnom.
Kevésbé hasraütésszerűen: #include<limits>
float inf = numeric_limits<float>::infinity();


Quote from: Kvikveg on 2008-04-14, 21:29:08
Nem lehet, hogy az egesz szall szet valami mas miatt?
Elég gyanús.

Blarke: írass ki sok debug outputot valami logfájlba vagy stdoutra. Utána meg akár brakpoint + Step Into / Step Over léptetgetés is mehet.
Például az előbb beírt kódtömb ELŐTT írd ki firstObjectHit-et, hogy tuti az-e a baj.
Más, kódtisztasági mozgalom: van ám switch() konstrukció is, annak meg van van ám else ága, épp a hibás esetek megfogására és sikoltozásra...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-14, 21:41:52
Direkt ilyen ocsmány a kód... hogy lakótárs szépen lecsiszolhassa és leadhassa, és ne legyen plágium-vád...
De feladtam, hogy időben befejezzem, 2 hét múlva kell leadni másik feladatot, ugyanilyen az is, csak openGL-lel kell csinálni és textúrázni... de be fogom má fejezni, mert apjafaszát... :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2008-04-14, 21:47:13
0.000lf tapasztalatommal közbepofázom:

Nem lehet, hogy már eleve a sphereDist, *planeDist változókba nem az kerül, amit te szeretnél?

Azokat kéne
Quote from: Próféta on 2008-04-14, 21:38:47
akár brakpoint + Step Into / Step Over léptetgetés

Más:

Quote from: Próféta on 2008-04-14, 21:12:36
Az első, ami ilyeneknél eszembe jut, hogy nem használsz epszilont, mármedig a lebegőpontos numerikus számítások esetén az jól szokott jönni.
#define EPS 0.001f

Összehasonlításnál (<>) nem hiszem, hogy az epszilon bármit is segítene.
Egyenlőségnél szokták ajánlani, de egyes iskolák figyelmeztetnek, hogy ez sem csodaszer, nem old meg minden, lebegőpontos számokkal kapcsolatos problémát.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-14, 21:49:08
Azokat végigléptettem, és elvileg azt számolgatja, ami nekem kell... mondjuk csak a bal felső pixelre (azaz összesen 9 hívódásra, rekurzió miatt) számolgattam kézzel végig, mert lusta geci vagyok. De azok az eljárások elvileg úgy számolnak, ahogy nekem kell...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-14, 21:58:48
Quote from: Lt. Simoan Blarke on 2008-04-14, 21:34:52Namost, a countIntersect egy referenciát ad vissza egy globális tömbre, amit én egy lokális változóba kiback-elek (ocsmány, tudom). Viszont access violation-ért sír - azaz szar referenciát ad vissza - azaz az előtte lévő 4 sor nem hajtódik végre...
Az ilyesmit csak elrontani lehet, a végén esetleg véletlenül valami lokális stack-beli másolatra adsz vissza referenciát, és kampec. Nem lehet, hogy simán a countIntersectCoordinates ad vissza rossz referenciát? Van valami különös ok arra, hogy nem kaphatja meg a backupIntersectArray referenciáját paraméterként, hogy abba pakoljon? Így még másolgatsz is egy csomót feleslegesen. Miért kell külön backupIntersect és backupIntersectArray?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-14, 22:03:31
Jogos. Globalt írok az eljárással, nem volt sok értelme visszaadni a globalra a referenciát... kigyomláltam belőle, aztán globalból átmásolgatom localba. Így tényleg nem hal el. Már csak rá kéne jönni, hogy végülis mit rajzolt ki :D Thx
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-14, 22:24:35
Na jó munkát még a hátáridőig, és utána tényleg /r/ screenshot!  :angyali:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-18, 20:16:01
Csúnyákat káromkodós szmájli ( :Eztneked: ) x 1500

xsl.
template-en belüli choose-when mi a redvás halál faszáért nem működik?! van egy olyan leágazásom, hogy /page/COMP/ORDER[BOID] (vagy /page/COMP/ORDER/BOID), ami ezerötszázötven százalék, hogy egy kurvanagy NULL kéne, hogy legyen. a debug rész miatt ki is írja, hogy Debug info: BOID = (és itt már br-ek jönnek). de az istennek nem tudom rávenni, hogy ahol ez teljesül, ott az történjen, amit én akarok.

<xsl:template match="ORDER">
<xsl:choose>
<xsl:when test="/page/COMP/ORDER[BOID] =''">
<font color="red">
<span class="description">
<b><xsl:apply-templates select="DESCRIPTION"/></b>
</span>
<span class="quantity">
(quantity: <xsl:apply-templates select="QUANTITY"/>)
</span>
<br/>
<span class="origin">
Origin: <xsl:apply-templates select="ORIGIN"/>
</span>
<br />
<span class="destination">
Destination: <xsl:apply-templates select="ADEST"/>
</span>
<br />
<span class="deadline">
Delivery deadline: <xsl:apply-templates select="DEADLINE"/>
</span>
<span class="keses">
(
<xsl:apply-templates select="KESES" /> days late)
</span>
<br /> <br />
</font>
</xsl:when>
<xsl:when test="/page/COMP/ORDER/AID = /page/COMP/ORDER/BOID">
<font color="black">
<span class="description">
<b><xsl:apply-templates select="DESCRIPTION"/></b>
</span>
<span class="quantity">
(quantity: <xsl:apply-templates select="QUANTITY"/>)
</span>
<br/>
<span class="origin">
Origin: <xsl:apply-templates select="ORIGIN"/>
</span>
<br />
<span class="destination">
Destination: <xsl:apply-templates select="ADEST"/>
</span>
<br />
<span class="deadline">
Delivery deadline: <xsl:apply-templates select="DEADLINE"/>
</span>
<!--debug-->
<br/>
<span class="debug_keses">
Debug: keses = <xsl:apply-templates select="KESES"/>
</span><br/>
<span class="debug">
Debug: BOID = <xsl:apply-templates select="BOID"/>
</span>
<br /> <br />
</font>
</xsl:when>
</xsl:choose>
</xsl:template>


ötlet...?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-18, 20:42:34
Quote from: Lt. Simoan Blarke on 2008-04-18, 20:16:01template-en belüli choose
Cukkolásul: template-en kívül nem is lehet choose ;)

Quote from: Lt. Simoan Blarke on 2008-04-18, 20:16:01van egy olyan leágazásom, hogy /page/COMP/ORDER[BOID] (vagy /page/COMP/ORDER/BOID),
Most melyik? Az egyik /page/COMP/ORDER csomópontokra illeszkedik, amelyeknek mellesleg van BOID gyerekük. A másik ezekre a bizonyos BOID gyerekekre passzol. Mellesleg mindkettő abszolút XPath, tehát a gyökértől indul. Ezt akartad?
Meg úgy egyáltalán mit akarsz tesztelni?

Quote from: Lt. Simoan Blarke on 2008-04-18, 20:16:01<xsl:when test="/page/COMP/ORDER[BOID] =''">
Ha a page gyökérelem alatti COMP alatti ORDER (amelynek mellesleg van BOID gyerekcsomópontja) létezik, ám üres szöveget tartalmaz... biztos ezt akartad?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-18, 20:46:44
Igen. Ezeket mind tudom. Nem üres szöveg, hanem NULL, de szintaktikailag úgy is helyes.
De megvan, mi a gond. A rekurzió... nem hajtódik végre a choose minden sorra külön-külön... megpróbáltam a legkülső, gyökérre illeszkedő template-be tenni a choose-t (csak hogy ebbe ne köthess bele :D ), másik feladat az működött így. Ez nem.

A feladat maga az, hogy azok az ORDER ágak, ahol a BOID nem létezik, vörössel jelenjenek meg, a többi simán...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-18, 20:59:51
Quote from: Lt. Simoan Blarke on 2008-04-18, 20:46:44Nem üres szöveg, hanem NULL, de szintaktikailag úgy is helyes.
Pardon? Mármint 'NULL' sztring van benne? Hogy képzeled te el ezt az XML csomópontot? Nem arra gondoltál, hogy nem létezik?

Quote from: Lt. Simoan Blarke on 2008-04-18, 20:46:44De megvan, mi a gond. A rekurzió... nem hajtódik végre a choose minden sorra külön-külön...
Nem értelek teljesen. xsl:if-et akarsz choose helyett? Vagy az a bajod, hogy maga a template nem illeszkedik korábbi találatok gyerekeire (hint: xsl:apply-templates)? Fogalmazz kicsit világosabban, ha segítséget vársz...

Quote from: Lt. Simoan Blarke on 2008-04-18, 20:46:44A feladat maga az, hogy azok az ORDER ágak, ahol a BOID nem létezik, vörössel jelenjenek meg, a többi simán...
Akkor a test-ben miért indulsz el a gyökértől, hogy másik ORDER-eket keress? Ha már egy ORDER-re illeszkedő templateben vagy, akkor xsl:if-ezd meg az ő BOID gyerekének létezését... (<xsl:if test="BOID"> vagy ilyesmi).

Meg úgy általában: ismerkedj meg az XPath (http://en.wikipedia.org/wiki/Xpath)-szal és az XSLT (http://en.wikipedia.org/wiki/XSLT_elements)-vel, mielőtt kódolni kezdesz.

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-18, 21:07:54
Quote from: Próféta on 2008-04-18, 20:59:51Meg úgy általában: ismerkedj meg az XPath (http://en.wikipedia.org/wiki/Xpath)-szal és az XSLT (http://en.wikipedia.org/wiki/XSLT_elements)-vel, mielőtt kódolni kezdesz.
Nem áll szándékomban, mert ennyire nyomorékszar megoldást még semmiben sem láttam. Beugró meglett, kettes kell, ennyi... Egyébként néztem xsl:if-et... csak éppen a kiadott forrásanyagunk egy fos, semmi nem derül ki belőle (ez szerepel benne, hogy az említett csomópont értéke "null", és hogy a null-indicator állítgatásával ténylegesen null olvasható ki belőle (stringként), és nem üres)... 15 oldalban összefoglalva egy xml, egy xsl, egy xsql és egy xpath. Szerinted mennyire alapos...? :/ És van rá 72 órád leadni. A JDBC és a php még érdekelt is, _normálisan_ szerepelt a mi forrásainkban is, de ez - hasonlóan az sql-hez - kalap fos. (Ott meg a javítás volt az, nem derültek ki a követelmények, mindkettő azért lett 3-as, mert levontak 2 jegyet olyan kritériumok miatt, amiket csak a leadást követő héten tudtunk meg, szóval az egész tárgy nocomment kategória)

És nem, nem xsl:if-et akarok. (A forrásanyagban annyi van, hogy van rekurzió, az apply-templates-szel, hihi.) Azt akarom, hogy a beszúrt kódban látható módon vagy vörös legyen a text, vagy fekete...

Azért indulok a gyökértől, mert egy büdös hangot nem értek az egészből, és a példaként kiadott honlap forrását kopipasztázom és próbálom heggeszteni...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-18, 21:20:09
Ááá leesett, ez az szglab5/6 cucc.. heh, "szép" emlékek... részvétem, Blarke :)

Nos, [spoiler=ne mondd senkinek, hogy tőlem hallottad]az XSQL egy baromság,[/spoiler] az XML, XSL és XPATH viszont egy nagyon fontos technológiakör, megéri rászánni egy kis időt a megismerésükre, hasznosak lesznek még. Ráadásul szerintem épp ezekkel van gondod. Ha nem érzed kielégítőnek a segédletet, akkor a neten keress tutorialokat, pl. w3schools-on; nem itt a fórumon fogom megtanítani neked őket. Esetleg gyakorolj (http://www.zrinity.com/developers/xml/xpath/), ha valami nagyon nem világos.

Quote from: Lt. Simoan Blarke on 2008-04-18, 21:07:54(A forrásanyagban annyi van, hogy van rekurzió, az apply-templates-szel, hihi.) Azt akarom, hogy a beszúrt kódban látható módon vagy vörös legyen a text, vagy fekete...
Azt még mindig nem értem mondjuk, hogy a rekurzió hogy jön képbe.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-27, 18:54:26
Quote from: Próféta on 2008-04-18, 21:20:09Azt még mindig nem értem mondjuk, hogy a rekurzió hogy jön képbe.
Én sem, de amikor magasabb leíróértékű részbe tettem a színezést, működött jól :)

Kérdés.
Gömbre akarok textúrát húzni. Azt mondta srác, aki segített, hogy erre van valami glu függvény. Most egy kockám van, aminek az oldalaira ráhúzom a textúrákat, aztán örülök, mert érdekesen néz ki :D, de a kocka nem jó a feladathoz, mivel (legalább) két paraméteres, textúrázott testtel kell számolni. (Textúrát egyébként nem olvashatunk be file-ból, ami elég undok dolog, és a NeHe-t kilövi, mint tutorial...)

Szóval: mi ez a glu függvény? :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-27, 19:20:01
Quote from: Lt. Simoan Blarke on 2008-04-27, 18:54:26de a kocka nem jó a feladathoz, mivel (legalább) két paraméteres, textúrázott testtel kell számolni.
Szóval: mi ez a glu függvény? :D
Foglalmam sincs, de szerintem a glu referencia okosabb lesz bármelyikünknél.

BTW, paraméteres felületet kell rajzolni? Magyarul tesszellálás a feladat?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-27, 19:25:38
Quote from: Próféta on 2008-04-27, 19:20:01
Foglalmam sincs, de szerintem a glu referencia okosabb lesz bármelyikünknél.
Megnéztem a könyvet, az csak annyit ír, hogy

glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);

GLUquadricObj* sphere = gluNewQuadric();
gluSphere(sphere, 1.0, 40, 40);

Na ez így nem jó, mert a gluSphere egy előre definiált glu alakzat, mint a teáskanna. Viszont azt nem bírtam kikukázni, hogy wasist s und t coordinate. (Annyit ír a könyv, hogy a glTexGen...() függvénycsalád segítségével az s és t koordináták automatikus számolása bekapcsolható. Megnéztem a gömbi vetítést, amire hivatkozik, de ott meg csak térszögek vannak.)

Quote from: Próféta on 2008-04-27, 19:20:01
BTW, paraméteres felületet kell rajzolni? Magyarul tesszellálás a feladat?
Ha meg lehet máshogy oldani, nem kell feltétlenül tesszellációt használni... De igazság szerint ott elakadtam, hogy kocka sarkaira ráfeszítem a textúrát, az még egyszerű volt.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-27, 19:51:31
Namost, a gömb pontját leírhatod földrajzi szélességgel és magassággal, az két paraméter [0,2Π] és [0,Π] intervallumon. Felosztod mindkettőt mondjuk 100 részre, és akkor 100x100 ponttal leírtad a gömbfelszínt, közéjük meg kis háromszögeket feszítesz, és innentől ugyanaz, mint a kocka. A két paraméter pedig jó textúra koordinátáknak is, esetleg felszorozva kicsit vagy valami.

De ha az automatikust akarod használni, google ezt dobta ki:
http://jerome.jouvie.free.fr/OpenGl/Tutorials/Tutorial11.php
Az alján az animáció jól megmutatja, melyik paraméter mi.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-27, 20:00:52
Quote from: Próféta on 2008-04-27, 19:51:31közéjük meg kis háromszögeket feszítesz
Ezzel nekem csak egy elvi problémám van: nem tudom egyféle textúrával megcsinálni, azt is fel kell darabolnom háromszögekre. Nem? Kocka az egyszerű volt, négyzetekre rádobom a chesstable-mintázatot, aztán találkoznak és hawaii...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-27, 20:09:30
Quote from: Lt. Simoan Blarke on 2008-04-27, 20:00:52
Quote from: Próféta on 2008-04-27, 19:51:31közéjük meg kis háromszögeket feszítesz
Ezzel nekem csak egy elvi problémám van: nem tudom egyféle textúrával megcsinálni, azt is fel kell darabolnom háromszögekre. Nem? Kocka az egyszerű volt, négyzetekre rádobom a chesstable-mintázatot, aztán találkoznak és hawaii...
Pont ezt magyarázom, hogy a gömb két paramétere (szélesség és hosszúság) jellemezni fogja a vertexeket, és akkor interpolációval a köztük lévő háromszöget is. Nem kell sehogy felbontanod a képet, egyszerűen az egyik tengelye lesz a szélesség, a másik a hosszúság. Lásd:
(http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg)
A háromszögeid pedig ezek a kis négyzetek lesznek, egy átlóval felbontva. Vagy felőlem csinálhatsz quadot is.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-27, 21:05:39
Na. Hülyekérdésn+1: QUADS-zal akarom csinálni, de ennek ellenére háromszögeket rajzol (és így nagyszerűen hiányzik mindegyik négyszögnek kb. a fele).


             glBindTexture(GL_TEXTURE_2D, textureID1);
glBegin(GL_QUADS);

for (int i = 0; i < qualitySet; i++) {
for (int j = 0; j < qualitySet; j++)  {
//bal felső:
glTexCoord2f(0.0f, 1.0f);
coordX = r1 * sin (pi * j / qualitySet) * cos (2 * i * pi / qualitySet) - 1;
coordY = r1 * sin (pi * j / qualitySet) * sin (2 * i * pi / qualitySet);
coordZ = r1 * cos (pi * j / qualitySet);
glVertex3f(coordX, coordY, coordZ);
//jobb felső:
glTexCoord2f(1.0f, 1.0f);
coordX = r1 * sin (pi * j / qualitySet) * cos (2 * (i+1) * pi / qualitySet) - 1;
coordY = r1 * sin (pi * j / qualitySet) * sin (2 * (i+1) * pi / qualitySet);
coordZ = r1 * cos (pi * j / qualitySet);
glVertex3f(coordX, coordY, coordZ);
//bal alsó:
glTexCoord2f(0.0f, 0.0f);
coordX = r1 * sin (pi * (j+1) / qualitySet) * cos (2 * i * pi / qualitySet) - 1;
coordY = r1 * sin (pi * (j+1) / qualitySet) * sin (2 * i * pi / qualitySet);
coordZ = r1 * cos (pi * (j+1) / qualitySet);
glVertex3f(coordX, coordY, coordZ);
//jobb alsó:
glTexCoord2f(1.0f, 0.0f);
coordX = r1 * sin (pi * (j+1) / qualitySet) * cos (2 * (i+1) * pi / qualitySet) - 1;
coordY = r1 * sin (pi * (j+1) / qualitySet) * sin (2 * (i+1) * pi / qualitySet);
coordZ = r1 * cos (pi * (j+1) / qualitySet);
glVertex3f(coordX, coordY, coordZ);
}
}

glEnd();
(A theta-fí 0..pi 0..2pi felosztás szerint iterálok a gömbön, és kiszámolom a 4 vertex-koordinátát hozzá, de a jobb felső koordinátát letojja a búsba.)

:confused:

Edit: iterálást kijavítottam, mert logikai hibás volt, de ugyanaz a hiba megmaradt.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-27, 21:35:04
Úgy se jó, ha az alsó kettő vertex sorrendjét megcseréled? Csak hogy körüljárás legyen. Mert így mintha egy háromszöget csinálnál, megy egy másik háromszöget a gömb belseje felé nézve, most nem rajzolom le, de remélem érted.
Más: remélem úgy gondoltad, hogy majd a texCoord is függni fog az i-től és j-től...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-28, 14:44:10
Quote from: Próféta on 2008-04-27, 21:35:04Más: remélem úgy gondoltad, hogy majd a texCoord is függni fog az i-től és j-től...
Nem. A texCoord2f az utána következő glVertex3f-hez rendeli a quad megfelelő sarkát. (Kockakirajzolásnál is működött, és most is működik, csak az egyik sarok hiányzik; ettől függetlenül körbemegy a gömbön.)

Kicseréltem, működik :merci:


Edit: talán érdekelni fog, hogy milyen lett, meg örömmel várnék kommentet a végén feltett kérdésemre (attached).

//========================================================
// Hazi feladat keret.         
// A //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// sorokon beluli reszben celszeru garazdalkodni, mert
// a tobbit ugyis toroljuk.
// A Hazi feladat csak ebben a fajlban lehet
// Tilos:
// - mast "beincludolni", illetve mas konyvtarat hasznalni
// - faljmuveleteket vegezni
//========================================================

#include <math.h>
#include <stdlib.h>
#ifdef WIN32
#include <windows.h>     // MsWindows-on ez is kell
#endif
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>     // Ezt le kell tolteni: http://www.opengl.org/resources/libraries/glut/ 

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Nev: Szöllősi Gábor   
// Neptun: GD9LKS
//--------------------------------------------------------

// the textures for the two spheres
GLuint textureID1;
GLuint textureID2;

// rotating variable
float rotquad = 30.0;

// coordinates
float coordX, coordY, coordZ;

// variables for drawing the spheres
float r1 = 1.2;
float r2 = 0.8;
float pi = 3.14159265;

// variables for the light
GLfloat lightPos[] = { 5.0f, 0.0f, 0.0f, 0.0f };
GLfloat ambientColor[] = { 0.0f, 0.0f, 0.0f, 0.5f };
GLfloat specColor[] = { 0.2f, 0.2f, 0.2f, 0.2f };
GLfloat diffColor[] = { 1.0f, 1.0f, 1.0f, 1.0f };

// the higher this is set, the more quads will make a sphere, thus quality becomes better
int qualitySet = 30;

GLuint SetTextureSpaghetti() { // sets the texture for the first sphere
    GLuint texture;
    int width, height;
    char* data;

    // allocate buffer
    width = 256;
    height = 256;
    data = (char *)malloc( width * height * 3 );
    //memset( data, 0, width * height * 3 );

// this should result a creamy, spaghetti-like texture
    for( int i = 0; i < width; i++ ) {
for( int j = 0; j < height; j++ ) {
if ( ( i + j ) % 2 == 0 ) {
data[3*(j*width) + 3*i] = 205;
data[3*(j*width) + 3*i + 1] = 102;
data[3*(j*width) + 3*i + 2] = 29;
}
else {
data[3*(j*width) + 3*i] = 0;
data[3*(j*width) + 3*i + 1] = 0;
data[3*(j*width) + 3*i + 2] = 0;
}
}
}

    // allocate a texture name
    glGenTextures( 1, &texture );

    // select our current texture
   glBindTexture( GL_TEXTURE_2D, texture );

    // select modulate to mix texture with color for shading
    glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );

glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

    // build our texture mipmaps
glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data );
//gluBuild2DMipmaps( GL_TEXTURE_2D, 3, width, height, GL_RGB, GL_UNSIGNED_BYTE, data );

    // free buffer
    free( data );

    return texture;
}

GLuint SetTextureMatt() { // sets the texture for the second sphere
    GLuint texture;
    int width, height;
    char* data;

    // allocate buffer
    width = 2;
    height = 2;
    data = (char *)malloc( width * height * 3 );
    //memset( data, 0, width * height * 3 );

// this makes something like a green-black chessboard
    for( int i = 0; i < width * height; i++ ) {
if (i % 2 == 0) {
data[3*i] = 69;
data[3*i + 1] = 139;
data[3*i + 2] = 116;
}
else {
data[3*i] = 0;
data[3*i + 1] = 0;
data[3*i + 2] = 0;
}
}

// allocate a texture name
    glGenTextures( 1, &texture );

    // select our current texture
   glBindTexture( GL_TEXTURE_2D, texture );

    // select modulate to mix texture with color for shading
    glTexEnvf( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );

glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );

    // build our texture mipmaps
//glTexImage2D( GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data );
gluBuild2DMipmaps( GL_TEXTURE_2D, 3, width, height, GL_RGB, GL_UNSIGNED_BYTE, data );

    // free buffer
    free( data );

    return texture;
}

void Init( ) { // inicializalasok
    textureID1 = SetTextureSpaghetti();
textureID2 = SetTextureMatt();

//glLightfv( GL_LIGHT1, GL_AMBIENT, ambientColor );
//glLightfv( GL_LIGHT1, GL_SPECULAR, specColor );
glLightfv( GL_LIGHT1, GL_DIFFUSE, diffColor );
glLightfv( GL_LIGHT1, GL_POSITION, lightPos );
glShadeModel( GL_SMOOTH );// Enable Smooth Shading
glClearColor( 0.545f, 0.482f, 0.545f, 0.5f ); //background
glClearDepth( 1.0f );// Depth Buffer Setup

glEnable( GL_DEPTH_TEST );// Enables Depth Testing
glEnable( GL_TEXTURE_2D );
glEnable( GL_LIGHT1 );
glEnable( GL_LIGHTING );

glDepthFunc( GL_LEQUAL );// The Type Of Depth Testing To Do
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
}

GLvoid ReSizeGLScene(GLsizei width, GLsizei height)// Resize And Initialize The GL Window
{
if ( height == 0 )// Prevent A Divide By Zero By
{
height = 1; // Making Height Equal One
}

glViewport( 0, 0, width, height );// Reset The Current Viewport

glMatrixMode( GL_PROJECTION );// Select The Projection Matrix
glLoadIdentity(); // Reset The Projection Matrix

// Calculate The Aspect Ratio Of The Window
gluPerspective( 45.0f, (GLfloat)width / (GLfloat)height, 0.1f, 100.0f );

glMatrixMode( GL_MODELVIEW );// Select The Modelview Matrix
glLoadIdentity();// Reset The Modelview Matrix
}

void onDisplay( ) {
ReSizeGLScene( 600,600 );

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );// Clear Screen And Depth Buffer
glLoadIdentity(); // Reset The Current Modelview Matrix

glTranslatef( 0.0f, 0.0f, -7.0f ); // Translate Into The Screen 7.0 Units
glRotatef( rotquad, 0.0f, 1.0f, 0.0f );
glRotatef( rotquad, 1.0f, 1.0f, 1.0f );
glColor3f( 1,1,1 );

// draw the first sphere
glBindTexture( GL_TEXTURE_2D, textureID1 );
glBegin( GL_QUADS );

for ( int i = 0; i < qualitySet; i++ ) {
for ( int j = 0; j < qualitySet; j++ )  {
//upper left:
glTexCoord2f(0.0f, 1.0f);
coordX = r1 * sin (pi * j / qualitySet) * cos (2 * i * pi / qualitySet) - 1;
coordY = r1 * sin (pi * j / qualitySet) * sin (2 * i * pi / qualitySet);
coordZ = r1 * cos (pi * j / qualitySet);
glVertex3f(coordX, coordY, coordZ);
//upper right:
glTexCoord2f(1.0f, 1.0f);
coordX = r1 * sin (pi * j / qualitySet) * cos (2 * (i+1) * pi / qualitySet) - 1;
coordY = r1 * sin (pi * j / qualitySet) * sin (2 * (i+1) * pi / qualitySet);
coordZ = r1 * cos (pi * j / qualitySet);
glVertex3f(coordX, coordY, coordZ);
//lower right:
glTexCoord2f(1.0f, 0.0f);
coordX = r1 * sin (pi * (j+1) / qualitySet) * cos (2 * (i+1) * pi / qualitySet) - 1;
coordY = r1 * sin (pi * (j+1) / qualitySet) * sin (2 * (i+1) * pi / qualitySet);
coordZ = r1 * cos (pi * (j+1) / qualitySet);
glVertex3f(coordX, coordY, coordZ);
//lower left:
glTexCoord2f(0.0f, 0.0f);
coordX = r1 * sin (pi * (j+1) / qualitySet) * cos (2 * i * pi / qualitySet) - 1;
coordY = r1 * sin (pi * (j+1) / qualitySet) * sin (2 * i * pi / qualitySet);
coordZ = r1 * cos (pi * (j+1) / qualitySet);
glVertex3f(coordX, coordY, coordZ);
}
}

glEnd();


// draw the second sphere
glBindTexture(GL_TEXTURE_2D, textureID2);
glBegin(GL_QUADS);

for ( int i = 0; i < qualitySet; i++ ) {
for ( int j = 0; j < qualitySet; j++ )  {
//upper left:
glTexCoord2f(0.0f, 1.0f);
coordX = r1 * sin (pi * j / qualitySet) * cos (2 * i * pi / qualitySet) + 0.5;
coordY = r1 * sin (pi * j / qualitySet) * sin (2 * i * pi / qualitySet) + 1;
coordZ = r1 * cos (pi * j / qualitySet) - 2.5;
glVertex3f(coordX, coordY, coordZ);
//upper right:
glTexCoord2f(1.0f, 1.0f);
coordX = r1 * sin (pi * j / qualitySet) * cos (2 * (i+1) * pi / qualitySet) + 0.5;
coordY = r1 * sin (pi * j / qualitySet) * sin (2 * (i+1) * pi / qualitySet) + 1;
coordZ = r1 * cos (pi * j / qualitySet) - 2.5;
glVertex3f(coordX, coordY, coordZ);
//lower right:
glTexCoord2f(1.0f, 0.0f);
coordX = r1 * sin (pi * (j+1) / qualitySet) * cos (2 * (i+1) * pi / qualitySet) + 0.5;
coordY = r1 * sin (pi * (j+1) / qualitySet) * sin (2 * (i+1) * pi / qualitySet) + 1;
coordZ = r1 * cos (pi * (j+1) / qualitySet) - 2.5;
glVertex3f(coordX, coordY, coordZ);
//lower left:
glTexCoord2f(0.0f, 0.0f);
coordX = r1 * sin (pi * (j+1) / qualitySet) * cos (2 * i * pi / qualitySet) + 0.5;
coordY = r1 * sin (pi * (j+1) / qualitySet) * sin (2 * i * pi / qualitySet) + 1;
coordZ = r1 * cos (pi * (j+1) / qualitySet) - 2.5;
glVertex3f(coordX, coordY, coordZ);
}
}

glEnd();

glFlush();
    // Buffercsere: rajzolas vege
    glutSwapBuffers();
}

void onMousePress(int button, int state, int x, int y) {

// rotate east
if ( button == GLUT_LEFT_BUTTON && state == GLUT_DOWN ) { rotquad+= 2.0f; }

// rotate west
if ( button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN ) { rotquad-= 2.0f; }

onDisplay();
}

void onIdle( ) {
}

void onKeyboard(unsigned char key, int x, int y) {
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


void main(int argc, char * argv[]) {
glutInit(&argc, argv);
glutInitWindowSize(600, 600);
glutInitWindowPosition(100, 100);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("Grafika hazi feladat");
Init();
glutDisplayFunc(onDisplay);
glutMouseFunc(onMousePress);
glutIdleFunc(onIdle);
glutKeyboardFunc(onKeyboard);
glutMainLoop();
}


És a kérdés: ha forgatom, akkor változik ugyan a fény függvényében a fényessége a gömböknek - de mindig a legsötétebb pontot apply-olja a TELJES belátható felületre. Azaz gyakorlatilag nincs árnyékolás :confused: Ez mitől van?

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-04-28, 16:20:26
Bocs, most nincs időm-kedvem beleásni magam a kódodba, de az árnyalást tipikusan két helyen szokás elbukni:
1. Az árnyaláshoz kellenek árnyaló normálisok. A normálvektorokat vagy kézzel viszed fel (pl. gömb sugara meghosszabbítva), vagy valahogyan okosan számolod (pl. csúcs normálvektora = találkozó lapok normálvektorának átlaga?).
2. Be kell kapcsolni, hogy legyen textúra és diffúz felület és diffúz fényforrás (irányított / pontszerű) és a textúra modulálódjon rá a felületre (ne csapja felül az árnyalást). Ez mind megvolt?

Ha meg félreértelek, és nem árnyalás, hanem árnyékvetés hiányzik (egyik alakzat árnyékot vet a másikra), akkor csak hajrá :)

Viszont szép munka, grat a BlarkeEngineTM-hez, reszkessen a Quake4, és grat az aláíráshoz is :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Lt. Simoan Blarke on 2008-04-28, 17:03:38
Quote from: Próféta on 2008-04-28, 16:20:26
1. Az árnyaláshoz kellenek árnyaló normálisok. A normálvektorokat vagy kézzel viszed fel (pl. gömb sugara meghosszabbítva), vagy valahogyan okosan számolod (pl. csúcs normálvektora = találkozó lapok normálvektorának átlaga?).
Asszem ezzel van a para, majd ha lesz rá lelkierőm (heh), akkor kijavítgatom... (Levelezőlistán egyik arcnak ugyanez volt a problémája, azt nézem, azóta írt, hogy ez volt a megoldás.) Gratot meg :merci:

És nem, nem értettél félre, árnyalással volt/van para, nem árnyékvetéssel. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2008-08-26, 08:48:51
Html, php, mysql kérdésem van.

Alap probléma hogy az adatbázisból jövő szövegekben a ő és ű betűk helyén kérdőjel jelenik meg.
Az adatbázis karakterkészlete UTF-8 Unicode (ezt nem tudom állítani), ez mellett van egy MySQL kapcsolategyeztetés, ez utf8_unicode_ci értékre van állítva. Alapból a htmlben a charset iso-8859-2 -re van állítva.

Voltak próbálkozásaim:
1. MySQL kapcsolategyeztetést állítottam át latin2_hungarian_ci -re és az adatbázistáblákban a megfelelő mezők típusát is erre állítottam utf8_unicode_ci -ről. Ez nem hozott változást.
2. Próbáltam a html-ben a charset-et utf-8 -ra állítani, ekkor az ő és ű betűk helyén továbbra is ? jelent meg, de az összes többi ékezetes betű is átalakult valami négyzetes bizbaszra :)

Google segítségével egyelőre nem találtam semmit, de lehet hogy rosszul keresek.

Ha valaki tudna segíteni ötletekkel vagy megoldással nagyon örülnék :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2008-08-26, 12:13:01
Szerintem legyen mindened utf-8, nem érdemes a bájtokkal spórolás miatt szívnod a fixen egybájtos karakterkészletekkel.

A html fejlécében meta-tagben jelölni kell a charsetet (A), de ezen felül a webszervernek is szólni kell (talán valami header() vagy ilyesmi php utasítás, ha azzal tolod ki), hogy ez itt utf-8 tartalom lesz (B) - ugyanis ennek a HTTP response fejlécében, még a html tartalom előtt meg kell jelennie. Meg persze ezek után ténylegesen utf-8 tartalommal feltölteni az oldalt (C), tehát a pl. beledrótozott szövegben is unicode ékezetek legyenek; ha egy php lap templateli, akkor nyilván az a fájl is legyen utf-8 emiatt.

Lásd még ezen a tök hasznos oldal (http://cs.bme.hu/~egmont/utf8/)on a 4.3 pontot.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2008-08-26, 12:18:09
Headerrel nem mondtam meg a szervernek hogy utf-8 legyen a kódolás. Ezt még kipróbálom.
Nem akarok én spórolni, jó az utf-8 is, csak még sose használtam és nem jött össze eddig, de kipróbálom amiket írtál.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2008-08-26, 12:35:26
A Próféta által linkelt oldalon itt van a lényeg:
QuoteHa mi készítjük a honlapot, és nem tetszik az adott érték, akkor, amennyiben Apache web szerver fut Unix rendszeren, a honlap mellett helyezzünk el egy .htaccess nevű fájlt ilyesmi tartalommal:

AddDefaultCharset UTF-8

vagy

AddCharset UTF-8 .html .txt

és próbáljuk újra. Vagy bejött, vagy nem. A fenti példa azt mondja, hogy minden fájl, vagy csak a html és txt fájlok karakterkészleteként UTF-8-at küldjön ki a szerver. De sajnos elképzelhető, hogy a rendszergazda nem engedélyezi, hogy felülbíráljuk a rendszer alapértelmezett értékét. Ez esetben sajnos nincsen lehetőségünk arra, hogy honlapunk mellé korrektül megmondjuk, milyen karakterkészlettel értelmezendő, tehát rugdossuk a rendszergazdát.

Ha kézzel írunk cgi szkriptet, akkor ott nekünk kell a fejléc sorokat is kiíratnunk, így annak helyes beállítása nem jelenthet gondot.

PHP szkriptünket kezdjük valahogy így:

<?php
header("Content-Type: text/html; charset=UTF-8");
?>
Ha van hozzáféréset a httpd.conf-hoz, akkor oda is beírhatod az egész domainre azt, amit a .htaccess-be kéne (AddDefaultCharset UTF-8).
De nekem a leírásod alapján valamiért az az érzésem, hogy nem ez lesz a gond. Az adatbázisban biztosan nem már eleve hibás adatok vannak? Valami módon elő tudod őket csalni helyes ékezetekkel (konzolos mysql kliens, phpmyadmin, Oracle SQL developer, stb.), és tényleg csak a weboldalon csesződnek el?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2008-08-26, 12:37:07
phpMyAdmin -ban teljesen jól jelennek meg az ékezetek.

Szerverhez nincs hozzáférésem, .htaccess még jó lehet. Próbálkozok :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2008-09-16, 19:54:27
C-s fejlesztői környezetnek mit ajánlotok?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Manitu on 2008-09-16, 21:36:44
Visual Studio
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2009-01-05, 23:02:59
Mar lehet, hogy kerdeztem: van itt valaki aki java-t hasznal? Mire hasznalja, mennyi ido volt beletanulni es mit tudott elotte?
Esetleg van valahol jo tutorial?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-01-05, 23:28:00
Quote from: Kvikveg on 2009-01-05, 23:02:59
Mar lehet, hogy kerdeztem: van itt valaki aki java-t hasznal? Mire hasznalja, mennyi ido volt beletanulni es mit tudott elotte?
Esetleg van valahol jo tutorial?
Használom.
Programozok benne. Mintakereső algoritmust. Eclipse plugint. De ha arra vonatkozik a kérdés, Java EE vagy ME tudással valószínűleg könnyebb elhelyezkedni. Persze nem rögtön ezekkel érdemes kezdeni.
2004 óta Javazom, igaz nem folytonosan. Rövid idő alatt el lehetett kezdeni használni, de ennyi év alatt is mindig tanulok valami újat. Szóval hosszú, de nem meredek a tanulási görbe, pláne C/C++ tudással a hátunk mögött.
Amikor a Java-val találkoztam volt már (fordított időrendben) némi C++, C, Pascal, Logo, Basic ismeretem.

Aranybánya: a szabvány futtatókörnyezet API specifikációja (http://java.sun.com/javase/6/docs/api/). Ebben érdemes keresgélni, nézelődni.
A nulláról kezdéshez tutorial  (http://java.sun.com/docs/books/tutorial/index.html)is van a http://java.sun.com/ oldalon; azt viszont nem tudom, hogy jó-e, mert nem ebből tanultam. Ilyen is van (http://java.sun.com/new2java/).

A Sun amúgy a saját fejlesztőeszközét, a NetBeans-t nyomatja nagyon, de én Eclipse-párti vagyok.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2009-01-05, 23:34:49
 :borul:  :merci:
Foglak en meg kerdezgetni. :smile:
Ti. felmentem a sun oldalara, hogy akkor most jol elkezdek javat tanulni. Aztan meglattam mennyifele letoltenivalo van es elrettetem, azt sem tudtam hol kezdjem. :wtf:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-01-06, 00:00:54
Quote from: Kvikveg on 2009-01-05, 23:34:49
Aztan meglattam mennyifele letoltenivalo van es elrettetem, azt sem tudtam hol kezdjem. :wtf:
Dézsa vű (http://usteam.hu/forum/index.php?topic=926.msg369181;topicseen#msg369181)
De a new2java nem magyarázza el?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2009-01-06, 10:14:19
Quote from: Próféta on 2009-01-06, 00:00:54
Quote from: Kvikveg on 2009-01-05, 23:34:49
Aztan meglattam mennyifele letoltenivalo van es elrettetem, azt sem tudtam hol kezdjem. :wtf:
Dézsa vű (http://usteam.hu/forum/index.php?topic=926.msg369181;topicseen#msg369181)
De a new2java nem magyarázza el?
Igen, akkor rettentem el. Es meg most is tisztan emlekszem ra. XD
Biztos elmagyarazza, csak addig nem jutottam el anno es azota se.  Nade most.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-02-19, 19:40:19
Egy fontos kérdésem lenne programozáshoz értő emberekhez. :)

Szakdolgozat-témám érint egy szoftveres feladatot. Egy olyan programot kell írnom, ami egy AOI rendszer log fájlokba kiírt adainak egy részét kikeresi (dátum vagy gyártósor szerint) és Excel számára érthető XML formátumba kell öntenem.

Bővebben: lesz egy alapkönyvtár, abban gyártósorok szerint könyvtárak, azonbelül hónapok és napok szerint könyvtárak, azonbelül a számomra ismert formátumú (kusza, nagyon hosszú) log fájlok. Ebből kell egy egyszerű interfészen keresztül (nem baj, ha gépelés is involved) a mérnök urak által kért időintervallumban az adott (felsorolt) gyártósorok adatait megkeresnie, összegyűjtenie és XML formátumba konvertálva egy fájlba lementenie a programnak, amit aztán Excellel szépen ki lehet rajzolni színes grafikonokra.

A választható programnyelvek: C++ és Perl. C++ előnye: két szemeszterig tanultam, valamennyire emlékszem rá, van két könyvem, több ismerős vágja, tudok segítséget kérni, fájlkezelés eccerű. Perl előnye: a string alapú keresés pofonegyszerű (hasonló az SQL-hez, ahogy hallottam), márpedig ugye string alapú keresésre épül az egész adat lehívó rendszer... és állítólag C-ben az nehézkesebb. De én nem tudom elképzelni, hogy ne találjak a neten előre megírt keresési motorokat, függvényeket.

Tehát a kérdés: C++ vagy Perl? Előbbi esetben: fogok találni kész "motorokat" hozzá vagy mindent nekem kell majd megírnom? (Menne, csak nem hinném, hogy optimalizált lenne a dolog processzor számításokat tekintve...)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-02-19, 20:17:30
Ilyen feladatra én egyértelműen a Perlt javaslom.
Az előnyei:
- kis túlzással az egész nyelvet ilyesfélére találták ki. A sztringkezelése sokkal egyszerűbb és rugalmasabb, mint a C-é, ahol neked kell minden egyes tömbcímzési hibát debuggolnod, stb. Ja, és a Perl nagyon erős a reguláris kifejezések terén.
- a Perl szintaxisát úgy találták ki, hogy kézre álljon azoknak, akik a C-t és a basht ismerik. Te az előbbit ismered, tehát a Perlt sem lesz nagy ügy megszoknod.
- a Perlhez létezik egy hatalmas méretű modulkönyvtár, amibe jószándékú jómunkásemberek rengetegféle problémakör megoldását feltöltötték. Pl. van olyan modul, amivel kitűnően lehet közvetlenül Excel fájlokat készíteni, de az XML-támogatás is széleskörű.
- a Perlnek nagyon jó a dokumentációja, az alapnyelvé főleg, de jellemzően a moduloké is.

Ja, és egy tanács: ha publikációs minőségű grafikonokat szeretnél gyártani, akkor az Excelt felejtsd el, de sürgősen.
Ha a mérnök urak abban kérik a reportokat, akkor egye fene, abban kapják, és maguknak gyárthatnak fos grafikonokat is abban, de én nem adnék ki a kezemből Excel-minőségű ábrát és te se tedd.



In fact, a munkahelyemen pont a múlt héten kellett egy egészen hasonló feladatot megoldanom. Ott kb. 300, spektrumanalizátorral különböző frekvenciasávokban készített helyszíni mérési adatfájlon kellett végigmenni, az azokban lévő adatokat meghatározott módon több fájlból összepárosítani, manipulálgatni, majd az eredményeket egy Excel-táblába befosni, végül egyes adatokról ábrát készíteni.
Ez összesen kb. 12 munkaórámba került, úgy, hogy iszonyú bénán programozok egyébként és állandóan néznem kell a doksikat. Tehát három nap alatt megvolt, miközben még mást is csinálnom kellett. C-ben kizárt, hogy ennyi idő alatt meglett volna.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-02-20, 00:53:03
Én is beleröffentenék.

Egészen pontosan milyen XML előállítására gondolt a megbízó? A legkönnyebben generálható Excel bemenet a .csv fájl, ami pont az, aminek hangzik ("Comma-Separated Values (http://en.wikipedia.org/wiki/Comma-separated_values)"). Milyen megfontolások alapján kell XML-t csinálnod, és milyen sémájút? (Ugye véletlenül sem az elcseszett .xlsx-re gondoltak?) Nem feltétlenül támadásból mondom, az XML nagyon jó dolog, jól lehet benne hierarchikus struktúrájú adatot tárolni meg könnyen lehet másformábaba transzformálni; szóval rosszul azzal se jártok, max egy fölösleges köztes lépés lesz, de legrosszabb esetben egy egyszerű XSLT kiköp belőle egy pofás .csv-t.

Quote from: Ramiz on 2009-02-19, 19:40:19Perl előnye: a string alapú keresés pofonegyszerű (hasonló az SQL-hez, ahogy hallottam)
Nem igazán ismerem a Perlt, de attól tartok ez a hasonlóság csak valami nagyon absztrakt szinten áll fenn :D

Quote from: kikuchiyo on 2009-02-19, 20:17:30
- kis túlzással az egész nyelvet ilyesfélére találták ki.
+1

Quote from: kikuchiyo on 2009-02-19, 20:17:30
A sztringkezelése sokkal egyszerűbb és rugalmasabb, mint a C-é
Ácsi, az alternatíva a C++ volt. abban a pointeres-tömbös-nullkarakteres sztringkezelés remekül elbújtatható (és többnyire elbújtatandó) az objektumorientált felület mögé (std::string).

Quote from: kikuchiyo on 2009-02-19, 20:17:30
Ja, és a Perl nagyon erős a reguláris kifejezések terén.
Tagadhatatlan, de C++ nyelven is vannak megfelelő libraryk, például a tegnap általam már belinkelt boost.org részeként: Boost.Regex (http://www.boost.org/doc/libs/1_38_0/libs/regex/doc/html/boost_regex/introduction_and_overview.html) (tartalomjegyzék (http://www.boost.org/doc/libs/1_38_0/libs/regex/doc/html/index.html)). Nagyon sok mindent tudnak, például a Perl-féle regex értelmezést is.

Ettől függetlenül a kettővel feljebbi még fennáll, a Perlben kényelmesebb lesz használni ezeket a regexeket. A döntést Ramiznak kell meghoznia, hogy a két félév, általam nehezen megítélhető minőségű C/C++ képzés és a vele járó adott mennyiségű gyakorlati tapasztalat vajon ellensúlyozza-e ezt.

Quote from: kikuchiyo on 2009-02-19, 20:17:30
Ha a mérnök urak abban kérik a reportokat, akkor egye fene, abban kapják, és maguknak gyárthatnak fos grafikonokat is abban, de én nem adnék ki a kezemből Excel-minőségű ábrát és te se tedd.
Milyen keményvonalasak vagyunk :)
Azért valami rendes grafikonrajzolót (gnuplot vagy akármi) megtanulni szintén egy kis plusz idő. És nem mindig rossz az Excel / OpenOffice által gyártott grafikon (plána a beállítások igen alapos átnyálazása után), csak persze nem is mindig jó.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-02-20, 01:24:41
Quote from: Próféta on 2009-02-20, 00:53:03
Én is beleröffentenék.

Egészen pontosan milyen XML előállítására gondolt a megbízó? A legkönnyebben generálható Excel bemenet a .csv fájl, ami pont az, aminek hangzik ("Comma-Separated Values (http://en.wikipedia.org/wiki/Comma-separated_values)"). Milyen megfontolások alapján kell XML-t csinálnod, és milyen sémájút? (Ugye véletlenül sem az elcseszett .xlsx-re gondoltak?) Nem feltétlenül támadásból mondom, az XML nagyon jó dolog, jól lehet benne hierarchikus struktúrájú adatot tárolni meg könnyen lehet másformábaba transzformálni; szóval rosszul azzal se jártok, max egy fölösleges köztes lépés lesz, de legrosszabb esetben egy egyszerű XSLT kiköp belőle egy pofás .csv-t.

Igen, ezt akartam még kifejteni: ha csak nem kifejezetten azt írja elő a specifikált feladat, hogy XML-t kell előállítani, akkor szerintem nem érdemes arra időt áldozni. Ha csak köztes lépés az Excel felé (azaz a végcél Excel reportok készítése), akkor teljesen felesleges is, azt egyszerűbben is meglehet oldani, pl. az általam ajánlott Perl modulokkal (pl. Spreadsheet::WriteExcel).

Én egyébként nem vagyok meggyőződve arról, hogy az XML olyan jó dolog lenne... elméletben biztos előnyös, meg logikus, meg hierarchikus, meg minden, de a gyakorlatban ocsmány.

Quote
Quote from: Ramiz on 2009-02-19, 19:40:19Perl előnye: a string alapú keresés pofonegyszerű (hasonló az SQL-hez, ahogy hallottam)
Nem igazán ismerem a Perlt, de attól tartok ez a hasonlóság csak valami nagyon absztrakt szinten áll fenn :D

Annyi köze van a kettőnek egymáshoz, hogy perl scriptekkel gyakran szoktak SQL szervereket buzerálni. :)

Quote
Quote from: kikuchiyo on 2009-02-19, 20:17:30
- kis túlzással az egész nyelvet ilyesfélére találták ki.
+1

Quote from: kikuchiyo on 2009-02-19, 20:17:30
A sztringkezelése sokkal egyszerűbb és rugalmasabb, mint a C-é
Ácsi, az alternatíva a C++ volt. abban a pointeres-tömbös-nullkarakteres sztringkezelés remekül elbújtatható (és többnyire elbújtatandó) az objektumorientált felület mögé (std::string).

Quote from: kikuchiyo on 2009-02-19, 20:17:30
Ja, és a Perl nagyon erős a reguláris kifejezések terén.
Tagadhatatlan, de C++ nyelven is vannak megfelelő libraryk, például a tegnap általam már belinkelt boost.org részeként: Boost.Regex (http://www.boost.org/doc/libs/1_38_0/libs/regex/doc/html/boost_regex/introduction_and_overview.html) (tartalomjegyzék (http://www.boost.org/doc/libs/1_38_0/libs/regex/doc/html/index.html)). Nagyon sok mindent tudnak, például a Perl-féle regex értelmezést is.

Ebből látszik, hogy én meg a C++-t nem ismerem jól.

Quote
Ettől függetlenül a kettővel feljebbi még fennáll, a Perlben kényelmesebb lesz használni ezeket a regexeket. A döntést Ramiznak kell meghoznia, hogy a két félév, általam nehezen megítélhető minőségű C/C++ képzés és a vele járó adott mennyiségű gyakorlati tapasztalat vajon ellensúlyozza-e ezt.


Ez is igaz. De szerintem a Perlbe elég könnyű belejönni, ha már az embernek van némi programozási tapasztalata.

Még egy szempont, hogy a készterméknek mennyire kell hordozhatónak és önmagában megállónak lennie.

Egy C programot az ember lefordít arra rendszerre/architektúrára, amire a feladat szól, onnantól van egy módosíthatatlan bináris, ami kevéssé hordozható.

A Perl bár elvileg megírható úgy, hogy bármin elfusson, ahova az interpretert portolták, de itt is vannak buktatók, és a késztermékhez kell a perl alaplé és a programhoz felhasznált modulok.
Van olyan, hogy PAR, ami gyak. egy exét gyárt egy perl szkriptből, a dependenciákkal és mindennel együtt, de én még nem próbáltam, és kérdéses, hogy éles környezetben ez mennyire használható, vagy kell-e egyáltalán.

Quote
Quote from: kikuchiyo on 2009-02-19, 20:17:30
Ha a mérnök urak abban kérik a reportokat, akkor egye fene, abban kapják, és maguknak gyárthatnak fos grafikonokat is abban, de én nem adnék ki a kezemből Excel-minőségű ábrát és te se tedd.
Milyen keményvonalasak vagyunk :)
Azért valami rendes grafikonrajzolót (gnuplot vagy akármi) megtanulni szintén egy kis plusz idő. És nem mindig rossz az Excel / OpenOffice által gyártott grafikon (plána a beállítások igen alapos átnyálazása után), csak persze nem is mindig jó.

Fenntartom az állításomat, hogy az Office-ok jelentős szenvedéssel, kompromisszumok árán képesek elfogadhatónak hazudható grafikonokat készíteni. Publikációs minőségűeket semmilyen körülmények között, ezért is hagytam el az agyam, amikor nem egy tudományos folyóiratnál azt láttam, hogy "Microsoft Excel format"-ban kérték az ábrákat. Általában véve tragédiának tartom, hogy az Office keze egyáltalán betette a lábát a tudományos szférába. Az egész programcsomag célja, felépítése, filozófiája alapvetően szembemegy azzal, ami egy tudományos publikáció szempontjából józan észnek nevezhető.
Erről a témáról sokat tudnék még habzó szájjal értekezni, de most be kell vennem a gyógyszeremet.

BTW igaz, hogy pl. a gnuplot által nyújtott felhasználói élmény elsőre egy kibelezéshez hasonlatos, és nem triviális a megtanulása és még azután is gyakran kell a doksijához nyúlni, de a képességei bőven kárpótolnak ezért, és Ramiz feladatára (grafikonok automatizált gyártása szövegfájlokból) ideálisak.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-02-20, 02:17:16
Quote from: kikuchiyo on 2009-02-20, 01:24:41
Én egyébként nem vagyok meggyőződve arról, hogy az XML olyan jó dolog lenne... elméletben biztos előnyös, meg logikus, meg hierarchikus, meg minden, de a gyakorlatban ocsmány.
Szerintem meg nem :) Inkább csak az szokott csúnya lenni, ami (http://thedailywtf.com/Articles/The_Flat-File_Society_Does_XML.aspx)kor olyan (http://thedailywtf.com/Articles/XML_vs_CSV__0x3a__The_Choice_is_Obvious.aspx)ra használ (http://thedailywtf.com/Articles/Oh,-XML.aspx)ják, ami (http://thedailywtf.com/Articles/XML-Abuse.aspx)re nem való (http://thedailywtf.com/Articles/XML_0x3f_.aspx).
És gyakorlati előnye is rengeteg van: kvázi minden platformon van remek SAX parser vagy DOM parser/editor és egyéb jó könyvtárak; van hozzá XPath, XSL; van hozzá igényre szabható séma, aminek több előnye is van; a névterezés révén jól kiegészíthetők a nyelvek; van hozzá jó IDE támogatás; gépek közti átvitelre is használható (mert le van benne írva a saját encodingja); kis esetben ember is megértheti / szerkesztheti.
Viszont most fáradt vagyok erről tovább flameelni, jó éjt.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-02-20, 12:53:32
@Próféta:
:tezsvir:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-02-20, 19:53:42
Végül is Java-ban fogom csinálni... :D Mert annak van köze a C++-hoz, könnyű megtanulnom, viszont annál jobb az objektum-kezelése. Plusz lesz kéznél egy Java-szaki, plusz manapság amúgy is szeretik a Java-s tudást (nem szeretek programozni, de Javát és PHP-t azért meg fogom tanulni).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-02-20, 20:13:27
Szerintem rossz választás, de ahogy  Matisz nagypapa mondta, ha iparkodsz, magadnak iparkodsz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2009-02-20, 20:52:55
Ehhez a feladathoz szerintem sem a legjobb választás a Java.
Mondjuk én javaban csinálnám, mert ahhoz értek valamennyire :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-02-21, 13:14:42
Quote from: kikuchiyo on 2009-02-20, 20:13:27
Szerintem rossz választás, de ahogy  Matisz nagypapa mondta, ha iparkodsz, magadnak iparkodsz.

Nem tudom, hogy ezt akartad-e mondani vele, de legfeljebb alaposan megtanulom és megértem a Javát... :D És végül is van rá kb két hónapom, heti két teljes nappal, és annyira nem nehéz a feladat.

Elég amúgy a .csv kimenet, de ha lesz időm, csinálok szebbet.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-02-21, 13:32:55
Csak arra akartam célozni, hogy a te szakdolgozatod, úgy cseszed el az idődet, ahogy akarod. Ha egy rövid idő alatt letudható feladaton sokáig szeretnél rágódni, ám tedd.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2009-03-09, 19:25:32
Melyik programozási nyelvet a leginkább érdemes manapság megtanulni? Azaz melyik most a legkeresettebb a munkaerőpiacon?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2009-03-09, 19:43:19
Quote from: .Attila on 2009-03-09, 19:25:32
Melyik programozási nyelvet a leginkább érdemes manapság megtanulni? Azaz melyik most a legkeresettebb a munkaerőpiacon?

http://en.wikipedia.org/wiki/Shakespeare_(programming_language)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-09, 19:52:00
Nem programozási nyelvet érdemes tanulni, hanem programozni érdemes tanulni. Hogy melyik nyelven? Nagyjából mindegy, vagyis attól függ, hogy mivel szeretnél foglalkozni.
Webbel akarsz foglalkozni? Akkor ha kicsiben akarsz gondolkodni, akkor PHP, esetleg Perl vagy Python, de leginkább PHP, ha kicsit nagyobban, akkor JavaEE vagy Microsoft .NET (mondjuk c#, vagy valami).
Ha nem web, akkor is lehet Java, de lehet c++ is, meg még millió másik dolog.
Tanulj meg mondjuk sima c-t meg Javát, és akkor már mindent tudsz. Ha rendesen tudsz programozni, akkor egy új nyelv szintaktikáját néhány óra alatt meg lehet tanulni. Magához az API-hoz meg úgyis idő kell, de ha Javázol is, akkor legalább hozzászoksz, hogy milyen dolog is API doksiból programozni. Ha ez megy, akkor már csak munkatapasztalat kell, hogy egyre jobbá válj.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2009-03-09, 20:01:32
Momentán azért keresek valamit, hogy javítsam az esélyeimet a munkaerőpiacon.
Javával és c-vel szemeztem leginkább, mert ezek a legelterjedtebbek. Meg a delphi. Azt hiszem, C lesz belőle.
Valakinek van jó könyve vagy forrása, amiből lehet tanulni? (tanfolyamot is keresek közben, csak momentán nem tudom, miből fizessem)

szerk.: az alábbi két könyv közül melyiket érdemes megvenni?

1 (http://libri.hu/hu/konyvek/szamitastechnika_internet/programozas_fejlesztes/altalanos/programozzunk_c_nyelven?pr_type=book) 2 (http://libri.hu/hu/konyvek/szamitastechnika_internet/programozas_fejlesztes/altalanos/programozzunk_c_nyelven_1?pr_type=book)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Fazék on 2009-03-09, 23:29:38
amint van win7-ből egy véglegesnek szánt verzió, szóljatok, hogy mihamarabb átállhassak, már unom az xp-t és túl sok szépet hallok eme utódjáról a kicsit mostohagyermek-szerű vista-hoz képest :)

ugyan megtisztítottam valamennyire az xp-met vasárnap, Selmo leírásának köszönhetően (thx :)), de továbbra sem az igazi sajnos

szerk: .Attila amatőr programozási kérdései engem is izgatnak, kíváncsian várom a válaszokat, mert nekem tényleg elkerülhetetlen, hogy ha már semmihez sem értek, de minimálisan bejött a programozás, akkor talán célszerű lenne ezen irányba tapogatnom :)

egy jóbarátom php tanulásra akar rávenni, de ő is elismerte, hogy még mindig népszerű, de nem az a jövő, de hogy akkor be tudna vonni a munkájába, csak nem vagyok benne biztos, hogy megérné egy c vagy java tudással szemben
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-03-09, 23:43:10
.Attila: Related to my interests...

érdeklődés van, de minimális visual basicet (azt se túl jól) és
html-t tanítottak csak nekünk, tehát semmi programozási
alapképzettségem nincs. Milyen könyvet tudtok ajánlani, ami
jól, részletesen, érthetően magyaráz, és nem egyből a
közepébe, feltételezve, hogy ennek felét már úgyis tudom?
Nekikezdtem már pár webes tutorialnak, de amikor az első
oldalon olyanokkal kezdenek, hogy
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
anélkül, hogy a class, public, static, void, stb fogalmak
értelmét, célját, szintaxisát elmagyaráznák...
Tehát valami olyasmi kéne, ami az alapokig visszamegy...
Thx.


Fazék: win7 már másfél éve a piacon van, vista álnéven ;D
és ez csak félig vicc... a win7 egy kicsit átalakított, tisztított
vista... a release candidate amúgy a hetekben jön majd ki.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Fazék on 2009-03-09, 23:48:53
Quote from: Kuroi Tenshi on 2009-03-09, 23:43:10
Fazék: win7 már másfél éve a piacon van, vista álnéven ;D
és ez csak félig vicc... a win7 egy kicsit átalakított, tisztított
vista... a release candidate amúgy a hetekben jön majd ki.
hidd el, a vista-ra is átváltottam volna, ha tisztességesen megcsinálják és hihetek benne, hogy hasonlóan hosszú életű lesz, mint az xp.
MS béna volt, kellett neki még pár év, hogy lecsupaszítsa, rendesebben felöltöztesse és szalonképessé tegye. :)

pl ez is már-már mesébe illően hangzik: http://index.hu/tech/szoftver/2009/03/09/mindent_ki_lehet_kapcsolni_a_windows_7-ben/
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-09, 23:57:28
1. van programozós topik (http://usteam.hu/forum/index.php?topic=1136.0), nem akarunk oda átvonulni?

2.
Quote from: .Attila on 2009-03-09, 20:01:32
Momentán azért keresek valamit, hogy javítsam az esélyeimet a munkaerőpiacon.
Javával és c-vel szemeztem leginkább, mert ezek a legelterjedtebbek. Meg a delphi. Azt hiszem, C lesz belőle.
Ahogy én látom, a munkaerőpiacon közvetlenül a Java és a C# a legjobban használható, de a C++ is hasznos, önmagában is, alapozásnak is. Sima C-t viszont ne nagyon tanulj (max ránézés szintű ismerkedés az előbbi 3 előtt), mert beágyazott eszközöket és OS-közeli dolgokat aligha fogsz programozni, viszont utána C++-ra áttérve régi rossz beidegződéseid lehetnek. Vagy nem.
Delphit is kerüld; ugyan még csomó cégnél van, karban kell tartani ezeket a programokat, de szerintem ne erre gyúrj, mert eléggé leszállóban van (a mögötte álló Borland cégnek kábé kampec volt).

3.
Quote from: .Attila on 2009-03-09, 20:01:32
Valakinek van jó könyve vagy forrása, amiből lehet tanulni? (tanfolyamot is keresek közben, csak momentán nem tudom, miből fizessem)
C++: Ha nem zavar, hogy nem papíron van, akkor Teach Yourself C++ in 21 Days (http://newdata.box.sk/bx/c/). Már reklámoztam (http://usteam.hu/forum/index.php?topic=4.msg354131#msg354131). Mások a nyelvet kitaláló Bjarne Stroustrup könyvére esküsznek, én azt nem olvastam.
Java: Itt saját tapasztalattal nem nagyon tudok segíteni (egy minimális egyetemi kurzus után gyakorlatilag azon keresztül tanultam meg, hogy immár 4 éve programozok benne), de ha visszaolvasol, Kvikvegnek is azt mondtam, hogy a Sun honlapján lévő Getting Started jó hírben áll, és az Standard API referencia pedig a későbbiekben aranyat ér.
C#: Csak annyit tudok mondani, hogy ha a Java megvan, akkor onnan ezt nagyon könnyű, mert messziről és bandzsítva nézve szinte ugyanaz.

Viszont bármelyik nyelvről is van szó, a legfontosabb: csinálni, gyakorolni, próbálkozni, kísérletezgetni! amikor nem működik, izzadni felette egy kicsit!

4.
Quote from: .Attila on 2009-03-09, 20:01:32
szerk.: az alábbi két könyv közül melyiket érdemes megvenni?

1 (http://libri.hu/hu/konyvek/szamitastechnika_internet/programozas_fejlesztes/altalanos/programozzunk_c_nyelven?pr_type=book) 2 (http://libri.hu/hu/konyvek/szamitastechnika_internet/programozas_fejlesztes/altalanos/programozzunk_c_nyelven_1?pr_type=book)
A Benkő Tibornésat szerintem határozottan nem, egyrészt mert régi, másrészt mert Benkőné. A másik passz.

5.
Quote from: Kuroi Tenshi on 2009-03-09, 23:43:10
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
anélkül, hogy a class, public, static, void, stb fogalmak
értelmét, célját, szintaxisát elmagyaráznák...
Tehát valami olyasmi kéne, ami az alapokig visszamegy...
Pedig szerintem az alapokat akár itt is el lehet kezdeni. Először fogd fel az első két sort és a végén a két záró kapcsos zárójelet, mint valami kötelező eposzi kelléket, nem kell még megértened őket. Mint a latin énekek ballagáskor. A közepére, a hello world sor helyére lehet az első programokat írni, amik mondjuk bekérnek két számot, aztán összeadják. Aztán egyre bonyolultabbakat, amelyek feltételeket, ciklusokat használnak. Aztán másik metódusokat hívogatnak. Aztán meg fognak jelenni az osztályok és az objektumpéldányok, és kisvártatva több fájlra szétterpeszkedik a programod. Aztán egyszer csak azon kapod magad, hogy érted, mi volt az a kötelező eposzi kellék.



Quote from: Fazék on 2009-03-09, 23:48:53
hidd el, a vista-ra is átváltottam volna, ha tisztességesen megcsinálják és hihetek benne, hogy hasonlóan hosszú életű lesz, mint az xp.
MS béna volt, kellett neki még pár év, hogy lecsupaszítsa, rendesebben felöltöztesse és szalonképessé tegye. :)
Szerintem nem csoda, hogy a Vista első éve olyanra sikerült, amilyenre. Elvégre a Microsoft első desktop operációs rendszeréről van szó, még kissé gyakorlatlanok voltak.
[spoiler]Ez nem szarkazmus, hanem trollkodás akart lenni. Amióta van szimbolikus link a Windowsban, azóta kénytelen vagyok én is elismerni, hogy igazi operációs rendszer lett belőle :)[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2009-03-10, 00:19:35
Quote from: Próféta on 2009-03-09, 23:57:28
1. van programozós topik (http://usteam.hu/forum/index.php?topic=1136.0), nem akarunk oda átvonulni?

De.

QuoteAhogy én látom, a munkaerőpiacon közvetlenül a Java és a C# a legjobban használható, de a C++ is hasznos, önmagában is, alapozásnak is. Sima C-t viszont ne nagyon tanulj

Ok.

QuoteC++: Ha nem zavar, hogy nem papíron van, akkor Teach Yourself C++ in 21 Days.

Ezt megnézem.

Quotea Sun honlapján lévő Getting Started jó hírben áll, és az Standard API referencia pedig a későbbiekben aranyat ér.

Meg ezt is.
A Standard API meg micsoda?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-10, 00:20:14
Quote from: Próféta on 2009-03-09, 23:57:28
Sima C-t viszont ne nagyon tanulj (max ránézés szintű ismerkedés az előbbi 3 előtt), mert beágyazott eszközöket és OS-közeli dolgokat aligha fogsz programozni
Quote from: Kuroi Tenshi on 2009-03-09, 23:43:10
anélkül, hogy a class, public, static, void, stb fogalmak
értelmét, célját, szintaxisát elmagyaráznák...
Tehát valami olyasmi kéne, ami az alapokig visszamegy...
Ha sima c-t tanulsz egy kicsit, akkor pont az alapokat tudod elsajátítani. A sima c-nél a fenti felsorolásból a voidot kivéve egyik szóval se találkozol, csak azzal, ami a kapcsos zárójelek között van, és azzal is sokkal egyszerűbb formában.
Nem árt megismerkedni az eljárásorientált programozással rendesen (mondjuk sima c), mielőtt objektumorientált programozással foglalkoznál (c++, c#, Java). Ahhoz, hogy igazán leessen, hogy mi is az objektumorientált programozás lényege és igazi haszna, tényleg kell, hogy az eljárásorientált alapok meglegyenek. Nem azt mondom, hogy profin elsajátítsd a c minden csínját bínját, mutatóaritmetikától kezdve minden finomságot, de jó kis eljárásorientált alapot ad.
Amúgy az se rossz, ha megfogadod Próféta tanácsát, és valami ismeretlen szükséges akármiként tekintesz ezekre a részekre, de talán a végén tisztább képet kapsz, ha az alapokról kezdesz.
Saját tapasztalatomra visszaemlékezve nekem nagy élmény volt, amikor Prog 2 gyakorlaton a félév vége felé a nagy beadandó feladat megoldása közben leesett, hogy az objektumorientáltság miért is jó és hasznos. Addig is tanítgatták, hogy mi az, értem én, hogy van Személy osztály, akinek van neve és címe, annak leszármazottja az Alkalmazott, akinek emellett már beosztása és fizetése is van, stb. De amikor először megértettem a gyakorlati hasznát (szöveges RPG programot kellett írni, ami input fájlból parse-olja a kalandot, és aztán végig lehet vele játszani), az nem lett volna ugyanolyan, ha előtte nem tanulom az eljárásorientált paradigmát is. Hú bazz, ez se ma volt, nem is tegnap :)
Könyvet nem nagyon tudok ajánlani sajnos, mert én egyetemen tanultam programozni eleinte, aztán meg munkatapasztalatból, de a többiek már adtak egy pár használható linket.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-03-10, 00:42:03
Quote from: Próféta on 2009-03-09, 23:57:28
Quote from: Kuroi Tenshi on 2009-03-09, 23:43:10
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
anélkül, hogy a class, public, static, void, stb fogalmak
értelmét, célját, szintaxisát elmagyaráznák...
Tehát valami olyasmi kéne, ami az alapokig visszamegy...
Pedig szerintem az alapokat akár itt is el lehet kezdeni. Először fogd fel az első két sort és a végén a két záró kapcsos zárójelet, mint valami kötelező eposzi kelléket, nem kell még megértened őket. Mint a latin énekek ballagáskor. A közepére, a hello world sor helyére lehet az első programokat írni, amik mondjuk bekérnek két számot, aztán összeadják. Aztán egyre bonyolultabbakat, amelyek feltételeket, ciklusokat használnak. Aztán másik metódusokat hívogatnak. Aztán meg fognak jelenni az osztályok és az objektumpéldányok, és kisvártatva több fájlra szétterpeszkedik a programod. Aztán egyszer csak azon kapod magad, hogy érted, mi volt az a kötelező eposzi kellék.

Ezzel csak az a bajom, hogy utálom.
Úgy sokkal tisztább és könnyebben megjegyzem, ha értem is,
hogy mit kell leírnom. Én még a latin ballagási énekeknek is
utánanéztem, hogy mit jelentenek, tehát ez a hasonlat nálam
melléfogás ;D

Ez egyébként a sun java tutorial oldaláról van.
Pár hónapja, max fél éve kezdtem neki, amikor egy kicsivel
több szabadidőm volt még, aztán az első pár leckében
végig ez ment, hogy szinte feltételezte, hogy van valami
alaptudásom, és értem, hogy mit jelentenek, és mit hova
kell írni, anélkül, hogy egyszer elmagyarázták volna. Ebből
arra a következtetésre jutottam, hogy előbb valami alapozó
könyvet kéne elolvasnom, mert ez így csak idegesít, hogy
logika ismerése nélkül beseggelnem kell valamit.


Quote from: motifator on 2009-03-10, 00:20:14
Ha sima c-t tanulsz egy kicsit, akkor pont az alapokat tudod elsajátítani.

Könyvet nem nagyon tudok ajánlani sajnos, mert én egyetemen tanultam programozni eleinte, aztán meg munkatapasztalatból, de a többiek már adtak egy pár használható linket.

Ok, akkor ennek még utánakérdezek munkahelyen is, hátha
adnak valami jó tippet sima c-könyvre vagy tutorialra.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-10, 00:52:12
Quote from: Próféta on 2009-03-09, 23:57:28
Viszont bármelyik nyelvről is van szó, a legfontosabb: csinálni, gyakorolni, próbálkozni, kísérletezgetni! amikor nem működik, izzadni felette egy kicsit!

Én káromkodni szoktam...

Quote from: motifator on 2009-03-10, 00:20:14
Saját tapasztalatomra visszaemlékezve nekem nagy élmény volt, amikor Prog 2 gyakorlaton a félév vége felé a nagy beadandó feladat megoldása közben leesett, hogy az objektumorientáltság miért is jó és hasznos.

Szégyen, de én a mai napig nem értem, hogy miért jó az objektumorientáltság.
Lehet, hogy csak azért, mert sosem volt szükségem rá, vagy nem tudtam, hogy erre van szükségem.
Miért jó?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-10, 01:30:06
Sima C: ezt se könyvből tanultam, de az eredeti Kernighan & Ritchie könyvet szokták szeretni (ők találták ki a nyelvet, amikor kellett valami, amiben megírhatják a UNIXot), de az már egy nagyon ősi C dialektus.
Viszont aki C programozásra vagy gyakorlásra adja a fejét, annak kötelező kinyomtatnia ezt (http://www.hit.bme.hu/~szandi/prog1/stdc.pdf) egy A4-es lap két oldalára, és mindig kéznél kell tartania.

Quote from: .Attila on 2009-03-10, 00:19:35
A Standard API meg micsoda?
A szabvány API specifikáció (http://java.sun.com/javase/6/docs/api/) kb. ugyanaz, mint C-hez a fenti pdf. Viszont eszedbe ne jusson most beleolvasni, mert kiég a szemed!
Dióhéjban: vannak felületek, amelyeken keresztül a Java programok a számítógépet és a felhasználót piszkálhatják, meg input / output tevékenységet folytathatnak; ezen kívül van egy rakás segédszolgáltatás és előre elkészített, felhasználható programelem. Ezek "ha áram van, minden van" elven az összes Java futtatókörnyezetben kötelezően ott figyelnek, és az ő programozói leírásuk az imént linkelt doksi. Ha például elképzelésed sincs, hogy K_T példájában a System.out.println() vajon mit jelenthet, akkor azt megpróbálhatod kinyomozni ebből. Egy jó IDE (fejlesztőeszköz) persze sokat segít.

Quote from: motifator on 2009-03-10, 00:20:14
Ha sima c-t tanulsz egy kicsit, akkor pont az alapokat tudod elsajátítani. A sima c-nél a fenti felsorolásból a voidot kivéve egyik szóval se találkozol, csak azzal, ami a kapcsos zárójelek között van, és azzal is sokkal egyszerűbb formában.
Kötekedés: static az van C-ben is, bár kissé más jelentéssel :)
OK, ez is egy érthető álláspont, ezért is írtam, hogy rövid ránézést megér. Pointerekig tényleg nem érdemes elmenni, már a char* is necces. Viszont pont az eposzi kellékeken nem sokat segít a C, ott úgy kezdődik a világ (Tudom, hogy le lehet egyszerűsíteni, ne kötekedj ;) ), hogy

int main(int argc, char** argv)
{
}

És ebből szerintem nem ért többet a kezdő, mint a Javás eposzból. Sőt.
Inkább az OO megértésében van igazad, ott jön jól, ha látott előtte procedurális programozást.

Quote from: kikuchiyo on 2009-03-10, 00:52:12
Szégyen, de én a mai napig nem értem, hogy miért jó az objektumorientáltság.
Lehet, hogy csak azért, mert sosem volt szükségem rá, vagy nem tudtam, hogy erre van szükségem.
Miért jó?
Nem fogok ilyenkor esszét írni róla neked, szóval csak röviden :)
Hello World szintjén tipikusan csak árt, de nagyobb méretekben, bizonyos jellegű komplexebb szoftvereknél megvan a maga haszna a paradigmának.
Megkönnyíti bizonyos esetekben a feladat (és maga a félkész szoftver) modularizációját, strukturális dekompozícióját (ergo gyakran könnyebb benne gondolkodni, mert vannak a bigyók és a hozzájuk tartozó műveletek); segíti (interfész és cserélhető implementáció szétválaszthatóságán, különféle polimorfizmusokon keresztül) bizonyos kódrészletek újrafelhasználhatóságát, biliborulás nélküli átalakíthatóságát; lazább lehet részek közti a csatolás általa; vezet annyira, hogy segít bizonyos hibákat elkerülni (pl. hoppá, egyszer csak kettőre van ebből szükségem, holott mindig egyre volt); könnyebben támogatható a fejlesztés IDE-vel (főleg, ha statikusan tipizált); ráadásul van egy halom jól kimunkált, letisztult tervezési minta hozzá.
Nyilván nem mindenre ez a legpraktikusabb; megvan a C, az ASM, a Matlab, a szkriptnyelvek, a Haskell, kedvenc Perled, stb. létjogosultsága is.

Amúgy érdekességképp belinkelem a hírhedt TIOBE Index (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)et. Nem szabad túl sokat belelátni, de mondjuk érdemes ránézni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-10, 01:38:16
Quote from: Próféta on 2009-03-10, 01:30:06
kedvenc Perled, stb. létjogosultsága is

:haha:

szinte látom magam előtt a gúnyos arckifejezést :)

Most mondjam, hogy a perl is objektomorientált nyelv?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-10, 01:54:52
Quote from: kikuchiyo on 2009-03-10, 01:38:16
szinte látom magam előtt a gúnyos arckifejezést :)
Esküszöm, minden rosszindulat nélkül mondtam :)

Quote from: kikuchiyo on 2009-03-10, 01:38:16
Most mondjam, hogy a perl is objektomorientált nyelv?
Mondhatod nyugodtan, fogalmam sincs. Sosem tanultam, és amennyit láttam belőle, az inkább valami erősebb sed/awk/bash jellegű volt. De persze egy ideje állítólag a PHP nyelvben is van OO, szóval ma már mindent lehet :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-03-10, 02:24:36
Quote from: Próféta on 2009-03-10, 01:30:06
Viszont pont az eposzi kellékeken nem sokat segít a C, ott úgy kezdődik a világ (Tudom, hogy le lehet egyszerűsíteni, ne kötekedj ;) ), hogy

int main(int argc, char** argv)
{
}

És ebből szerintem nem ért többet a kezdő, mint a Javás eposzból. Sőt.

De: ebből az integer (egész szám) már ismerősebben hangzik :hehe:
main, majd a sima zárójel az felsorolás, nem?, amiben egy egész
szám argumentum, és valami más (karakter?) argumentum van?
Utána kapcsos pedig a függvény helyét jelöli, ha jól tévedek.
Biztos hibás, de itt legalább már sejtek valamit, már csak a
szintaxist kell helyretenni; ellenben avval, hogy class, public,
static, void, nem tudok mit kezdeni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2009-03-10, 21:01:45
Milyen c++ compiler-t és linker-t érdemes használni?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-11, 01:22:43
Quote from: .Attila on 2009-03-10, 21:01:45
Milyen c++ compiler-t és linker-t érdemes használni?
Egy lehetőleg szintaktikai kiemelést támogató szövegszerkesztő (pl. Notepad++ Windowsra, Kate KDE-re) mellé bármilyen parancssori eszköz jó, pl. a GCC (GNU Compiler Collection, ehhez tartozik a c++ fordításáért felelős g++) és kellékei (GNU linker). Windowsra a MinGW nevű port érhető el. Ez így kezd macerásan hangozni, de ha nem komoly fejlesztés csinálsz, hanem gyakorlás célzattal ilyen max. egy oldal hosszú mórickaprogramokat, akkor talán ez az egyszerűbb út.

A másik lehetőség feltelepíteni egy fejlesztőkörnyezetet (IDE). Az ilyenek jól összegyúrt grafikus felülettel, komolyabb fejlesztési támogatással, és általában saját (de opcionálisan cserélhető) fordítóval, linkerrel, debuggerrel, profilerrel, stb. rendelkeznek. Windowsra pl. a Microsoft Visual Studio Express letölthető ingyen.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2009-03-11, 01:29:55
Quote from: Próféta on 2009-03-11, 01:22:43
Windowsra pl. a Microsoft Visual Studio Express letölthető ingyen.

Időközben fel is telepítettem.
De utána nézek a többinek is.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-12, 21:51:54
http://www.bloodshed.net/devcpp.html
Ingyenes, lightweight cucc. Talán elsőre egyszerűbb lesz, mint a visual studio, de azt még sose használtam, szal csak talán.
Nekünk annakidején ez volt az ajánlott egyetemen windowsra, de akkor épp linuxfag voltam, szal én szövegszerkesztővel meg parancssori gcc-vel csináltam.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2009-03-12, 22:14:58
Quote from: motifator on 2009-03-12, 21:51:54
de akkor épp linuxfag voltam, szal én szövegszerkesztővel meg parancssori gcc-vel csináltam.
Dir sir, you're sick

Egyébként nekünk anno az egyetemen Code:Blocks (http://www.codeblocks.org/)-szal kezdték. Egyszerű, pöttyet bugos, de érthető és átlátható ide.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-03-12, 23:40:13
Quote from: Kuroi Tenshi on 2009-03-10, 00:42:03
Ok, akkor ennek még utánakérdezek munkahelyen is, hátha
adnak valami jó tippet sima c-könyvre vagy tutorialra.

update: két tippet kaptam c#-ra:
http://www.csharp-station.com/Tutorial.aspx
valamint egy "learn c# in 21 days" vagy hasonló nevű könyv.

A C++-t pedig nem javasolták, mivel abban sokkal lassabban
lehet fejleszteni (már nem emlékszem, mi mindent mondtak,
még a reggeli kávé előtt / közben kérdeztem)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2009-03-12, 23:44:31
Egy dolog, hogy miben hogyan lehet fejleszteni és más, hogy mire van kereslet.
Szóval, mit érdemes akkor tanulni? Két napot már elolvastam a C++ oldalról, nem mintha azzal nagyon előrébb lennék.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Zsiga on 2009-03-12, 23:44:44
Quote from: Darkstar on 2009-03-12, 22:14:58
Quote from: motifator on 2009-03-12, 21:51:54
de akkor épp linuxfag voltam, szal én szövegszerkesztővel meg parancssori gcc-vel csináltam.
Dir sir, you're sick
Ugyanmár. Papír-ceruza-scanner-OCR. Az igazi hardcore kóder így tolja. :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-03-12, 23:55:41
Quote from: Zsiga on 2009-03-12, 23:44:44
Ugyanmár. Papír-ceruza-scanner-OCR. Az igazi hardcore kóder így tolja. :D

Ja, és papírra nyomtatott billentyűzeten gyakorloja a Basicet, à la Golden Boy?

Quote from: .Attila on 2009-03-12, 23:44:31
Egy dolog, hogy miben hogyan lehet fejleszteni és más, hogy mire van kereslet.

:mittomen: azt mondták, hogy szerintük a C++ hamarosan ki fog pusztulni, okkal.
Még a Java is ott van, mint amire van kereslet.
Meg még azt is mondták, hogy ezeket megtanulni viszonylag könnyű, a
dolog igazi nehézsége az, amikor több dologból kell egy rendszert összerakni,
struktúrák, patternek, modularitás, stb (vagy mi)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-13, 00:01:28
Hát, hogy sokkal lassabban lehet-e benne fejleszteni, az relatív, meg tapasztalattól is függ. De kezdőként valószínűleg nem érdemes szivatnod magad c++-szal.
Az eljárásorientált alapokat talán érdemes megtanulni valami eljárásorientált nyelven, ez lehet sima c, vagy valami interpreteres nyelv, mondjuk PHP, mert az elég könnyű, nem kell mutatózni, alapból sok függvénykönyvtár, kényelmes sztringkezelés, stb., Bár a php-t 99.99%-ban szkriptnyelvként használják webprogramozásra, de azzal is lehet tanulgatni. Talán azért nem biztos, hogy érdemes webprogramozással kezdeni, mert lehet, hogy összezavarnának eleinte a webprogramozás sajátosságai (request-response).

De amúgy azóta gondolkoztam a dolgon, nyugodtan kezdhetitek objektumorientált nyelvvel, valami jó kényelmessel, mint a c# vagy a Java, közben majd úgy is rátok ragad az eljárásorientált tudás is. Annyira talán sose fogjátok érteni a dolgot, mint egy egyetemet végzett programozó, de ez nem is feltétlenül akkora nagy baj.

Kereslet? C++ biztos kell még, bár nem a legdivatosabb manapság, és hogy igazán használható tudásod legyen belőle az azért nem egy-két nap, de nem is egy-két hónap. Egy-két hónap tanulás után viszont egész látványos dolgokat meg tudsz csinálni mondjuk php-vel, kereslet is akad rá, az más kérdés, hogy pont a könnyű tanulhatóság miatt a kínálat is óriási. A kettő között valahol ott van a Java és a c#, kicsit nehezebben tanulható, sokáig lesznek majd fehér foltok, kicsit több a szívás mint az eredmény (legalábbis egy php-hez képest), viszont sokoldalúbb, nem csak weben használható, és valszeg egy jobb fizetést is meg lehet csípni vele.
A c# talán kicsit egzotikusabb, újabb jószág, mint a Java, talán kicsit kevesebben értenek hozzá, pedig kb. ugyanolyan, mint a Java. Szal talán arra nagyobb a kereslet, és nem tanulható nehezebben. Azért jobb talán, mert ha kevés a c#-os ember, akkor nagyobb esélyed van arra, hogy a magadtól tanult, nem egyetemmel szerzett tudásoddal is felvegyenek valahová.

Igazából nincs ultimate answer, de szerintem kezdőként a Java, c# és a php közül válassz, ha viszonylag könnyen tanulhatót akarsz, és olyat, amivel el tudsz majd helyezkedni. A c++-t nem ajánlom, nem kívánom egy kezdőnek, hogy mondjuk segfault-ot kelljen debugolnia. Magamnak se kívánnám.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-13, 01:16:13
Quote from: Kuroi Tenshi on 2009-03-12, 23:55:41
:mittomen: azt mondták, hogy szerintük a C++ hamarosan ki fog pusztulni, okkal.
Szerintem kipusztulni aligha fog, de már eddig is jelentősen visszaesett, okkal. És tényleg nagyobb szívás. Nem véletlenül ajánlottam Java-t vagy C#/.NET-et. De a C++ programozó sem elveszett ember szvsz, szóval továbbra is örömmel segítünk (már amennyit tudunk), ha kifejezetten azt szeretnétek tanulni.

Quote from: Kuroi Tenshi on 2009-03-12, 23:55:41
Meg még azt is mondták, hogy ezeket megtanulni viszonylag könnyű, a
dolog igazi nehézsége az, amikor több dologból kell egy rendszert összerakni,
struktúrák, patternek, modularitás, stb (vagy mi)
Valóban, Software Engineer >> Programmer. De az SE dolgait nem hogy megtanulni, de megérteni is csak programozási tapasztalat birtokában lehet. Viszont minthogy vegyészből átképzett programozók is tömegével helyezkednek el (-tek el múlt nyárig), junior kóderekre is bőven van szükség a látszat szerint, szóval nyugi.

motifator +1, de ne tanuljatok külön eljárásorientált programozást, ha nem kifejezetten arra van szükség. A PHP-vel egyébként tényleg gyorsan lehet látványos eredményt és sikerélményt elérni, de nekem nem éppen a szívem csücske, és nem is feltétlenül a tuti állás záloga.

A Java vs. C# elhelyezkedési esélylatolgatásba én nem mennék bele.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-13, 10:26:26
Quote from: Próféta on 2009-03-13, 01:16:13
A Java vs. C# elhelyezkedési esélylatolgatásba én nem mennék bele.
Ha megfigyeled, minden mondatomban volt legalább 1 talán. Nem véletlenül :) Ez csak amolyan megérzés, hogy a c# programozó talán még kicsit ritkább jószág, mint a Javás, lehet, hogy ez már rég nem igaz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-13, 10:54:53
Valóságtól elrugaszkodott, "látom, te se programoztál még igazából, öcskös"-jellegű, az elhelyezkedési esélyektől független tanács:

ha tényleg programozni szeretne megtanulni valaki, a programozás saját logikája szerint és nem arra figyelve, hogy három hónapnyi brosúra-olvasgatás után hova tudja behazudni magát, akkor nem a Python a legjobb választás?

A szintaxisa egyszerű, rászoktat a helyes indentálásra és hasonlókra, ráadásul sokan használják a nyelvet egész komoly fejlesztésekre is.

Ja, és a C# nem egy zárt Microfost izé?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-13, 12:54:20
Quote from: kikuchiyo on 2009-03-13, 10:54:53
Ja, és a C# nem egy zárt Microfost izé?
De, de a nagyvilágban ez senkit se zavar.
Legalábbis én amióta nagyobbacska cégnél dolgozom (10 éve minden évben a FORTUNE magazin "top 100 company to work for" listáján van, szal tényleg nagyobbacska), azt tapasztalom, hogy ami ingyen van, azt nem is igazán szeretik. Nálunk ugyan Java van a weben, de az appszerverek OAS10g meg WebLogic, az adatbázis mindenhol Oracle, a *nix boxok 95%-ban RedHat Enterprise, a maradék Solaris, a tartalomkezelő rendszer Vignette, és még folytathatnám. Egyszóval csupa-csupa drága dolgok. Pl. az adminok még egy sandbox szintű szervert se hajlandóak nekünk összedobni addig, amíg az évi $2000-os RedHat Enterprise support nincs rá megvásárolva.

A Pythont meg nem igazán ismerem, így arról inkább nem írok semmit.

Quote from: kikuchiyo on 2009-03-13, 10:54:53
"látom, te se programoztál még igazából, öcskös"
Ez most kire/mire vonatkozott?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2009-03-13, 12:59:51
Quote from: Próféta on 2009-03-13, 01:16:13
Valóban, Software Engineer >> Programmer. De az SE dolgait nem hogy megtanulni, de megérteni is csak programozási tapasztalat birtokában lehet. Viszont minthogy vegyészből átképzett programozók is tömegével helyezkednek el (-tek el múlt nyárig), junior kóderekre is bőven van szükség a látszat szerint, szóval nyugi.

Nekem nem teljesen új szakmában való elindulás a célom, hanem hogy a meglévő gazdaságit kiegészítsem IT tudással. Diplomám már van, újabb nem kell, minek, a lényeg az, hogy IT tudás legyen mellette.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-13, 13:22:53
Quote from: motifator on 2009-03-13, 12:54:20
Quote from: kikuchiyo on 2009-03-13, 10:54:53
"látom, te se programoztál még igazából, öcskös"
Ez most kire/mire vonatkozott?

Rám  :haha:
Ti mondhatjátok nekem, és jogosan.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-13, 13:39:19
Quote from: kikuchiyo on 2009-03-13, 13:22:53
Quote from: motifator on 2009-03-13, 12:54:20
Quote from: kikuchiyo on 2009-03-13, 10:54:53
"látom, te se programoztál még igazából, öcskös"
Ez most kire/mire vonatkozott?

Rám  :haha:
Ti mondhatjátok nekem, és jogosan.
Valóban, második olvasásra már egyértelmű  ^^" Valamiért az előbb nem sikerült helyesen interpretálnom a mondatot :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-03-13, 21:31:47
Quote from: kikuchiyo on 2009-03-13, 10:54:53
Ja, és a C# nem egy zárt Microfost izé?

Volt, de már nem, aszongyák van osx-re (mintha bárkit is érdekelne) és unixra,
meg láttam már linuxra is open-source compilert
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-14, 00:39:43
Quote from: kikuchiyo on 2009-03-13, 10:54:53
ha tényleg programozni szeretne megtanulni valaki, a programozás saját logikája szerint és nem arra figyelve, hogy három hónapnyi brosúra-olvasgatás után hova tudja behazudni magát, akkor nem a Python a legjobb választás?
A Python (és kistestvére, a Ruby) egy izgalmas választás lehet. Én mondjuk nem használtam, csak egész röviden olvasgattam bele, de az ismerősök áradoztak a gyönyörű, kristálytiszta OO szemléletéről, amelybe gyönyörűen belesimulnak egyéb paradigmák elemei, etc. Nekem viszont nem tetszik benne, hogy duck typing (http://en.wikipedia.org/wiki/Duck_typing#Comparison_with_other_type_systems)ol. Egyébként tényleg tök komoly dolgokra használják (csomó weboldal, meg rengeteg Linuxos GUI alkalmazás), releváns nyelv. De nem, nem ajánlanám a Pythont K_T-nek és Attilának :)

Quote from: kikuchiyo on 2009-03-13, 10:54:53
ha tényleg programozni szeretne megtanulni valaki
De nem csak egyféleképp lehet ám programozni (ld. fenn a típusrendszer - vallásháborút). Sőt, van egy olyan (amúgy népszerű) gyanúm, hogy a dinamikus tipizálású nyelveket csak azért szeretik bizonyos követőik, mert kevesebbet kell gépelni; nekik igazából nem duck typing, hanem static type inference (http://en.wikipedia.org/wiki/Type_inference) kellene, ami - az imperatív világtól durván különböző - funkcionális nyelveknek gyakran a sajátja szokott lenni.

Ha ilyen kristálytiszta struktúrájú, csillogó szemmel jövőbe tekintő nyelvek érdekelnek még, akkor a fent említett type inference, plusz pure functional, lazy evaluation vonalról ajánlom a Haskell (http://en.wikipedia.org/wiki/Haskell_(programming_language))t, nekem nagyon tetszett. Durva egy nyelv; pár sorban le lehet írni több oldalas Java/C#/C++/stb. algoritmusokat, nagyon erős és kényelmes, csak sajnos a teljes erejét kihasználva már te sem tudod visszaolvasni, amit 10 perccel előtte leírtál :) Asszem a Perl új verzióját konkrétan Haskellben írták (vagy valami ilyesmi, ezt te fogod jobban tudni).

Quote from: kikuchiyo on 2009-03-13, 10:54:53
Ja, és a C# nem egy zárt Microfost izé?
A .NET elvileg kvázi nyílt szabványokban van rögzítve*. A mono (http://en.wikipedia.org/wiki/Mono_(software)) egy részleges, nyílt forrású (RMS bekaphatja) .NET implementáció, van *nixon, így linuxon és OSX-en is. Használják is, a GNOME desktop komponenseinek egy része C#-ban készült (nem csoda, GNOME főember == mono főember (http://en.wikipedia.org/wiki/Miguel_de_Icaza)), meg a Silverlight plugin (moonlight) és készülget *nixra.

De amúgy tényleg a Java az egyetlen igazi platformfüggetlen rendszer; ipari, üzletileg kritikus felhasználásra mono helyett inkább a hivatalos .NET-et szokás használni. Kell alá venni egy Windowst, na bumm, ez azért nem annyira hallatlan. Mondjuk amikor már Windows Server meg ISA meg drágább Visual Studio változatok kellenek, az már más tészta, de a programozó ára még így is nagyobb költségtényező szokott lenni. Ja és igen, a C# jó nyelv, a .NET meg jó platform.

* azért kvázi, mert bizonyos részeit mindenféle szoftverszabadalmak védik mégis, szóval majd egyszer az MS szétperel minden amcsit, aki monót használ, pl. GNOME részeként. Lásd még a mono szabadalmi bomba című véget nem érő flameket különböző helyeken.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-14, 11:24:43
Quote from: Próféta on 2009-03-14, 00:39:43
Quote from: kikuchiyo on 2009-03-13, 10:54:53
ha tényleg programozni szeretne megtanulni valaki
De nem csak egyféleképp lehet ám programozni (ld. fenn a típusrendszer - vallásháborút). Sőt, van egy olyan (amúgy népszerű) gyanúm, hogy a dinamikus tipizálású nyelveket csak azért szeretik bizonyos követőik, mert kevesebbet kell gépelni; nekik igazából nem duck typing, hanem static type inference (http://en.wikipedia.org/wiki/Type_inference) kellene, ami - az imperatív világtól durván különböző - funkcionális nyelveknek gyakran a sajátja szokott lenni.
Ehhez nem nagyon tudok hozzászólni.
Nézegettem a funkcionális nyelveket annak idején, de sosem volt elég időm és lelkierőm, hogy beléjük másszak.

Quote
Ha ilyen kristálytiszta struktúrájú, csillogó szemmel jövőbe tekintő nyelvek érdekelnek még, akkor a fent említett type inference, plusz pure functional, lazy evaluation vonalról ajánlom a Haskell (http://en.wikipedia.org/wiki/Haskell_(programming_language))t, nekem nagyon tetszett. Durva egy nyelv; pár sorban le lehet írni több oldalas Java/C#/C++/stb. algoritmusokat, nagyon erős és kényelmes, csak sajnos a teljes erejét kihasználva már te sem tudod visszaolvasni, amit 10 perccel előtte leírtál :) Asszem a Perl új verzióját konkrétan Haskellben írták (vagy valami ilyesmi, ezt te fogod jobban tudni).
A Perl új verzióját inkább hagyjuk, annál nagyobb clusterfuck kevés van a programozás történetében.
Kb. 2000-ben jelentette be az alapító atya, hogy újra kéne írni a nyelvet, de ezúttal ezt tegye meg a közösség.
Az eredmény: death by committee. Onnan indultak, hogy a Perl 6-nak legyen tisztességes specifikációja és az alapján építsék fel magát a nyelvet - ez magában jó ötlet, csakhogy egyre újabb elveket és feature-öket pakoltak bele, a működő változat meg sehol sem volt. Mostanában jutnak el oda, hogy a Parrot virtuális gép (amin a bytecode futni fog) elérje az 1.0-át, de az időközben Rakudo-ra átkeresztelt fordító még messze nem tart itt.
Ja, és igen, közben volt egy olyan, hogy feltűnt egy tizenéves csodagyerek (aki azóta nővé operáltatta magát), és megunva a tökölődést megírta a Perl 6 egy jelentős részhalmazát Haskellben.

(Az utolsó zárójeles mondatban továbbra is érzem azt a bizonyos, fentebb konkretizált gúnyos arckifejezést, de végül is jogos :))
Quote
Quote from: kikuchiyo on 2009-03-13, 10:54:53
Ja, és a C# nem egy zárt Microfost izé?
*nixon

Ez egy elnökre mutató mutató?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-14, 13:22:04
Quote from: kikuchiyo on 2009-03-14, 11:24:43
Quote from: Próféta on 2009-03-14, 00:39:43
*nixon
Ez egy elnökre mutató mutató?
:falba: :lul:
Amúgy nem; ez az, ahova az elnök mutat.  :ejnye:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2009-03-14, 13:29:35
Quote from: Próféta on 2009-03-14, 13:22:04
Quote from: kikuchiyo on 2009-03-14, 11:24:43
Quote from: Próféta on 2009-03-14, 00:39:43
*nixon
Ez egy elnökre mutató mutató?
:falba: :lul:
Amúgy nem; ez az, ahova az elnök mutat.  :ejnye:
:facepalm: Kezdtek nagyon farasztoak lenni.  :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: NLZ on 2009-03-14, 23:20:14
Delphiben hogy kell lekérdezni, hogy RadioGroupnál épp melyik van kijelölve? Meg ListBoxnál hogy lehet az aktuálisan kijelölt sor szövegét lekérdezni?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-03-14, 23:31:00
Quote from: NLZ on 2009-03-14, 23:20:14
Delphiben hogy kell lekérdezni, hogy RadioGroupnál épp melyik van kijelölve? Meg ListBoxnál hogy lehet az aktuálisan kijelölt sor szövegét lekérdezni?

Sajnos majdnem tíz éve láttam utoljára Delphit, azóta az emlékeim és a vizuális komponens osztályok is megváltozhattak (rendre kopás illetve modernizálás irányba). Úgy rémlik, hogy RadioGroupnál az egyes RadioButtonokat lehetett külön-külön elérni, és megkérdezni tőlük, hogy ki vannak-e választva.

A másikról semmi emlékem nincs, de nagyon triviálisnak kell lennie. Biztos van olyan property a listán, ami a kijelölt sor(ok) indexét mondja meg, meg egy olyan property vagy metódus, ami a sorokat teszi elérhetővé. Ha ez utóbbi nem mindjárt a szöveget adja, akkor valami olyan objektumot, amitől garantáltan megkérdezhető lesz a szöveg.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Draconire on 2009-03-25, 21:13:51
if (!preg_match('/^[0-9]/',$_POST[irszam]) || $_POST[irszam] > 9999 || $_POST[irszam] < 1000 ){.....

A kérdésem az lenne, hogy a fenti sor miért jelenik meg így firefox alatt, amikor ugye ennek nem szabadna látszódnia:
9999 || $_POST[irszam] < 1000 ){..... (minden ami még van utána)

És nem mellékesen: keresek jó programot php/html programozáshoz. Amim most van, a szerint semmi baj nincs a kóddal és szépen meg is jeleníti. Ehhez képest FF ezt a hibát adja, IE-ről meg inkább nem is nyilatkozok...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2009-03-25, 21:27:39
A PHP szerveroldalon fut ugyhogy elméletben abszolute mindegy a böngésző amit használsz. Egyébként meg IE8 rox.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-25, 21:34:21
Ja, ha a php kód megjelenik a böngésződben, akkor valami gebasz van, az a PHP kód nem is fut le valójában. Vagy nem nyitottál neki <?php, vagy sima <? taget, vagy nincs valami rendben a szerverbeállításaiddal. Csinálj egy info.php nevű fájlt, amiben ennyi van:
<?php phpinfo(); ?>
Ezt aztán rakd be a szervered documentrootjába. A böngésződbe írd be, hogy http://szevernév/info.php (ha a saját gépeden fut a szerver, akkor http://localhost/info.php ). Ha látod a kódot, akkor valami szar, ha egy szép nagy táblázatot látsz, az a fasza.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-29, 21:37:34
Az normális, ha a saját kódomra ránézve az az érzésem, hogy "ez irtózatosan ronda és semmi kedvem ezzel foglalkozni?"
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2009-03-29, 21:41:58
Quote from: kikuchiyo on 2009-03-29, 21:37:34
Az normális, ha a saját kódomra ránézve az az érzésem, hogy "ez irtózatosan ronda és semmi kedvem ezzel foglalkozni?"
Akkor lenne baj, ha nem így éreznél.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-29, 23:48:57
...most adtam fel mára.

A fejemben megvan, hogy hogy kéne szépen megoldani, de vsz. az lesz belőle, hogy ronda gányolással összedobok egy éppen elégségesen működő szart és az lesz használva.

...persze a faszom bele, fizikus(-jellegű izé) vagyok, nem UI-tervező.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-03-31, 12:31:11
Ha ezt felinstallálom, és semmi más JAVA-s cucc nincs az XP-men, az elég?

http://java.sun.com/javase/downloads/netbeans.html

Itt cseszekedek, hogy itthon is fusson a fejlesztői környezet, ne csak a melóhelyemen, mert el vagyok maradva...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-31, 12:37:47
Ez egy JDK-s bundle, szóval működni fog egy olyan gépen, amin nincs semmi java.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-03-31, 13:24:40
Quote from: motifator on 2009-03-31, 12:37:47
Ez egy JDK-s bundle, szóval működni fog egy olyan gépen, amin nincs semmi java.

Akkor csak én vagyok balfasz, mert már másodszor rakom fel, és még mindig a /Program Files/Java/jdk1.6.0_13/jre/bin/java.exe-t hiányolja, aztán ha azt mondom, hogy try to use the default version, akkor meg "Java JDK 5 or newer"-t nem talál. Úgy látszik, mégis kéne valami plusz JDK-t installálni? Csak nem tudom, hogy ezek a trükkös rövidítések mit jelentenek, és egyébként is utálok fejlesztői környezetet installálni darabokból. Nekem csak 1 db működő verzió kell! :D

edit: csessze meg, milyen installáló exe csinál olyat, hogy 2x kell futtatni ugyanazt a fájlt, hogy mindent feltegyen?  :Eztneked:

edit2.: és a jdk így sem megy fel...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-31, 14:15:15
Ez a /Program Files/Java/jdk1.6.0_13 könyvtár létezik nálad? Ha igen, akkor a JAVA_HOME nevű környezeti változó ide mutat? (Winkey + Pause -> Speciális -> Környezeti változók) Ha nem létezik, akkor mi más van a Program Files/Java könyvtárban? Esetleg c:/Java, c:/j2sdk..., ilyesmi?
Kéne neked egy JDK valahová telepítve, ennek elvileg ott kéne lenni a /Program Files/Java/jdk... könyvtárban, aztán oda kéne beállítani a JAVA_HOME változót és mennie kéne. Mondjuk attól még mindig talány, hogy ezt miért nem csinálja meg az installer magától.
Ja, és azt se igazán értem, hogy miért a %JAVA_HOME%/jre/bin/java.exe-t hiányolja, simán a %JAVA_HOME%/bin/java.exe-t kéne használnia szerintem.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-03-31, 14:17:43
Quote from: motifator on 2009-03-31, 14:15:15
Ez a /Program Files/Java/jdk1.6.0_13 könyvtár létezik nálad?

Igen, de üres volt, a java.com-os installer nem rakott fel semmit, hibával kilépett a telepítés legvégén.

Quote from: motifator on 2009-03-31, 14:15:15Ja, és azt se igazán értem, hogy miért a %JAVA_HOME%/jre/bin/java.exe-t hiányolja, simán a %JAVA_HOME%/bin/java.exe-t kéne használnia szerintem.

Azt is hiányolta.

Most megpróbálok felrakni egy rélgebbi verziót, a JDK 5-öt, annak is jónak kell lennie a célra, igaz?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-03-31, 14:38:00
A JDK5 is megfelel szerintem, a kérdés az, hogy bent a cégnél milyet használtok. Mondjuk ez is csak akkor kérdés, ha bent 1.6-ot, és otthon buildelt cuccokat akarsz készen használni a benti rendszereken, vagy ha mondjuk használtok valami spéci 1.6-os fícsört.
Azt is megpróbálhatod, hogy innen (http://java.sun.com/javase/downloads/?intcmp=1281) lekapod a JDK 6 Update 13 nevű cuccot (második Download link), és azt felrakod külön. Ha az az install is elszállna hibaüzenettel, akkor segítene, ha beírnád ide, hogy mi is a hibaüzenet.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-03-31, 15:06:06
Quote from: motifator on 2009-03-31, 14:38:00
A JDK5 is megfelel szerintem, a kérdés az, hogy bent a cégnél milyet használtok. Mondjuk ez is csak akkor kérdés, ha bent 1.6-ot, és otthon buildelt cuccokat akarsz készen használni a benti rendszereken, vagy ha mondjuk használtok valami spéci 1.6-os fícsört.

Elég nekem, ha a source fájlokat vihetem ide-oda...
Most beírtam minden környezeti változóhoz (JAVA_HOME és PATH a saját és a rendszer változóinál is), hogy "C:\Program Files\Java\jre6\bin", mert van egy ilyen könyvtár, de a java.com-ról leszedett (elvileg JDK5-öt is tartalmazó) JDK 5.0 with Java EE (http://java.sun.com/javase/downloads/index_jdk5.jsp) csomag meg a \Program Files\Sun könyvtárba rakta fel magát, azon belül van \SDK\jdk\bin, de ha azt állítom be, azt sem találja meg a NetBeans 6.51.

Quote from: motifator on 2009-03-31, 14:38:00Azt is megpróbálhatod, hogy innen (http://java.sun.com/javase/downloads/?intcmp=1281) lekapod a JDK 6 Update 13 nevű cuccot (második Download link), és azt felrakod külön. Ha az az install is elszállna hibaüzenettel, akkor segítene, ha beírnád ide, hogy mi is a hibaüzenet.

OK, felrakom ezt is.... :D

edit: egyre kevésbé értem, hogy mi történik, amit írtál, azt felraktam, de a gép szerint csak újrainstalláltam, restart, most már nem hiányolja a bin könyvtárat a NetBeans 6.5, viszont lefut, betölt dolgokat, de nem nyílik meg. Valami pedig tesz egy kávéscsészét a tálcára (milyen szép metafora) "Java EE 5 SDK" felirattal, az talán még az előző felinstallált szar, de az ablakot sehol nem tudom megnyitni, ahol ténylegesen programozni lehet. Ez tényleg ilyen bonyolult, vagy csak maxihülye vagyok? :zomg: :confused:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-03-31, 15:07:20
Ha beírom, hogy "mondtam, hogy ne java-ban csináld", akkor mérgesek lesztek?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-03-31, 15:34:31
Quote from: kikuchiyo on 2009-03-31, 15:07:20
Ha beírom, hogy "mondtam, hogy ne java-ban csináld", akkor mérgesek lesztek?

fádör mádör szákör, semmi problémám a nyelvvel (nagyon barátságos a sztring kezelése a C++-hoz képest), csak ezt a szájbalökött fejlesztői környezetet vagyok képtelen futtatni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2009-03-31, 15:50:36
Rakj fel egy Ecpliset :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-03-31, 21:23:20
Quote from: sirtomi on 2009-03-31, 15:50:36
Rakj fel egy Ecpliset :)

Felraktam, még installálni sem kell, viszont nincs projekt import, csak a source fájlt tudom megnyitni, és akkor meg valami Ant fájlokat keres rajtam, és nem fordul le a cucc! Amit nem értek, mert egy gyorsan begépelt mini példaprogram meg fut. :confused:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-04-01, 00:30:58
Quote from: Ramiz on 2009-03-31, 21:23:20
Quote from: sirtomi on 2009-03-31, 15:50:36
Rakj fel egy Ecpliset :)

Felraktam, még installálni sem kell, viszont nincs projekt import, csak a source fájlt tudom megnyitni, és akkor meg valami Ant fájlokat keres rajtam, és nem fordul le a cucc! Amit nem értek, mert egy gyorsan begépelt mini példaprogram meg fut. :confused:
Igen, mert máshogy épül fel a Netbeanses és az Eclipse-es projekt. Nem elég a forrásfájl, kellenek az olyan leírók is, hogy milyen külső modulok kellenek hozzá, meg ilyesmi. Jó esetben új Eclipse-es Java projektet létrehozva megpróbálhatod belehúzni 'src' alá a java forrásokat (a csomagstruktúrát megőrizve), de ez csak akkor működik, ha semmi spéci beállítás nem kell, és semmilyen különleges része nincs a fordítási folyamatnak.
Próbálkozhatsz azzal is, hogy a benti Netbeans hátha tud Ant programleírásba exportálni. Az esetleg meg lehet etetni Eclipse-sel (new Java project from existing Ant).

Ugyan vallom, hogy Eclipse über alles, de a legelegánsabb, legtisztább megoldás mégis a Netbeansed megjavítása lenne. Működni "szokott", csak gyanúm szerint valamit csúnyán elkutyultál valahol :) Hogyhogy nem települt fel a JDK? Kézzel leszedve és feltelepítve se? (hátha csak a NetBeans-es bundle rossz valamiért)

Quote from: Ramiz on 2009-03-31, 15:06:06
edit: egyre kevésbé értem, hogy mi történik, amit írtál, azt felraktam, de a gép szerint csak újrainstalláltam, restart, most már nem hiányolja a bin könyvtárat a NetBeans 6.5, viszont lefut, betölt dolgokat, de nem nyílik meg.
Start>Run>cmd.exe
indítsd el onnan a NetBeans-t, és nézd meg, mit ír ki. Az árulkodó lehet.

Azzal tisztában vagy, hogy van JRE futtatókörnyezet, és van a fejlesztéshez szükséges JDK (szintén tartalmaz JRE-t), és az előbbi fel lehet rakva az utóbbitól függetlenül is a gépedre (böngésző plugin, Java-s programok, egyebek miatt), meg frissülget, de neked most a JDK kell (és a programjaidnak az a JRE, ami a JDK-ban van, de ennek nem lenne szabad számítania). Nyálazd át a Netbeans beállításait (globális és projektre vonatkozót), és ellenőrizd mindenhol, ahol JDK-t vagy JRE-t lehet kiválasztani. JAVA_HOME is számítana? Meglepne, de ha már szívsz, megnézheted ezt is.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-04-01, 12:33:32
Quote from: Próféta on 2009-04-01, 00:30:58
Igen, mert máshogy épül fel a Netbeanses és az Eclipse-es projekt. Nem elég a forrásfájl, kellenek az olyan leírók is, hogy milyen külső modulok kellenek hozzá, meg ilyesmi. Jó esetben új Eclipse-es Java projektet létrehozva megpróbálhatod belehúzni 'src' alá a java forrásokat (a csomagstruktúrát megőrizve), de ez csak akkor működik, ha semmi spéci beállítás nem kell, és semmilyen különleges része nincs a fordítási folyamatnak.
Próbálkozhatsz azzal is, hogy a benti Netbeans hátha tud Ant programleírásba exportálni. Az esetleg meg lehet etetni Eclipse-sel (new Java project from existing Ant).
Egy próbát megér...

Quote from: Próféta on 2009-04-01, 00:30:58Start>Run>cmd.exe
indítsd el onnan a NetBeans-t, és nézd meg, mit ír ki. Az árulkodó lehet.
Semmit nem ír ki, bejön a grafikus betöltő ablak, lefut és eltűnik, csak a végén nem nyílik meg a rendes fejlesztői felület...

Quote from: Próféta on 2009-04-01, 00:30:58Azzal tisztában vagy, hogy van JRE futtatókörnyezet, és van a fejlesztéshez szükséges JDK (szintén tartalmaz JRE-t), és az előbbi fel lehet rakva az utóbbitól függetlenül is a gépedre (böngésző plugin, Java-s programok, egyebek miatt), meg frissülget, de neked most a JDK kell (és a programjaidnak az a JRE, ami a JDK-ban van, de ennek nem lenne szabad számítania). Nyálazd át a Netbeans beállításait (globális és projektre vonatkozót), és ellenőrizd mindenhol, ahol JDK-t vagy JRE-t lehet kiválasztani. JAVA_HOME is számítana? Meglepne, de ha már szívsz, megnézheted ezt is.

Leinstallálok mindent, ami "Java"val vagy "Netbeans"szel kezdődik a programok között, aztán újrarakom a Java SE Bundle-t, mert abban elvileg minden van, és ha akkor sem megy, akkor megőrülök. Ráadásul péntekre kell kész legyek, és csütörtökre gyorsan elvállaltam ma reggel félálomban egy másik dolgot (statiszta meghallgatás => potenciális munka), hogy ne tudjak elmenni a BOSCH-ba programozni...




edit: jól van, marad az Eclipse... csúnya kézi copyzgatás és csalás után elfogadja a .class és .java fájlokat, már cska a spéci karaktereket kell kiirtanom... :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-04-02, 20:42:56
Van arra egyszerű módszer, hogy az ÖSSZES System.out.println függvény, amit n+1 alkalommal hív meg a program debug céljából, ne a képernyőre írjon, hanem egy LOG fájlba, vagy valami olyan pufferbe, amit utána fájlba lehet dobni könnyen?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-04-02, 21:29:47
A képernyő kimenetelét egész egyszerűen tudod fájlba irányítani, csak nagyobb jel és az outputfájl neve kell a végére, pl.:
java -jar program.jar > ebbe_a_fáljba_megy_a_kimenet.log
Ez persze javatól függetlenül működik, bármilyen parancs végére odateszed, ezzel a standard outputot beleirányítottad a fájlba.

De ha rendes logolást szeretnél, akkor ajánlom figyelmedbe mondjuk a log4j-t (http://logging.apache.org/log4j/1.2/manual.html).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-04-02, 23:12:25
Amúgy >90% valószínűséggel a fejlesztőkörnyezet debuggere sokkal többet segít, mint ezek a kiiratások. Breakpointot rakhatsz egy sorra (vagy kivételtípusra), és akkor ott megáll a debug módban indított futás. Utána megnézheted a hívási vermet (mi a franc is hívta ezt a metódust?), ellenőrizheted a lokális változók és példányváltozók aktuális értékét, belemászhatsz az objektumok tartalmába, lépésenként tolhatod tovább a programot (vagy egyből a következő breakpointig)... aztán ha megvan a hiba, kiszeded a breakpointot, és kész.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-04-03, 00:12:24
Quote from: Próféta on 2009-04-02, 23:12:25
Amúgy >90% valószínűséggel a fejlesztőkörnyezet debuggere sokkal többet segít, mint ezek a kiiratások. Breakpointot rakhatsz egy sorra (vagy kivételtípusra), és akkor ott megáll a debug módban indított futás. Utána megnézheted a hívási vermet (mi a franc is hívta ezt a metódust?), ellenőrizheted a lokális változók és példányváltozók aktuális értékét, belemászhatsz az objektumok tartalmába, lépésenként tolhatod tovább a programot (vagy egyből a következő breakpointig)... aztán ha megvan a hiba, kiszeded a breakpointot, és kész.

Ha lesz időm (megtanulni ezt), ígérem, rászokok erre. :D Én még a Pascal-os és C-s időkből szoktam meg a kiírós tesztelést - de szeretném, ha lenne LOG fájl is. Ha valaki énutánam belenyúl a kódba, neki is szüksége lesz rá.


Új kérdés, ezt már a holnapi prezentálásra kéne: miért lehet az, hogy nyitok egy windows-os ablakot (Frame) a programomnak, de első alkalommal üres, fehér ablakot rajzol ki, amit ahogy átméretezek (=> lefut a paint() függvény), kirajzol rendesen? A csavar a dologban: nem mindig csinálja ezt, néha elsőre látszik minden. Az sem segít, ha az initialize() függvényt meg minden mást is telepakolok azzal, hogy repaint()... :confused:

És ha már kérdezlek titeket: hogy lehet azt megcsinálni, hogy egy billentyűzetleütés, amit ActionListenerrel elkapok [spoiler]
QuotevegeDatumNap.addKeyListener(new KeyAdapter() {
         @Override
         public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == 10) {
               System.out.println("Kereses!");               
            }
         }         
      });
[/spoiler], meghívja vagy odaugorjon az egérkattintás által meghívott actionPerformed függvényhez?

[spoiler]
Quotepublic void actionPerformed(ActionEvent esemeny) {
      String parancs = esemeny.getActionCommand();

      Gombnyomas:
      // a felhasznalo megnyomta az "OK" vagy a "Kereses" gombot
      if (parancs.equals("OK") || parancs.equals("Keresés")) {...}
[/spoiler]

Azért kéne, hogy csinos legyen, hogy egérrel lehet gombot nyomni, de a hozzám hasonló gépelésbuzik üthessék az Enterüket is a dátumot bekérő szövegmező utolsó rublikájában (mert csak az figyeli az Enter leütést, mikor ott a kurzor - ez így nagyon nem profi?).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-04-03, 00:19:01
Első kérdésre: meg nem mondom neked fejből. Melyik szerszámkészletről is van szó, Swing? Érdemes az "ősforrásban", az illető toolkit dokumentációjában megnézni, ők hogy képzelik el egy ablak létrehozását. Simán lehet, hogy bizonyos műveletek egyszerűen nem olyan sorrendben történnek meg, mint azt elképzelnéd (pl. a háttérben, külön szálon nem jön még létre az ablak, amikor a show()-t meghívod, meg ilyesmi). Esetleg valami külön inicializáló (pl. onShow?) eseményt kell elkapnod. Nézz utána szerintem.

Második kérdésre: csinálsz egy metódust (szükség esetén paraméterrel), és azt hívod mindkét helyről?
Utánanézhetsz, hogy a fent is hivatkozott toolkitben van-e esetleg Action vagy ilyesmi (pl. SWT-ben van), hogy egyetlen eseménykezelőt lehessen bekötni a gombokra és billentyűkre is.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-04-03, 00:52:50
Quote from: Próféta on 2009-04-03, 00:19:01
Első kérdésre: meg nem mondom neked fejből. Melyik szerszámkészletről is van szó, Swing? Érdemes az "ősforrásban", az illető toolkit dokumentációjában megnézni, ők hogy képzelik el egy ablak létrehozását. Simán lehet, hogy bizonyos műveletek egyszerűen nem olyan sorrendben történnek meg, mint azt elképzelnéd (pl. a háttérben, külön szálon nem jön még létre az ablak, amikor a show()-t meghívod, meg ilyesmi). Esetleg valami külön inicializáló (pl. onShow?) eseményt kell elkapnod. Nézz utána szerintem.

Hű, ez most elég ködös, mivel az ablak kirajzolást máshonnan összevágott kódrészletekkel oldottam meg... :__devil: Nem ártana beleásnom magam az akció-hívogatásba.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Draconire on 2009-04-24, 20:07:51
php.ini-ben mit kell beállítanom hogy localhostra menjen a feltöltés?
Képet akarok feltölteni, majd átmozgatni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2009-04-24, 22:09:47
Ha php-val akarsz feltölteni képeket akkor a move_uploaded_file() függvényel oda mozgatod a fájlt ahova akarod.

http://hu.php.net/manual/en/function.move-uploaded-file.php
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-05-02, 16:20:15
Csináltam egy hosszú objektum Vector listát, ahol az A és a B osztályba tartozó objektumok is vannak egymás után fűzve, és nem tudni, mikor melyik jön. Mivel a két osztály hasonló adatokat tartalmaz, és a láncos megoldás alkalmazhatóságának kedvéért, mindkettőt a C osztályból származtattam ("extends"). Most azonban gondban vagyok, mert az adatokat később el kéne érnem, és az A és B osztályok spéci függvényeit, amivel visszaadhatnák a - sajnos nem ugyanannyi mennyiségű és ugyanolyan típusú - adataikat, nem érem el, mert ugye C osztályba tartozó objektum típusú Vector-t definiáltam, és "type mismatch: cannot convert...".

Az jó megoldás, hogy castolok egy heal-t, vagyis egy erőletett konverziót?

QuotetempA = (A) meresiAdatLancC.elementat(i);
tempB = (B) meresiAdatLancC.elementat(j);
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-05-02, 16:47:13
Quote from: Ramiz on 2009-05-02, 16:20:15
Az jó megoldás, hogy castolok egy heal-t, vagyis egy erőletett konverziót?

QuotetempA = (A) meresiAdatLancC.elementat(i);
tempB = (B) meresiAdatLancC.elementat(j);
Ha jobb megoldás nincs, akkor igen. És ugye instanceof operátorral kérdezheted meg, hogy A vagy B osztályú-e egy C.
De előtte érdemes azért végiggondolni, hogy az egész eltérő viselkedés nem oldható-e meg egy C-beli absztrakt metódus A-ban és B-ben különféleképp történő implementálásával.

Tehát hogy

C next = meresiAdatLancC.get(i);
next.rendezdLe();

ahol a rendezdLe() tagfüggvény törzse más A-ban és B-ben?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-05-02, 17:14:01
Quote from: Próféta on 2009-05-02, 16:47:13
Ha jobb megoldás nincs, akkor igen. És ugye instanceof operátorral kérdezheted meg, hogy A vagy B osztályú-e egy C.

Már írtam rá (régen) egy getType függvényt, ami az objektum egy String változójával tér vissza, ami az A vagy a B nevet tartalmazza Stringként... de közben eszembe jutott, hogy van erre beépített profibb függvény. Hiába, nem vagyok renceres pogramozó. :o Majd kicserélem mindenhol.

Quote from: Próféta on 2009-05-02, 16:47:13De előtte érdemes azért végiggondolni, hogy az egész eltérő viselkedés nem oldható-e meg egy C-beli absztrakt metódus A-ban és B-ben különféleképp történő implementálásával.

Túl bonyolult, kéne egy külön új osztály, amibe belefér A és B visszatérése is, mert másfajta dolgokat adnak vissza (int tömbök vagy int-ek, plusz más mennyiségű tömb stb). Kéne külön rendezdLeA meg rendezdLeB függvény, az meg hülyén néz ki, nem? Plusz piszkálni kéne állandóan a C osztályt, ha A és B mellé újabb vizsgálati típusokat akar valaki bevenni A és B mellé (fognak még D-t, E-t és F-et is elvileg...). Vagy nem? Remélem a típuskonverzió nem számít programozói "geciségnek"... :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-05-03, 19:58:14
Miért problémázik ezzel? Van jelentősége?


private Vector <String> grayValue = new Vector();


A figyelmeztetések:
[spoiler]Multiple markers at this line
   - Type safety: The expression of type Vector needs unchecked conversion to conform to
    Vector<String>
   - Vector is a raw type. References to generic type Vector<E> should be parameterized[/spoiler]

Lehet, hogy nincs jelentősége, csak nagyon hülye problémákat produkál a program, nem megy, és mivel egész eddig egy nagy adatstruktúrát hoztam létre, most nehéz kibogozni, hogy hol a hiba. Ráadásul nem megy az Eclipse-ben a debug...

'Lauching GUI' has encountered a problem:
Cannot connect to VM


Rosszul raktam fel valamit?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-05-03, 20:39:10
Quote from: Ramiz on 2009-05-03, 19:58:14
Miért problémázik ezzel? Van jelentősége?


private Vector <String> grayValue = new Vector();


A figyelmeztetések:
A figyelmeztetések csak figyelmeztetések, és jelen esetben speciel nem valós probléma váltotta ki őket. Csak a fordító nem annyira okos, hogy ezt egyedül el merje dönteni. De ha precízen írod le, akkor nincs gond:

private Vector <String> grayValue = new Vector<String>();


Quote from: Ramiz on 2009-05-03, 19:58:14
Rosszul raktam fel valamit?
Elképzelhető, bár inkább csak nincs rendesen beállítva az Eclipse.
Window / Preferences / Java / Installed JREs legyen kitöltve a felrakott JRE-vel (ami remélem egészben van, mintha meséltél volna olyasmit, hogy őrült módjára raktad fel és törölted le őket).
Ha nem ez a gond, akkor: http://www.lmgtfy.com/?q=eclipse+debug+Cannot+connect+to+VM
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-05-04, 02:39:38
Quote from: Próféta on 2009-05-03, 20:39:10
Elképzelhető, bár inkább csak nincs rendesen beállítva az Eclipse.
Window / Preferences / Java / Installed JREs legyen kitöltve a felrakott JRE-vel (ami remélem egészben van, mintha meséltél volna olyasmit, hogy őrült módjára raktad fel és törölted le őket).
Ha nem ez a gond, akkor: http://www.lmgtfy.com/?q=eclipse+debug+Cannot+connect+to+VM

Van fent egy jdk1.6.0_13 és egy jre6 is, valamelyik csak jó lesz!

edit: ja, ez bejött, köszi.

edit 2.: és azt hogy a rákban lehet megnézni, hogy mi dobta az Exception-t, amivel leállt a program? biztos tök egyszerű, de bejön ez a rohadt "Properties for java.lang.NullPointerException" ablak, ami nem is tudom, hogy mire jó, és meg nem mondaná...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-05-04, 08:33:34
Esetleg másolj be nekünk egy stack trace-t, akkor könnyebb lesz segíteni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-05-04, 14:29:45
Quote from: motifator on 2009-05-04, 08:33:34
Esetleg másolj be nekünk egy stack trace-t, akkor könnyebb lesz segíteni.
Oké, azt hol lehet?

Megszoktam azt a hülye NetBeans fejlesztői környezetet, ami itthon valami mágikus okból kifolyólag nem fut, és az, ha rákattintottam a hiba linkjére a Console-on, odaugrott, ahol a hiba keletkezett.

Az Eclipse-ben még breakpointot sem sikerült beállítanom... egyszerűen nem áll meg, ill. nem is fut rendeesen a program debug módban.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-05-04, 22:23:20
Quote from: Ramiz on 2009-05-04, 02:39:38
edit 2.: és azt hogy a rákban lehet megnézni, hogy mi dobta az Exception-t, amivel leállt a program? biztos tök egyszerű, de bejön ez a rohadt "Properties for java.lang.NullPointerException" ablak, ami nem is tudom, hogy mire jó, és meg nem mondaná...
A stact trace-ből. Tudod, az a hosszú lista, amiben a kivétel dobásakor a teljes verem tartalma benne van, és a kivétel neve alatt van felsorolva (kivéve ha a gonosz programozó elkapta és lenyelte a kivételt, de akkor meg úgy kell neki). A verem az egymást hívó metódusok egymásbaágyazódását jelenti.

Quote from: Ramiz on 2009-05-04, 14:29:45
Az Eclipse-ben még breakpointot sem sikerült beállítanom... egyszerűen nem áll meg, ill. nem is fut rendeesen a program debug módban.
Breakpointon csak akkor áll meg, ha debug módban futtatod. Van egy ilyen zöld bogár a toolbaron a Run mellett, azt nyisd le, és válaszd ki az a run configurationt, ami a programod.

Programsorra úgy raksz breakpointot, hogy tőle balra a szürkére klikkelsz duplán. De lehet breakpointot rakni kivételek dobódására is, pont úgy, ahogy már megtaláltad (ez a rohadt "Properties for java.lang.NullPointerException" ablak).

Mit értesz azalatt, hogy továbbra se "rendesen" működik a program debug módban?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2009-06-17, 02:13:04
Keresek olyan PHP kódot, ami beolvas egy külső fájlból egy véletlenszerű sort, a beolvasott szöveget pedig két változóba teszi be (pl egy speciális karakter jelzi az egyik string végét és a másik kezdetét, TAB vagy nemtudom).

Qutoe generátorhoz kell, az a lényeg hogy egy szöveg jelenljen meg, két félre osztva, két külön helyen.

<?
$file= "quotes.txt";
$quotes = file($file);
srand((double)microtime()*1000000);
$randomquote = rand(0,count($quotes)-1);
echo $quotes[$randomquote];
?>


Valami ilyesmi, csak nem tudom hogy a szeparálást hogy lehetne beletenni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-06-17, 02:21:09
Quote from: TurboK on 2009-06-17, 02:13:04
Valami ilyesmi, csak nem tudom hogy a szeparálást hogy lehetne beletenni.
A PHP-hoz nem nagyon konyítok, de cserébe tudom azt a kulcsszót, amire keresni érdemes: http://www.google.hu/search?q=php+string+separator
Releváns találat: http://www.w3schools.com/php/func_string_explode.asp
Lásd még: http://us.php.net/manual/en/function.split.php
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: sirtomi on 2009-06-17, 10:25:23
Beolvasott stringet kettészeded és két változóban tárolód az első és a második felét. Elválasztó karaktert meg hozzáfűzöd.
Szétválasztáshoz substr() vagy más string függvényt használhatsz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2009-06-17, 10:35:30
Quote from: Próféta on 2009-06-17, 02:21:09
Quote from: TurboK on 2009-06-17, 02:13:04
Valami ilyesmi, csak nem tudom hogy a szeparálást hogy lehetne beletenni.
A PHP-hoz nem nagyon konyítok, de cserébe tudom azt a kulcsszót, amire keresni érdemes: http://www.google.hu/search?q=php+string+separator
Releváns találat: http://www.w3schools.com/php/func_string_explode.asp
Lásd még: http://us.php.net/manual/en/function.split.php

Tökéletes, köszönöm.

<?
$file= "quote.txt";
$quotes = file($file);
srand((double)microtime()*1000000);
$randomquote = rand(0,count($quotes)-1);

$data = $quotes[$randomquote];
$splitdata = explode('|', $data);
echo "$splitdata[0]";
?><br><br><br><?
echo "$splitdata[1]";

?>


quote.txt tartalma meg "szoveg1|szoveg2" soronként.

Egyszer tényleg meg kéne tanulnom a phpt.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2009-06-18, 16:29:18
txt-ből akarok beolvasni és beleírni másik txtbe, kód részlet valakitől? (C++)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-06-18, 23:07:11
Quote from: Nakedape on 2009-06-18, 16:29:18
txt-ből akarok beolvasni és beleírni másik txtbe, kód részlet valakitől? (C++)
http://www.fredosaurus.com/notes-cpp/io/readtextfile.html
Ha nem számokat akarsz, hanem mondjuk stringet, akkor http://www.fredosaurus.com/notes-cpp/io/reading-lines.html
cout << változó; kiírja a változót a standard outputra (cmd ablak, de persze > jellel átirányítható fájlba); nyithatsz std::cout helyett akármilyen fájlt is ofstream (http://www.cplusplus.com/reference/iostream/ofstream/ofstream/)nek.
Ugyanígy ifstream helyett használhatsz cin-t, az a standard input, tehát alapból amit a júzer beképel a konzolra, de a parancssorban átirányítható fájlból ez is.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-06-25, 17:08:07
Visual Basic  :zomg: :zomg: :zomg: :comp:
(Ha valaki beírja, hogy "jó nyelv az", akkor először megölöm őt, aztán magamat)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2009-06-25, 17:12:34
jó nyelv az

[spoiler]fáj a fejem, és elegem van[/spoiler]

ja meg persze köszönöm Próféta!
most egyelőre levették azt a feladatot a vállamról, de sose lehessen tudni
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-07-03, 12:08:23
Saját régi kódjaim olvasgatása néha igen szórakoztató tud lenni.

my $magic_constant = 107; #dB, dBm to dBuV
my $Z0 = 376.991118; # Ohm, Lol pontosság

...

if ($this_is_my_first_time_please_be_gentle) { # I will, honey
$helyszin1 = $f->{HELYSZIN1};
$helyszin2 = $f->{HELYSZIN2};
$helyszincount = 2;
$worksheet->write_row($helyszincount,0, [ $f->{HELYSZIN1}, $f->{HELYSZIN2} ], $form);
}
$column = 2 if $f->{FREKV} =~ /174-22. MHz/;
$column = 3 if $f->{FREKV} =~ /470-830 MHz/;
$column = 4 if $f->{FREKV} =~ /80-2100 MHz/; # kurvara elegem van

...

say "Grafikonok:";
$this_is_my_first_time_please_be_gentle = 1; # Virgin again!

...

if ($do_the_mash_the_monster_mash) {
$modifier = sqrt($f->{'Span'}*1e-9);
} else { $modifier = 1; }

if ($this_is_my_first_time_please_be_gentle) { # I have a feeling that we've done this before
$helyszin1 = $f->{HELYSZIN1};
$helyszin2 = $f->{HELYSZIN2};
...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Makos on 2009-07-03, 20:31:22
 :lol:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2009-07-03, 22:12:23
 :lol: :lul: :lul:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-07-03, 23:50:48
Villáminterjú-stílusban:

- Kedves kikuchiyo, ugye tudja, hogy ha egy >100 rekordból álló, darabonként többezer×többtíz mérési adatot tartalmazó adathalmazt egyetlen nagy hash-be akar behányni, azzal egy méretes lófaszt készít elő magának?
- Igen.
- Köszönöm az interjút!
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-07-05, 23:43:37
Quote from: kikuchiyo on 2009-07-03, 23:50:48
Villáminterjú-stílusban:

- Kedves kikuchiyo, ugye tudja, hogy ha egy >100 rekordból álló, darabonként többezer×többtíz mérési adatot tartalmazó adathalmazt egyetlen nagy hash-be akar behányni, azzal egy méretes lófaszt készít elő magának?
- Igen.
- Köszönöm az interjút!

:muhahah:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-07-06, 21:52:36
...és akkor ennek a folyományaként:

Nem tudtok olyan doksit (könyv, jegyzet, netes anyag), amiből gyorstalpaló módon meg tudnék tanulni adatbázisni? Azt már sejtem, hogy nem úszom meg anélkül, de fogalmam sincs, hogy kezdjek hozzá, hogy építsem fel az adatbázist, hogy azzal ne szúrjam magam különös kegyetlenséggel tökön stb.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-07-06, 22:54:49
Quote from: kikuchiyo on 2009-07-06, 21:52:36
Nem tudtok olyan doksit (könyv, jegyzet, netes anyag), amiből gyorstalpaló módon meg tudnék tanulni adatbázisni? Azt már sejtem, hogy nem úszom meg anélkül, de fogalmam sincs, hogy kezdjek hozzá, hogy építsem fel az adatbázist, hogy azzal ne szúrjam magam különös kegyetlenséggel tökön stb.
Most kapásból nem tudok jó forrást mondani, úgyhogy a figyelem elterelésére összezavaró ellentámadásba lendülök. Milyen értelemben akarsz megtanulni adatbázisni? A relációs adatbáziskezelés alapjai hiányoznak (tábla, kulcs, idegen kulcs, belső és külső illesztés, index, nézet, trigger stb. + SQL nyelv), vagy ez már megvan, és inkább az érdekel, hogyan kell jól, hatékonyan felépíteni, konfigurálni, optimalizálni, üzemeltetni egy PostgreSQL/MySQL/MS-SQL/Oracle/DB2/stb. adatbázist?

Amúgy az adatbázis az adat hosszú távú tárolására való, tehát egy számítás közepén egy memóriába kényelmesen beférő, köztes adatokat tároló hashmap kiváltására véletlenül se használd. Persze nem biztos, hogy erre akarod bevetni, de a fenti panaszkodásba ez is belefér.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-07-06, 23:06:30
Az alapok is hiányoznak, meg ha már hozzányúlok, akkor meg akarom tanulni, hogy kell jól :)

Quote from: Próféta on 2009-07-06, 22:54:49
Amúgy az adatbázis az adat hosszú távú tárolására való, tehát egy számítás közepén egy memóriába kényelmesen beférő, köztes adatokat tároló hashmap kiváltására véletlenül se használd. Persze nem biztos, hogy erre akarod bevetni, de a fenti panaszkodásba ez is belefér.

Itt a gond, egy ember adatai 3-4 mega, és lesz 100-200 ember.
Workaroundként arra gondolok most, hogy ha más nem megy, akkor minden adatot nem töltök be egyszerre, hanem mindig újra-parse-olom a nyers fájlokat, ha kell, az sem túl hosszú idő.

De már csak azért sem ártana az adatbázis, mert akkor lehetne okos lekérdezésekkel ide-oda-keresztbe keresgélni az adatok között és relatíve értelmes módon mindenféle statisztikákat levezetni belőlük.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-07-10, 17:11:53
Újabb villáminterjú:

- Kedves kikuchiyo, ha már nem érted, amit 10 perccel ezelőtt magad írtál le, és a képernyőn lévő kód egy nagy vödör érett hányásra emlékeztet, izgő-mozgó zöld dollárjelekkel és egymást kibogozhatatlanul hívó spagetti-metódusokkal, az annak a jele, hogy abba kéne már hagyni, nem?
- De.
- Köszönöm az interjút!
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2009-08-04, 15:20:39
Quote from: kikuchiyo on 2009-07-10, 17:11:53
Újabb villáminterjú:

- Kedves kikuchiyo, ha már nem érted, amit 10 perccel ezelőtt magad írtál le, és a képernyőn lévő kód egy nagy vödör érett hányásra emlékeztet, izgő-mozgó zöld dollárjelekkel és egymást kibogozhatatlanul hívó spagetti-metódusokkal, az annak a jele, hogy abba kéne már hagyni, nem?
- De.
- Köszönöm az interjút!

:muhahah:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: NLZ on 2009-08-04, 18:35:17
Quote from: Ramiz on 2009-08-04, 15:20:39
Quote from: kikuchiyo on 2009-07-10, 17:11:53
Újabb villáminterjú:

- Kedves kikuchiyo, ha már nem érted, amit 10 perccel ezelőtt magad írtál le, és a képernyőn lévő kód egy nagy vödör érett hányásra emlékeztet, izgő-mozgó zöld dollárjelekkel és egymást kibogozhatatlanul hívó spagetti-metódusokkal, az annak a jele, hogy abba kéne már hagyni, nem?
- De.
- Köszönöm az interjút!

:muhahah:
+1
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2009-08-04, 21:00:14
Quote from: kikuchiyo on 2009-07-10, 17:11:53
Újabb villáminterjú:

- Kedves kikuchiyo, ha már nem érted, amit 10 perccel ezelőtt magad írtál le, és a képernyőn lévő kód egy nagy vödör érett hányásra emlékeztet, izgő-mozgó zöld dollárjelekkel és egymást kibogozhatatlanul hívó spagetti-metódusokkal, az annak a jele, hogy abba kéne már hagyni, nem?
- De.
- Köszönöm az interjút!
:lul:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-08-26, 13:22:11
Adott egy rakás kép, book.gif - book (1).gif ~ book (268).gif
nevekkel, amiből már gondolom sejtitek is, hogy mi lesz a
probléma: a képnéző programok book - book1 - book10 -
book100 - book101 sorrendben nyitják meg. Próbálok
összerakni egy batch file-t, amivel a book (?).gif fájlokat
book (00?).gif-fé, book (??).gif-eket pedig book (0??).gif-fé
tudom átnevezni, elvileg egyszerű lenne 1 for és 2 if
ciklussal, de miután egy fél órája bújom a cmd.exe
tutorialokat, azután sem akar a szintaxis összeállni; meg
hát sosem tanítottak programozni, attól félek, hogy valamit
jól elszúrok benne.
Valaki ki tudna segíteni?

Szerk: nevermind, irfanview batch rename-mel egyszerűbb
volt végül megoldani, mint a szintaxist megtanulni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-08-26, 14:33:22
Akartam mondani, hogy a batch semmire se jó, csak szívnál vele (még a legegyszerűbb dolgokat is csak nagyon nehézkesen lehet megcsinálni benne), és többre mennél valami átnevező eszközzel, én a Total Commander multi-rename toolját ajánlottam volna. Dehát rájöttél te is.

Különben ha lenne perled :), akkor íme egy pazarló, szájbarágós megoldás:
#!/usr/bin/perl
use strict;
use warnings;

my $fn = $ARGV[0] || "book";
my $ext = $ARGV[1] || "gif";
my $op = " (";
my $cp = ").";
my @files = glob($fn.$op."*".$cp.$ext);

my $padding = $ARGV[2] || int(log(@files)/log(10) + 1);

foreach my $file (sort @files) {
my ($num) = $file =~ /$fn$op(\d*)$cp$ext/;
my $newname = $fn.$op.sprintf("%0".$padding."d", $num).$cp.$ext;
print "$file, $newname\n";
rename $file, $newname;
}
rename $fn.'.'.$ext, $fn.$op.sprintf("%0".$padding."d", 0).$cp.$ext if -e $fn.'.'.$ext;
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2009-08-26, 14:55:27
Quote from: kikuchiyo on 2009-08-26, 14:33:22
Akartam mondani, hogy a batch semmire se jó, csak szívnál vele (még a legegyszerűbb dolgokat is csak nagyon nehézkesen lehet megcsinálni benne), és többre mennél valami átnevező eszközzel,

, de abból legalább többet tanultam volna, mint f1, olvas,
klikk-klikk-klikk :)

Perl pedig linux-partíción biztos van, csak szinte sosem használom :D
Mindenesetre kösz, nagyjából értem/ki tudom következtetni, hogy
mit írtál, de ezt saját magam nem tudtam volna összehozni a
tutorialok alapján. (Kicsit másképp is csináltam volna, opcionális
padding helyett fájlnév-hossz alapján egy if-fel kétfelé ágaztatva)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-09-12, 01:01:47
Tanácskérés következik.

Akarok írni egy interaktív prezentáció-megjelenítőt. Ennek apropóját az adja, hogy megint tartanom kell a munkahelyen előadásokat, és emiatt elgondolkodtam egy kicsit, hogy hogyan akarom csinálni. Az interneten keresgélve ráakadtam a Takahashi-módszerre, aminek a lényege, hogy egy slide-on csak nagyon kevés szöveget használ, szinte csak egy-két szót, de azt hatalmas betűkkel (így persze sokkal több slide van, amik egyenként csak pár másodpercig jelennek meg). Ezt az elvet persze többen is felfedezték, így más neveken is ismert (stfg Dick Hardt, Lessig-method). Az eredeti módszer képeket nem is használ, nekem viszont tudományos jellegű előadásokhoz kell, így ábrákat és képleteket is használni akarok. Ezt a latex-beamer segítségével elég jól meg lehet csinálni.

Azonban visszaemlékezve az egyetemi előadásokra, világos, hogy a tanárokat két csoportba lehetett osztani: azokra, akik használtak PowerPointos/írásvetítős diákat, és azokra, akik nem. Ez a felosztás elég jól korrelált a nem jó tanár/jó tanár kategóriákkal. Az az elméletem, hogy azért voltak jobbak azok az előadások, ahol nem volt vetítés és a tanár maga rajzolta/írta fel az anyagot a táblára, mert ezzel kétségtelenné tette, hogy tökéletesen érti, amit elmond, és tiszteletet vívott ki azzal, hogy erőfeszítést tesz a levezetéssel; továbbá egy lépésről lépésre felrajzolt ábra is előnyösebb didaktikai szempontból, mintha egyszerre megjelenne egy PPT dián magyarázattal együtt.

Én ötvözni szeretném a két megoldás előnyeit. Azaz a prezentáció szöveges része előre lenne definiálva, de lehetne rajzolni, a már megjelenített elemeket áthelyezni stb.

Nem találtam olyan rendszert, ami ezt készen tudná, ezért akarom én megírni. A kérdés, hogy miben.
Perl/Gtk2-ben van annyi tapasztalatom, hogy aránylag gyorsan össze tudnám ütni, csak az a baj, hogy olyan rendszer kéne, ami mindenhol elfut, bonyodalmas telepítgetés nélkül. Tehát valamilyen böngészőalapú megoldás jöhet szóba. Java applet? Az olyan ódivatú. Javascript + HTML canvas? Modern és elegáns megoldás lenne, de pl. Exploderben nem is működik? Vagy hagyjam a fenébe, kicsi vagyok én ehhez?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Solid Snake on 2009-09-18, 18:19:27
Tanácskérés következik (egy egyszerűbb problémára).

Idei félévem egyik tárgya a Számítógépi grafika, ahol az aláírásért beadandót kell csinálni, ami egy 3D-s térben mozgatható animáció elkészítése C v. C++ alappal, OpenGL könyvtárakkal. Ti milyen fejlesztőkörnyezetet tudtok ajánlani? Visual C++ jár eddig főként a fejemben, de bármilyen alternatív tapasztalatot szívesen meghallgatok és megköszönök.  :smile:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Theon on 2009-09-19, 12:20:53
Én anno Dev-C++-szal próbálkoztam, bár azt egy picit körülményes volt belőni (nem látta az OpenGL könyvtárakat). Aztán áttértem Visual Studio 2005-re, ami működött jól, de 50MB helyett pár gigát foglalt (csak C++ fejlesztői eszközökkel), meg egyébként is egy szörnyeteg. Ha nagymenő vagy C++-ban, akkor ajánlom a Notepad++-t, kis munkával egy majd' teljesértékű fejlesztőkörnyezetté varázsolható, és ugyan ki nem szereti? :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Member on 2009-11-25, 12:02:43
Vki adna egy kis C++ kódot, amiben megadod a virágszirmok számát és végül kidobja, hogy szeret vagy nem szeret? Egy ökörséghez kellene. :)
(Basic-ben meg tudnám csinálni, nade 2009-ben? :))
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2009-11-25, 13:07:10
Most nem tudok kódot írni, de sztem egy sima x mod 2 vel meg tudod oldani, és attól függően sz/nsz, hogy melyikről indulsz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Member on 2009-11-25, 13:20:24
Csak a programsor kell, nem maga a progi. ;)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-11-25, 13:48:24
részletesebb specifikáció híján:

cout << (number & 1 ? "szeret" : "nem szeret") << endl;

Lehet, hogy nem jó...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Member on 2009-11-25, 14:39:55
Ezer köszönet. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2009-11-25, 15:19:31
Quote from: kikuchiyo on 2009-11-25, 13:48:24
részletesebb specifikáció híján:

cout << (number & 1 ? "szeret" : "nem szeret") << endl;

Lehet, hogy nem jó...

És milyen elegáns :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2009-11-25, 15:47:48
Quote from: Xzone on 2009-11-25, 15:19:31
Quote from: kikuchiyo on 2009-11-25, 13:48:24
részletesebb specifikáció híján:

cout << (number & 1 ? "szeret" : "nem szeret") << endl;

Lehet, hogy nem jó...

És milyen elegáns :)
:tezsvir:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2009-11-25, 16:38:11
Quote from: Xzone on 2009-11-25, 15:19:31
És milyen elegáns :)
Idd
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-12-05, 02:51:24
Inspired moments in programming, today's edition

Néha órákat eltölt az ember egy megmagyarázhatatlannak látszó hibával, aminek elvileg nem is szabadna előfordulnia, de mégis előforul. Ma pl. egy vacak plottoló programot hegesztettem, és nem értettem, hogy ha egy második fájlt töltök be, akkor miért nem törli le az ablak tartalmát, és miért fűzi hozzá a második fájlban lévő adatokat az elsőhöz. Hatszor átnéztem és átírtam a plottoló függvényt, áttúrtam a toolkit doksiját... aztán végül rájöttem, hogy amikor beolvasom a fájlt, akkor elfelejtettem kinullázni a tömböt, ami a pontokat tárolja.

Kikuchiyo::Facepalm->new('fail_level' => 9001);
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2009-12-05, 14:05:37
Ismerős érzés, részvétem :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2009-12-05, 23:04:10
Mára elegem van... tanulság, hogy nálam bölcsebbek tényleg nem viccből mondták, hogy "don't reinvent the wheel".
Napokat szopok olyannal, amit igazából tízféleképpen meg lehetne egyszerűbben csinálni.
Shit.get_instance(this).fuck();
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2010-02-12, 19:42:50
Quotefor (int i = 0; i < vEgyedek.size(); ++i)
        {
                                double         RCurr = 0;
                             int        iRang = -1;
                              do
                              {    iRang= iRang +1;
                               RCurr = RCurr + 0.1;
                                }
                            while (RCurr <= vEgyedek.rang);
                            vRangsor[iRang].rnum +=1;
                            
       }
miért is nem tanultam meg inkább a növények latin nevét...
azaz
a fent látható programkód
arra szolgálna hogy van egy vektor egyedek, amelynek a rang helyén 0 és 1 közti érték van
és ezeket sorolnám 10 kategóriába 0-0,1 0,1-0,2 ...0,9-1
namármost
az a baj, hogy <= helyett, simán < ként rakosgatja nekem, ami csak azért gond mert az egy értékűeket nem rakja be sehova.
Quotetényleges      programból
0,1   26                 26
0,2   4                  4
0,3   5                  5
0,4   8                  8
0,5   7                  7
0,6   8                  8
0,7   9                  9
0,8   13                13
0,9   5                  5
1   15                  2
summa   100      
pont1   13
hol vagyok f*szláma? ötletek, vagy alapvetően más egyszerű megoldások?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2010-02-12, 20:00:21
A hátultesztelő ciklusod áll le túl hamar szerintem, és 1-re már nem fut le.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-02-12, 20:39:51
Olyan nem lenne egyszerűbb ciklusozás helyett, hogy


for (int i = 0; i < vEgyedek.size(); ++i) {
    double rang = vEgyedek[i].rang;
    int bracket = int(rang * 10);   // egész rész
    vRangsor[bracket].mum += 1;
}


Egy sorba is beleférne, csak így világosabb talán.

Már ha nem értem félre, hogy mit akarsz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-02-12, 21:15:56
Nakedape, azt döntsd el, hogy a hátéresetek (0.1, 0.2, 0.3, stb.) az alattuk vagy felettük lévő skatulyába kerüljenek? A program amit te meg kiku összeraktatok, első ránézésre a felettük levőbe rakja őket. Ez egyúttal azt jelenti, hogy 1.0 a tizenegyedik skatulyába kerül, tehát el ne feledd azt is kiíratni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2010-02-12, 21:20:53
Quote from: Próféta on 2010-02-12, 21:15:56
Nakedape, azt döntsd el, hogy a hátéresetek (0.1, 0.2, 0.3, stb.) az alattuk vagy felettük lévő skatulyába kerüljenek? A program amit te meg kiku összeraktatok, első ránézésre a felettük levőbe rakja őket. Ez egyúttal azt jelenti, hogy 1.0 a tizenegyedik skatulyába kerül, tehát el ne feledd azt is kiíratni.
na pont jól láttad, a problémát, emiatt maradhatott ki az  utolsó határeset kategória (az egy), de kiku sora akkor is facepalm volt, mármint egészrészezni jobb, mint ciklusozni, tán át is tudom alakítani, nem rondán, hogy az egy is beférjen (ha mind az alatt levőbe meggy, akkor meg a pont nullával szívok), if/ else -n gondolkodom,  de tuti van elegánsabb

merci mindeknek
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-02-12, 21:27:17
int bracket = int(rang * 10)
helyett
int bracket = int(rang * 9.99) ? :D

BTW egybepakolva, "ki írta ezt a szart?" változat
for (int i = 0; i < vEgyedek.size(); vRangsor[ int(vEgyedek[i++].rang * 9.99) ].mum += 1);

szerk:
lehet külön is korrigálni az 1.0 esetre:


for (int i = 0; i < vEgyedek.size(); ++i) {
    double rang = vEgyedek[i].rang;
    int bracket = int(rang * 10);   // egész rész
    if (bracket == 10)
        bracket--;  // rang == 1.0 eset különvéve
    vRangsor[bracket].mum += 1;
}
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2010-02-12, 21:29:14
 :D :D
én is ilyen szorzásosan néztem mű majdnem,
de köszi a kódot, a többsoros szép és már reprodukáltam is vele az eddigi állapotot, szorzás helyet meg belerakom az if elset és hagyjanak lógva:D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-02-17, 00:28:53
Éppen gnuplotot hackelek, ami ugye jó öreg C-ben van írva. A set-show beállítások mindenféle .h-kba szétszórt enumokkal és globális változókkal valamint kilométeres switch-case szerkezetekkel vannak megoldva.

Asszem kezdem érteni az objektum-orientált programozás előnyös voltát. :(
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-03-22, 00:27:19
PHPben, ha csinálok ilyet hogy:
$list = $_GET["list"] ? $_GET["list"] : "1";

akkor a url.php&list=0 -re a $list értéke miért marad 1? Bármely más értékre megváltozik.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-03-22, 01:04:17
A ?: operátor nem pont ezt csinálja?

Boolean érték ? ha igaz : ha hamis

ha a $_GET["list"] 0, annak a boolean értéke hamis (felteszem, mert nem értek a PHP-hoz, de Perlben így van). Ezért $list 1 lesz. Ha nem nulla, akkor pedig $list megkapja az értékét.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-03-22, 01:16:38
Lehet hogy az is bekavar, nem tudom, de ettől függetlenül a $_GET a nullát semminek értelmezi:
http://adriancallaghan.co.uk/zero-tolerance-for-zero-in-php/

Megoldottam úgy hogy átirtam a linkeket "url.php&list=00"-ra, úgy működik. Ezzel szoptam 2-3 órát... Röhej...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-03-22, 23:17:56
Quote from: TurboK on 2010-03-22, 01:16:38
Röhej...
Ezt hívják PHP-nek.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2010-03-23, 12:45:07
Quote from: Próféta on 2010-03-22, 23:17:56
Quote from: TurboK on 2010-03-22, 01:16:38
Röhej...
Ezt hívják PHP-nek.
Ugyan, ugyan, ne röhögjük már ki, csak mert nem tiszta a dolog :)
TurboK példájában a ? : ternáris operátor első operandusa ($_GET["list"]) akkor értékelődik ki igaznak, ha van neki értéke (nem üres), és az az érték nem logikai false vagy 0 szám (sztring).
Ezek után egyértelmű, hogy ?list=0 query paraméterekkel ez a kifejezés hamis lesz, a ternáris operátor harmadik operandusa fog kiértékelődni, ami "1", ergo a $list értéke "1" lesz. Minden más esetben a $list értéke $_GET["list"] lesz.

Szerintem TurboK valami olyasmit akart, hogy ha nincs megadva list nevű query paraméter, akkor a $list értéke 1 legyen, különben a query paraméter értéke. Ez így nézett volna ki helyesen:
$list = empty($_GET["list"]) ? "1" : $_GET["list"];
Így az explicit megadott ?list=0 értékre is azt csinálja, amit kell.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-03-25, 01:34:09
A felét nem értettem, de azért köszi. Az életben nem leszek kész ezzel a progival, ahányszor belenézek, mindíg találok valamit amivel még okosabbá tudnám tenni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Makos on 2010-03-25, 12:54:59
Quote from: TurboK on 2010-03-25, 01:34:09
A felét nem értettem, de azért köszi. Az életben nem leszek kész ezzel a progival, ahányszor belenézek, mindíg találok valamit amivel még okosabbá tudnám tenni.
Ez minden programra jellemző :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2010-03-25, 23:07:04
Quote from: Makos on 2010-03-25, 12:54:59
Quote from: TurboK on 2010-03-25, 01:34:09
A felét nem értettem, de azért köszi. Az életben nem leszek kész ezzel a progival, ahányszor belenézek, mindíg találok valamit amivel még okosabbá tudnám tenni.
Ez minden programra jellemző :D
Első munkahelyemen rangidős programozó munkatárs mondta egyszer:

"Egy program soha sincs befejezve, maximum nem fejlesztik tovább."

Bírtam az öreget, jó fej volt. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-03-25, 23:34:32
A gond csak az hogy a progi egy szakdolgozat tárgya, amibe illene belekezdenem.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-03-26, 00:06:38
Az nagyon kellemetlen, amikor egy szakdolgozat a "még nem fejeztem be, de már majdnem elkezdtem" állapotban van.

Mi a téma?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-03-26, 02:47:53
Hogyan lehet egy tömbhöz új tömb értékeit hozzácsatolni, úgy hogy a kulcsok automatikusan növekednek? $tomb[] nem jó, mert akkor minden hozzácsatolt tömb uj alkulcs alá kerül kap.

Valami ilyesmi:

foreach ($file_extensions as $tomb2) {$tomb1[$i][] = glob($directory[$i]."/*.".$tomb2));}

($i változó szükséges egy más dolog miatt, az egész hóbelebanc egy $i által uralt for ciklusban van)
Ez a példa nem működik, mert így ahányszor lefut a foreach, annyi al-tömb jön létre. Egy al-tömb kéne, amibe belemegy az összes cucc.

Vagy van még:

foreach ($file_extensions as $tomb2) {$tomb1[$i] = glob($directory[$i]."/*.".$tomb2));}

De így meg folyamatosan felülírja a $tomb[$i] értéket, és csak a $tomb2 legutolsó értéke kerül bele (mert azzal írta felül utoljára).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-03-26, 11:22:44
Jól értem, hogy azt akarod, ami perlben ez lenne:
foreach my $tomb2 (@file_extensions) {
    push @{$tomb1[$i]}, glob($directory[$i]."/*.".$tomb2);
}

?

Találtam valami hülye cookbookot, ami szerint ugyanez PHP-ban:
foreach ($file_extensions as $tomb2) {
    $temp = glob($directory[$i]."/*.".$tomb2);
    array_merge($tomb1[$i], $temp);
}


Persze lehet, hogy nem jó, nem értek a PHP-hoz.
(Amit eddig láttam belőle, az alapján az a benyomásom, hogy olyasvalaki találta ki, aki megpróbált perlben programozni, de nem értette...)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2010-03-26, 11:22:57
Quote from: TurboK on 2010-03-26, 02:47:53
[...] uj alkulcs alá kerül kap.
:zomg:

Jól értem, hogy az a cél, hogy a $tomb1 sima egydimenziós tömb meglévő értékei után szeretnéd másolni a glob($directory[$i]."/*."$tomb2) által visszaadott tömb elemeit?
Akkor mondjuk valami ilyesmi:

foreach ($file_extensions as $ext) { //ne nevezd $tomb2-nek, ha egyszer nem is tömb, nagyon zavaró
  $filenames = glob($directory[$i] . "/*." . $ext); // mi ez az $i? honnan jön? mikor növekedik az értéke?
  foreach ($filenames as $filename) { // bejárod a glob() által visszaadott tömböt, mert...
    $tomb1[] = $filename; // így a $tomb1-be magát a sztringet rakod bele következő elemnek, nem az egész $filenames tömb kerül kap új alkulcs alá :)
  }
}

Vagy valami. Kevés a kód, amit írtál, néhány dolog nem egyértelmű, hogy honnan jön (pl. $i), de azért remélem ez segít.
Ha még mindig nem tiszta, akkor írd le, hogy pontosan mit szeretnél elérni, milyen könyvtárakat akarsz bejárni, miért csak adott kiterjesztésű fájlokat gyűjtesz, ezek az adatok honnan jönnek, stb.

EDIT:
Quote from: kikuchiyo on 2010-03-26, 11:22:44
foreach ($file_extensions as $tomb2) {
    $temp = glob($directory[$i]."/*.".$tomb2;
    array_merge($tomb1[$i], $temp);
}

Az array_merge alapvetően jó ötlet, ugyanazt csinálja, amit az én belső foreach-em. De így, ahogy te írod, a $temp még mindig a $tomb1[$i] alá új alkulcs kerül kap.
Inkább így:
foreach ($file_extensions as $tomb2) {
    $temp = glob($directory[$i]."/*.".$tomb2;
    array_merge($tomb1, $temp);
}


De amúgy egy az egyben el kéne felejteni ilyen elnevezéseket, hogy $tomb1 meg $tomb2, a $temp se túl szerencsés, bár ebben az esetben tényleg csak egy eldobható változó. A $tomb2 ráadásul nem is tömb. Ejnye.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-03-26, 18:29:28
Én nem egészen értettem, hogy minek kéne vagy nem kéne új alkulcs alá kerül kapnia (:D), de arra következtettem (abból, hogy az egész egy nagy foreach ciklusban van), hogy itt igazából egy könyvtárlistán iterál végig, és ennek az iterátora az $i. És úgy szeretné, hogy a $directory tömb $i-edik eleméhez a $tomb1-ben tartozzon egy $tomb1[$i] al-tömb vagy mi, ami pedig a megfelelő kiterjesztésű fájlok listáját tartalmazza.
E te megoldásod ezzel szemben az összes megfelelő ilyen fájlnevet egy tömbbe ömleszti. Ha ez a cél, akkor persze a tied jó.

A $temp-re nem tudom, hogy van-e szükség, ha be lehet a glob-os kifejezést pakolni az array_merge argumentumába, akkor nincs.

Az elnevezésekről alkotott véleményedet osztom. (Amúgy miféle fasság ez már, hogy a tömböket és a skalárokat ugyanazzal a $-vel jelölik?)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-03-26, 19:07:47
Quote from: motifator on 2010-03-26, 11:22:57
Quote from: TurboK on 2010-03-26, 02:47:53
[...] uj alkulcs alá kerül kap.
:zomg:
Hajnali háromkor erre telik.

Quote from: kikuchiyo on 2010-03-26, 18:29:28
Én nem egészen értettem, hogy minek kéne vagy nem kéne új alkulcs alá kerül kapnia (:D), de arra következtettem (abból, hogy az egész egy nagy foreach ciklusban van), hogy itt igazából egy könyvtárlistán iterál végig, és ennek az iterátora az $i. És úgy szeretné, hogy a $directory tömb $i-edik eleméhez a $tomb1-ben tartozzon egy $tomb1[$i] al-tömb vagy mi, ami pedig a megfelelő kiterjesztésű fájlok listáját tartalmazza.
E te megoldásod ezzel szemben az összes megfelelő ilyen fájlnevet egy tömbbe ömleszti. Ha ez a cél, akkor persze a tied jó.

A $temp-re nem tudom, hogy van-e szükség, ha be lehet a glob-os kifejezést pakolni az array_merge argumentumába, akkor nincs.

Az elnevezésekről alkotott véleményedet osztom. (Amúgy miféle fasság ez már, hogy a tömböket és a skalárokat ugyanazzal a $-vel jelölik?)

Valami ilyesmi. A directory[] tömbbe be van olvasva minden könyvtár neve (és egyebek). Van egy nagy for ciklus $i iterátorral, amivel a directory tömb $i-edik eleméből olvasok infót (név, méret, ilyesmi). Tehát amikor az $i értéke 0, akkor a directory tömb első elemét nézem, ami lehet pl. az ami fájlnévre az első, vagy aminek a legujabb a dátuma, attól függően hogy a directory tömböt hogyan rendeztem sorba. Ez a program lelke.

A dolog aminél elakadtam az az, hogy egy-egy könyvtárból fájllistát is csináljon. $i cikluson belül kéne lemennie, egyrészt mert az $i irányít többek között oldalakra tagolást is, és így csak annak a könyvtárnak a tartalmát kell beolvasni, ami az adott oldalon megjeleni. Ha a directory tömbbe beolvasnám az egész könyvtárfát mappán belüli fájlokkal, akkor az egyrészt lassú lenne (300 mappa alatt 10000 fájl van ott ahol egyébként is használom a programot, haveri alapú ingyen host ugyhogy nem akarom terhelni), másrészt sokat pazarolna (egy oldalon csak 12 mappa van kijelezve), harmadrészt azt az alapfunkciót kéne átirnom amire az egész program épül és erre se időm, se türelmem, se elég tudásom.

Ha csak glob (*.*)-ot használnék, akkor beszedne mindent, ami nem jó mert alap dolog hogy a program csak azt a kiterjesztést látja amit engedélyezel neki. Ezért végig kell menni egy foreach-al az engedélyezett kiterjesztések listáján, és ezt úgy pakolni egy tombbe hogy a tomb minden eleme $i alatt tartalmazzon egy al-tombot, amiben benne van a fájllista. A $tomb1-nek tehát így kéne kinéznie:
tomb (
[0] => tomb (
              [0] => mappa0\fájl1.png
              [1] => mappa0\anyám.png
              [2] => mappa0\stb.jpg
              [3] => mappa0\lalala.jpg
            )
[1] => tomb (
              [0] => mappa1\egyéb.png
              [1] => mappa1\fájl2.png
            )
)


Ha csak $tomb1[]-t vagy $tomb1[$i][]-t használnék, akkor minden kiterjesztést (minden foreach ciklust) ujabb altombbe tenné:
tomb (
[0] => tomb (
              [0] => mappa0\fájl1.png
              [1] => mappa0\anyám.png
            )
[1] => tomb (
              [0] => mappa0\stb.jpg
              [1] => mappa0\lalala.jpg
            )
[2] => tomb (
              [0] => mappa1\egyéb.png
              [1] => mappa1\fájl2.png
            )
)


Ez így nem jó, mert összevissza kavarodik minden.

Ezért van arra szükségem hogy tartalommal bővitsen a foreach egy tömböt. array_merge-et már próbáltam, de nem sikerült működésre bírnom, valószínüleg csak én voltam a béna.

>ha be lehet a glob-os kifejezést pakolni az array_merge argumentumába, akkor nincs

Nekem nem sikerült.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-03-26, 19:58:35
Csak tippelek, miért nem működött az array_merge: a manual szerint csak tömböket fogad el argumentumként. És lehet, hogy ha a $tomb1[$i] még nem létezik, az nem jó neki.


$tomb1[$i] = array(); // mukoggy!
foreach ($file_extensions as $tomb2) {
    $temp = glob($directory[$i]."/*.".$tomb2;
    array_merge($tomb1[$i], $temp);
}


Vagy mittudomain.

szerk: Meg talán olyan is van, hogy a '+' operátor tömbökre vonatkoztatva 'unió' jelentésű.

$tomb1[$i] = array(); // mukoggy!
foreach ($file_extensions as $tomb2) {
    $temp = glob($directory[$i]."/*.".$tomb2;
    $tomb1[$i] += $temp;
}
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-03-26, 20:44:46
array_merge egyik fenti példára se reagált, nem egyesít semmit (a $temp megmarad üres tömbnek, $tomb1 meg ki lesz lőve (print_r-re semmit nem dob ki)).
Ha olyat csinálok hogy $temp2 = array_merge($tomb1[$i], $temp);, arra se reagál. valszeg az array_merge nem szeret itt valamit.
($temp és $tomb1 is deklarálva van tombnek, az összes cikluson kívül)
+= operátorral nem fut le a program.
(egyébként ilyesmi kombinációkkal szoptam tegnap hajnal háromig)


motifator dupla foreach-je viszont tökéletesen megteszi azt amire szükségem van. Köszi!
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2010-05-03, 21:33:52
Hai!

SQL-ben meg lehet oldani, hogy azonos táblából több rekordot "egymás mellé" teszek egy szempont szerint?

Konkrétan egy php/mysql alapú rendszert fejlesztek, ami boltok forgalmát rögzíti. Minden nap felrögzítik majd hogy hány vásárló volt, mennyi eladás, napi forgalom, stb. Namost, kellene egy összehasonlító nézet, ahol egy sorban (adott napra nézve) összehasonlítható a forgalom a különböző boltokban.
GROUP BY-al le tudom ugye kérdezni az adott napi össz forgalmat az összes boltban, de ugye boltonként kellene. A forgalom tábláman van egy mező, ami az adott bolt ID-je.
Tehát olyasmire gondolok, hogy:
SELECT bolt1.forgalom, bolt2.forgalom FROM eladas <insert help>
2 bolt összehasonlítása elég volna. Van erre natív SQL vagy inkább csináljak több lekérdezést és PHP-vel rendezzem őket egymás mellé?

Előre is kösz a segítséget!
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2010-05-03, 21:48:45
Quote from: Moha on 2010-05-03, 21:33:52
GROUP BY-al le tudom ugye kérdezni az adott napi össz forgalmat az összes boltban, de ugye boltonként kellene. A forgalom tábláman van egy mező, ami az adott bolt ID-je.

Vak vezet világtalant, de ha

SELECT bolt,forgalom FROM forgalomtabla
SUM forgalom
GROUP BY bolt

akkor csak az azonos boltnévhez tartozó értékeket
összegzi, pont erre való a group by.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2010-05-03, 22:11:16
Az a baj, hogy így 2 sorom lesz:





BoltnévForgalom
bolt11234
bolt25678

Nekem meg így kellene:



Bolt1 forgalomBolt2 forgalom
12345678

Mindegy, ha nem oldható meg, akkor lekérem külön és összerakom PHP-val.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-05-03, 22:32:56
Jó ideje nem nyúltam SQL-hez, de nem látom igazából, mi a probléma. Simán összejoinolod kétszer ugyanazt a táblát/view-t, az miért nem jó?
SELECT bolt1.forgalom, bolt2.forgalom
FROM napiForgalomView AS bolt1, napiForgalomView AS bolt2
WHERE bolt1.név=?egyik AND bolt2.név=?másik

Ahol a napiForgalomView ugyanaz, amit K_T definiált (+szűrve a keresett napra).
Ha nem akarsz view definiálással vesződni, akkor helyette zárójelek közé bemásolhatod az egész SELECT-utasítást.

Ha meg azt akarod, hogy több sor legyen, minden sor egy-egy napra a két bolt, akkor meg a view helyett simán a (boltnév,nap,napibevétel) táblát joinolod össze magával, bolt1.nap = bolt2.nap mentén (ezt az oszlopot nyilván selecteled is).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kuroi Tenshi on 2010-05-04, 00:30:31
Quote from: Moha on 2010-05-03, 22:11:16
Az a baj, hogy így 2 sorom lesz:

Ez nem bug, hanem feature :p
De komolyan, ez neked baj?  :3x3: :zomg:
Szerintem pont így átláthatóbb (+ ha sok bolt van, akkor
inkább vertikális scroll, mint horizontális) és jobban kezelhető
(oszlopok), arról nem is beszélve, hogy mennyivel egyszerűbb...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-05-04, 00:53:37
Quote from: Kuroi Tenshi on 2010-05-04, 00:30:31
Quote from: Moha on 2010-05-03, 22:11:16
Az a baj, hogy így 2 sorom lesz:

Ez nem bug, hanem feature :p
De komolyan, ez neked baj?  :3x3: :zomg:
Szerintem pont így átláthatóbb (+ ha sok bolt van, akkor
inkább vertikális scroll, mint horizontális) és jobban kezelhető
(oszlopok), arról nem is beszélve, hogy mennyivel egyszerűbb...
Tök igazad van, az esztétikai szempontok mellett így ugye egy adatbáziskezelő is többet tud vele kezdeni, meg egyszerűbben skálázható majd arra az esetre, ha nem két, hanem x boltot akar összehasonlítani.

Szerintem ezt ő is tudja, és azért akarja egy sorba tenni, hogy soronként egy nap lehessen, ezért is írtam azt a kiegészítést a végére.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-05-12, 17:17:07
Az ember időnként megretten a saját munkája minőségétől.

Mi lenne pl., ha Megsemmisülne A Világ, Ahogyan Ismerjük, és az egyetlen fennmaradt töredék az alábbi lenne:
[spoiler]reset
fn = "list_signific_w_expl.txt"
ext = ".pdf"
fs = 14
r = 0.02
freq = "1800MHz 900MHz"
mod = "CW GSM"
wave = "cont. int."
t(i) = word(freq,1+(i&4)/4)." ".word(mod,1+(i&2)/2)." ".word(wave,1+(i&1)) #.", i=".i
tf(i) = word(freq,1+(i&4)/4)."_".word(mod,1+(i&2)/2)."_".word(wave,1+(i&1)).ext
tfm(i) = word(freq,1+(i&4)/4)."_".word(mod,1+(i&2)/2).ext
p(x) = log(x)/log(30)+1
c(i) = sprintf ("#%x", (((i&4)/4)?2**16:1) * ( ((i&2)/2)*2**7 + (i&1)*2**6 + 2**6-1))
color(x) = (x==1) ? 0x000000 : 0x606060;
posd = 0.075
posx(x,y,s) = (x>y) ? x+posd*(p(s)+2) : x-posd*(p(s)+2)
posy(x,y,s) = (x>y) ? y-posd*(p(s)+2) : y+posd*(p(s)+2)
txt(x) = (x==1) ? '*' : ''
MARGINS0 = "set tmargin at screen 0.9; set rmargin at screen 0.12"
MARGINS1 = "set lmargin at screen 0.08; set rmargin at screen 0.5"
MARGINS2 = "set lmargin at screen 0.56; set rmargin at screen 0.98"

PLOT1 = 'plot x w l lc rgb "gray" notit, '
PLOT1 = PLOT1.'fn u 3:1:4:2 i i w xyerrorbar ps 0 lw 0.5 lc rgb "#202020" notit,'
PLOT1 = PLOT1.'fn u 3:1:(p($5)/10):(0):(360):(color($10)) i i w circ lc rgb var fs empty notit,'
PLOT1 = PLOT1.'fn u 3:1:(p($5)/10):(90-59*$6):(90):(color($10)) i i w circ lc rgb var fs solid 1.0 notit,'
PLOT1 = PLOT1.'fn u (posx($3,$1,$5)):(posy($3,$1,$5)):(txt($10)) i i w labels center tc rgb "black"'

# valamiert az igy gyartott eps-eknek lelog a szele.
CONVERT = 'system("rm ".tfm(i).".eps");system("pdf2ps -dEPSCrop ".tfm(i)." ".tfm(i).".ps");'
CONVERT = CONVERT.'system("ps2eps ".tfm(i).".ps");system("rm ".tfm(i).".ps")'
#CONVERT = 'system("pdftops -eps ".tfm(i)." ".tfm(i).".eps");'

set xl "Control tail DNA %"
set yl "Exposed tail DNA %"
unset key
set size ratio -1

set term pdfc size 6,3 font "Gill Sans MT,".fs #fontscale 1

p(x) = log(x)/log(10)+1
s(S,s) = sprintf("{/=%d %s}", p(s)*5., S eq "0.5" ? ".5" : S)

set xr [4:11]
set yr [4:11]

#set out "scatter_multi.pdf"
#set multiplot layout 2,4 rowsfirst title "Scatterplot" font ",".sprintf("%.1f",fs*1.4)
i = 0
set title t(i) font ",".sprintf("%.1f",fs*1.2)
p(x) = log(x)/log(20)+1

eval MARGINS0

set out tfm(i)
set multiplot
eval MARGINS1
eval PLOT1

eval MARGINS2
i = 1; set title t(i); eval PLOT1
unset multiplot
set out


i = 4
set out tfm(i)
set multiplot
eval MARGINS1
set title t(i); eval PLOT1

eval MARGINS2
i = 5; set title t(i); eval PLOT1
unset multiplot
set out


i = 6
set out tfm(i)
set multiplot
eval MARGINS1
set title t(i); eval PLOT1

eval MARGINS2
i = 7; set title t(i); eval PLOT1
unset multiplot
set out

HNNNGG = "i 9 w circ lc rgb var fs "
PLOT2 = ', fn u ($3*0.7+5):(-$1*0.75+14.5):(p($5)/10):(0):(360):(color($10)) '.HNNNGG.'empty notit,'
PLOT2 = PLOT2.'fn u ($3*0.7+5):(-$1*0.75+14.5):(p($5)/10):(90-59*$6):(90):(color($10)) '.HNNNGG
   PLOT2 = PLOT2.'fs solid 1.0 notit,'
PLOT2 = PLOT2.'fn u ($3*0.7+5):(-$1*0.75+14):5 i 9 ev :::1::1 w labels tc rgb "black",'
PLOT2 = PLOT2.'fn u ($3*0.7+5):(-$1*0.75+15.2):6 i 9 ev :::0::0 w labels tc rgb "black"'

set label 1 "Irradiation\ntime [h]" at first 9.25, 13.8 center
set label 2 "Sampling\ntime [h]" at first 9.75, 15 center
set obj 1 rect from first 4.5,15.5 to first 10.75,12.75 fs empty border rgb "black"

i = 2
set xr [4:12]
set yr [4:16]
set term pdfc size 6,3*12./7.
set out tfm(i)
set multiplot
eval MARGINS1
set title t(i); eval PLOT1.PLOT2  ## !!! plotting explanation

unset label 1; unset label 2; unset obj 1
unset yl
eval MARGINS2
i = 3; set title t(i); eval PLOT1

unset multiplot
set out


set term pop

if (1) i = 0; eval CONVERT;i = i+2; eval CONVERT;i = i+2; eval CONVERT;i = i+2; eval CONVERT
[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2010-05-29, 17:30:58
Hali!

Felkérésre csináltam egy nagyon fapados kis facebook "teendő lista" app-ot.
Bátor (facebookon regisztrált) jelentkezőket kérnék, akik tesztelnék egy kicsit... (linket PM-ben adom)

Előre is köszi.

Moha
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2010-08-15, 22:01:14
SQL gyakorláshoz kéne valami, tudtok esetleg könyvet CD-vel, vagy valami honlapot, ahol táblák vannak és gyakorolni lehetne?
Van a w3schools, de a gyakorlás kissé nehézkes.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2010-08-15, 22:28:02
Head first SQL (http://www.headfirstlabs.com/books/hfsql/) ugyaninnen tudsz leszedni hozzá sql fájliokat
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: .Attila on 2010-08-15, 23:10:44
Quote from: Puru² on 2010-08-15, 22:28:02
Head first SQL (http://www.headfirstlabs.com/books/hfsql/) ugyaninnen tudsz leszedni hozzá sql fájliokat

Megnézem :merci:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-10-29, 12:01:24
[spoiler=zsak.h]#ifndef ZSAK_H_INCLUDED
#define ZSAK_H_INCLUDED


class zsak
{
    public:
        zsak();
        zsak(int &meret);
        ~zsak();
        void urese();
        void kiir();
        void beszur(const int &ertek);
        void kivesz(const int &ertek);
        void metszet(const zsak &z1, const zsak &z2);

    private:
        int* w;
        int meret, tarolo1, tarolo2;
        bool log, be, osszehuz;
};

zsak::zsak()
{
    w = new int [2];
    w[0] = 0;
    w[1] = 0;
    meret = 2;
}

zsak::zsak(int &meret)
{
    w = new int [meret];
}

zsak::~zsak()
{
    delete[] w;
}

void zsak::urese()
{
    if(w[1] == 0)
    {
        std::cout << "URES";
    }else{ std::cout << "NEM URES"; }
}

void zsak::kiir()
{
    std::cout << "zsak: ";
    for(int i = 0; i<meret; i++)
    {
        std::cout << w[ i] << "x" << w[i+1] << "db,";
        i = i+1;
    }
    std::cout << std::endl;
}

void zsak::beszur(const int &ertek)
{
    if(w[1] == 0)
    {
        w = new int [2];
        w[0] = ertek;
        w[1] = 1;
        meret = 2;
    }else
    {
        log = false;
        be = false;
        for(int i=0; i<meret; ++i)
        {
            if(w[ i] > ertek && !be)
            {
                tarolo1 = w[ i];
                tarolo2 = w[i+1];
                w[ i] = ertek;
                w[i+1] = 1;
                log = true;
            }else if(w[ i] == ertek)
            {
                w[i+1] = w[i+1] + 1;
                be = true;
            }else if( i == meret-2 && w[ i] < ertek && !be)
            {
                tarolo1 = ertek;
                tarolo2 = 1;
            }
            i = i+1;
        }
        if(!be)
        {
            meret = meret + 2;
            w[meret-2] = tarolo1;
            w[meret-1] = tarolo2;
        }
    }
}

void zsak::kivesz(const int &ertek)
{
    osszehuz = false;
    for(int i=0; i<meret; ++i)
    {
        if(osszehuz && i < meret-4)
        {
            w[ i] = w[i+2];
            w[i+1] = w[i+3];
        }else if(osszehuz && i == meret-4)
        {
            w[ i] = w[i+2];
            w[i+1] = w[i+3];
            meret = meret - 2;
        }
        if(w[ i] == ertek)
        {
            if(w[i+1] > 1)
            {
                w[i+1] = w[i+1] -1;
            }else if(w[i+1] == 1)
            {
                osszehuz = true;
                w[ i] = w[i+2];
                w[i+1] = w[i+3];
            }
        }
        i = i + 1;
    }

}

void zsak::metszet(const zsak &z1,const zsak &z2)
{
    int limit;
    int i, j, z = 0;
    if(z1.meret > z2.meret)
    {
        limit = z1.meret;
    }else{limit = z2.meret;}
    for(int k = 0; k < limit; ++k)
    {
        if(i < z1.meret && j < z2.meret)
        {
            if(z1[ i] > z2[j])
            {
                j = j+2;
            }else if (z1[ i] < z2[j])
            {
                i = i+2;
            }else if(z1[ i] == z2[j])
            {
                w[z] = z1[ i];
                if(z1[i+1] > z2[j+1])
                {
                    w[z+1] = z2[j+1];
                }else if(z1[i+1] < z2[j+1])
                {
                    w[z+1] = z1[i+1];
                }
                i = i+2;
                j = j+2;
                z = z+2;
            }
        }
    }
}

#endif // ZSAK_H_INCLUDED
[/spoiler]
nos minden működik kivéve a piros rész a legvégén, és ezeket dobálgatja ki rá:
[spoiler]s\C++\beadando\1_8\beadando1\zsak.h||In member function 'void zsak::metszet(const zsak&, const zsak&)':|
s\C++\beadando\1_8\beadando1\zsak.h|145|error: no match for 'operator[]' in 'z1[ i]'|
s\C++\beadando\1_8\beadando1\zsak.h|145|error: no match for 'operator[]' in 'z2[j]'|
s\C++\beadando\1_8\beadando1\zsak.h|148|error: no match for 'operator[]' in 'z1[ i]'|
s\C++\beadando\1_8\beadando1\zsak.h|148|error: no match for 'operator[]' in 'z2[j]'|
s\C++\beadando\1_8\beadando1\zsak.h|151|error: no match for 'operator[]' in 'z1[ i]'|
s\C++\beadando\1_8\beadando1\zsak.h|151|error: no match for 'operator[]' in 'z2[j]'|
s\C++\beadando\1_8\beadando1\zsak.h|153|error: no match for 'operator[]' in 'z1[ i]'|
s\C++\beadando\1_8\beadando1\zsak.h|154|error: no match for 'operator[]' in 'z1[(i + 1)]'|
s\C++\beadando\1_8\beadando1\zsak.h|154|error: no match for 'operator[]' in 'z2[(j + 1)]'|
s\C++\beadando\1_8\beadando1\zsak.h|156|error: no match for 'operator[]' in 'z2[(j + 1)]'|
s\C++\beadando\1_8\beadando1\zsak.h|157|error: no match for 'operator[]' in 'z1[(i + 1)]'|
s\C++\beadando\1_8\beadando1\zsak.h|157|error: no match for 'operator[]' in 'z2[(j + 1)]'|
s\C++\beadando\1_8\beadando1\zsak.h|159|error: no match for 'operator[]' in 'z1[(i + 1)]'|
||=== Build finished: 13 errors, 0 warnings ===||
[/spoiler]
az a gyanúm hogy nem veszi be valamiért azt hogy z1, z2 már van (amit megetetek majd vele) és azzal a 2 "zsákkal" kell majd dolgozni, de lövésem sincs jelenleg mit kéne tenni vele (az is lehet kurvára félreértek valamit itt)  :mittomen: valakinek valami ötlet? ([ i] -kben van egy fölös space me nem akartam code tagezni a színezés miatt :) )
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2010-10-29, 13:17:02
Na most én nem értek a c++-hoz, de nekem ez a hibaüzenet azt jelenti, hogy a [] operátor nincs definiálva a zsak típusú objektumokra.

Nos továbbra is mindennemű c++ tudás nélkül próbálom értelmezni, de egy egyszerű, bár nem túl szép megoldás lenne,
ha a w integer tömb fieldet publikussá tennéd, és átírnád a metszet metódust,
hogy pl z1[ i] helyett z1.w[ i] módon indexelje a zsák objektum w tömbjét.

A szép megoldás az lenne, ha definiálnád a [] operátort, ami valahogy így nézne ki (életem első c++ kódja asszem):

//ezt add hozzá a class definícóhoz a public (vagy private, ahogy tetszik) részbe:
int operator [](int i);

//ezt meg akárhova:
int zsak::operator[](int i)
{
  return w[i];
}

Kiváncsi vagyok, hogy ez megoldja-e.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-10-29, 15:44:04
nem oldja meg :(

[spoiler=új hibaüzik]s\C++\beadando\1_8\beadando1\zsak.h||In member function 'void zsak::metszet(const zsak&, const zsak&)':|
s\C++\beadando\1_8\beadando1\zsak.h|151|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|151|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|154|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|154|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|157|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|157|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|159|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|160|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|160|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|162|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|163|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|163|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
s\C++\beadando\1_8\beadando1\zsak.h|165|error: passing 'const zsak' as 'this' argument of 'int zsak::operator[](int)' discards qualifiers|
||=== Build finished: 13 errors, 0 warnings ===||
[/spoiler]

sztem valami olyasmi lesz a baj hogy elírtam valamit vagy nem definiáltam rendesen z1 és z2-vel kapcsolatban így nem tudja kezelni zsákként, mint class elemet.... de nem látom....
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-10-29, 16:16:01
Ugyan én sem tudok ojjettumokat orientálni, de nem úgy illik, hogy van egy accessor metódus, és azzal lehet hozzáférni az objektumba zárt nem nyilvános elemekhez?
Pl.

int zsak::get_value(int i)
{
  return w[i];
}

int zsak::get_meret()
{
  return meret;
}


Továbbá mit keres egy olyan függvény, ami két tetszőleges zsák metszetét számítja, a zsák objektum metódusai között? Akkor már úgy lenne értelme, hogy csak egy argumentuma van, a másik zsák objektum, amivel össze akarod hasonlítani.


// hunglish névs az ftw-ért!
void zsak::metszet_with(const zsak &masik_zsak)
{
    int limit;
    int i, j, z = 0;
    int masik_meret = masik_zsak.get_meret();
    if(meret > masik_meret)
    {
        limit = meret;
    }else{limit = masik_meret;}
    for(int k = 0; k < limit; ++k)
    {
        if(i < meret && j < masik_meret)
        {
            if(w[ i] > masik_zsak.get_value(j))
            {
                j = j+2;
            }else if (w[ i] < masik_zsak.get_value(j))
            {
                i = i+2;
            }else if(w[ i] == masik_zsak.get_value(j))
            {
                w[z] = z1[ i]; // itt vesztettem el a fonalat
                if(z1[i+1] > z2[j+1])
                {
                    w[z+1] = z2[j+1];
                }else if(z1[i+1] < z2[j+1])
                {
                    w[z+1] = z1[i+1];
                }
                i = i+2;
                j = j+2;
                z = z+2;
            }
        }
    }
}


Szerk: vagy ez a metszet metódus azt akarta volna, hogy két zsák elemeinek a metszetéből felépít egy új zsák ojjettumot?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2010-10-29, 16:30:02
Hát a hibaüzenet szerint azzal van baja, hogy a definiált [] operátornak nem igazán tudja átadni a metszet függvény paramétereit, mert azok konstansok. Na mint már mondtam, nem értek a c++-hoz, de google-öztem egy kicsit.
A problémádra vonatkozó leírást itt találod: http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.12
Ahogy elnézem, a 18.12-es bekezdés pont azt magyarázza el, ami neked kell. Ez alapján meg kellene tudnod oldani a dolgot, a [] operátort konstansként (is) kellene definiálni, és akkor menni fog.

@kiku: Valahol igazad van, csak nincs értelme get_value függvényt definiálni, és aztán átírni az egész metszet függvény, amikor operátorokat is tudsz definiálni. Jó lesz az a [] operátor, csak ügyelni kell a c++-nál a konstans-helyességre. Mondjuk azt se értem teljesen, hogy a metszet függvény 2 paramétere miért kell, hogy konstans legyen, de nem értek a c++-hoz.
Quote from: kikuchiyo on 2010-10-29, 16:16:01
Ugyan én sem tudok ojjettumokat orientálni, [...]
Én tudok, csak nem c++-ban  :hehe:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-10-29, 18:02:51
Quote from: motifator on 2010-10-29, 16:30:02
...

[spoiler](http://www.wheelbrace.net/Thankyou.gif)[/spoiler]

ed.: kezdek kicsit morci lenni  :__devil: számomra érthetetlen dolgok miatt kifagy a progi és a fő fájlban sima ciklust se enged hibaüzenet nélkül, de ugyanoda a  do{ ... }while(...); meg működik rendesen.... amúgy lefut a progi de valamiért nem hajlandó a metszetet számolni... ha meg túl sok számot akarok egyszerre megetetni a beszúr függvénnyel (pl 8-10), kifagy  :zomg: szaros osztályok grrr, na majd edzés után agyalok még rajta :(


Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-10-29, 23:07:05
chilip: <alázós mód>nem akarlak elkeseríteni, de programozni nem úgy kell, hogy random rátenyerelsz a billentyűzetre, hanem hogy gondolkodsz és odafigyelsz arra, amit írsz. Hogy a programod rosszul működik, az nem meglepő, mivel kesze-kusza, átláthatatlan, rosszul olvasható, érthető, karbantartható módon építetted fel - egyszóval öntökönszúrást művelsz. A programhibák jelen esetben ennek a kettőnek a következményei. </alázós mód>

Ha azt szeretnéd, hogy az osztályod ne legyen ennyire bűnronda, ne használj ilyen eszement elrendezést, hogy a tömb páros elemei a hasznos értékek, a páratlanok meg a darabszámuk. Kezdetnek használj két tömböt, az egyik az értékeket, a másik a darabszámot tárolja (tehát ertek[i] darabszáma darabszam[i]). De az önszívatás tovább csökkenthető, ha std::map<int, int> (http://www.sgi.com/tech/stl/Map.html)-ben tárolod az érték -> darabszám leképezést. Mondjuk az utóbbiról el tudom képzelni, hogy az ilyen elsőéves kisházikban tiltva van, mert az alapok elsajátítása lenne a lényeg (különben használhatnál mindjárt std::multiset<int> (http://www.sgi.com/tech/stl/multiset.html)-et :ejnye:).

[spoiler= részletesebben kódba mászva]
Quote from: chilip on 2010-10-29, 12:01:24
Egyébként célszerű lenne mindenek előtt megértened, mi a különbség a mezők, a lokális változók és a paraméterek között, élettartam és láthatóság szempontjából. A be, log, tarolo1, stb. mezők miért nem lokális változók a megfelelő metódusokban?

zsak::zsak(int &meret)
{
    w = new int [meret];
}
A meret paramétert nem teszed el a létrejövő ojjektum meret tagváltozójába. Esetleg érdemes lehet a tömb elemeit is inicializálni valamire.

Quote from: chilip on 2010-10-29, 12:01:24
void zsak::urese()
{
    if(w[1] == 0)
    {
        std::cout << "URES";
    }else{ std::cout << "NEM URES"; }
}
Ha én oktatnálak, itt már talán levonnék egy jegyet. A metódus nem azt csinálja, ami a neve. Az urese() kérdésre a válasz egy bool, azt majd a hívó dönti el, hogy kiírni akarja-e vagy elágazni eszerint.

Quote from: chilip on 2010-10-29, 12:01:24
            if(w[ i] > ertek && !be)
            {
                tarolo1 = w[ i];
                tarolo2 = w[i+1];
                w[ i] = ertek;
                w[i+1] = 1;
                log = true;
            }
Ha volt egy olyan célod, hogy az egyes eltárolt kulcsok növekvő rendben szerepeljenek, akkor azt itt szerintem elrontod, mivel a kipottyant érték a végére kerül. Vagy megőrzöd a rendezést (de akkor hátrébb kell tolni az egész tömböt), vagy nem használod fel a rendezettséget. Azt mondjuk itt amúgy se teszed, nem break-elsz ha túlfutottal ertek-en.

Quote from: chilip on 2010-10-29, 12:01:24
        if(!be)
        {
            meret = meret + 2;
            w[meret-2] = tarolo1;
            w[meret-1] = tarolo2;
        }
Ez segfault-gyanús. A meret változó növelése szép dolog, de a tömböd ettől nem lett nagyobb. Simán túlírsz a végén, tetszőleges arra járó-kelő ártatlan memóriaterületet felülírva. Használj C-tömb helyett std::vector<int> (http://www.sgi.com/tech/stl/Vector.html)-et. Vagy ha az STL tiltott gyümölcs, akkor ilyen esetben foglalj le egy nagyobb tömböt, pakold át bele az eddigi adatokat (ez lassabb a vector-nál), írd a végére a tarolo tartalmát, szabadítsd fel a régit, és állítsd át rá a w pointert.

A metszet() metódus a korábbiakhoz hasonlóan túlírja a w címen lefoglalt tömböt, ráadásul a meret-et se állítja be a kialakult méretre.

Mindezeken kívül hiányzik a copy constructor és az operator= overloadja. Ezek nélkül
zsak a = b;
1:1 lemásolna a zsák objektumot, tehát a w pointert is; így ugyanarra a memóriaterületre fognak mutatni, és ha az egyiknek módosítod a tartalmát, az a másikban is látszódhat.
[/spoiler]
Mondom, ha már C++-ozol, akkor ne bénázz a C-féle bitmágiával, használd ki az OOP megoldások (pl. vector) előnyeit.

Quote from: kikuchiyo on 2010-10-29, 16:16:01
Továbbá mit keres egy olyan függvény, ami két tetszőleges zsák metszetét számítja, a zsák objektum metódusai között? Akkor már úgy lenne értelme, hogy csak egy argumentuma van, a másik zsák objektum, amivel össze akarod hasonlítani.
chilip valamiért úgy csinálta, hogy void a metódusa, és a
c.metszet(a, b);
hívás a c zsák értékét írja felül az a és b zsák értékének metszetével. Ez így kényelmetlen, félreérthető, nem szokás. Inkább:
zsak zsak::metszet(const zsak &z_masik)
alakban célszerű definiálni, ahol a this objektum az egyik operandus, z_masik a másik, és a visszatérési értékben keletkezik az eredmény. Tehát a
zsak c = a.metszet(b);
hívás a c zsákot az a és b zsák értékének metszetével inicializálja.

Quote from: motifator on 2010-10-29, 16:30:02
Mondjuk azt se értem teljesen, hogy a metszet függvény 2 paramétere miért kell, hogy konstans legyen, de nem értek a c++-hoz.
Mert nem módosítja a paramétereit. Így const zsak paramétert átadva is tudsz metszetet számolni, meg esetleg a compiler optimalizál erre valamit (ill. a nyelvtervezőknek ez volt az eredeti elképzelésük).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Xzone on 2010-10-29, 23:29:20
Próféta'd.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-10-30, 00:21:36
 :angyali:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Member on 2010-10-30, 11:54:46
Komolyan, ha valaki infó szakra akar menni, azt bemutatom Prófétának előtte. :lol: :jee:
Unokatesóm pl. fontolgatja. :angyali:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-10-30, 12:12:43
Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-10-30, 12:20:58
Quote from: Próféta on 2010-10-30, 12:12:43
Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)

mester, TANÍTS MEG PROGRAMOZNI!!!

:borul:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-10-30, 12:57:13
Quote from: chilip on 2010-10-30, 12:20:58
Quote from: Próféta on 2010-10-30, 12:12:43
Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)

mester, TANÍTS MEG PROGRAMOZNI!!!
Sajnálom fiam, erre születni kell.
"If you have to ask what jazz is, you'll never know."
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2010-10-30, 12:59:03
Quote from: Próféta on 2010-10-30, 12:57:13
Quote from: chilip on 2010-10-30, 12:20:58
Quote from: Próféta on 2010-10-30, 12:12:43
Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)

mester, TANÍTS MEG PROGRAMOZNI!!!
Sajnálom fiam, erre születni kell.
"If you have to ask what jazz is, you'll never know."
Uhh ne is mondd, nekem is kepeznem kene magam c++bol, de hanyok. Pedig nem vagyok hulye ezekhez...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-10-30, 13:41:30
Quote from: Kvikveg on 2010-10-30, 12:59:03
Uhh ne is mondd, nekem is kepeznem kene magam c++bol, de hanyok. Pedig nem vagyok hulye ezekhez...
Nincs olyan lehetőséged, hogy valami egyszerűbbet válassz C++ helyett? A C/C++-hoz azért erős hivatástudat kell :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2010-10-30, 14:45:55
Quote from: Próféta on 2010-10-30, 13:41:30
Quote from: Kvikveg on 2010-10-30, 12:59:03
Uhh ne is mondd, nekem is kepeznem kene magam c++bol, de hanyok. Pedig nem vagyok hulye ezekhez...
Nincs olyan lehetőséged, hogy valami egyszerűbbet válassz C++ helyett? A C/C++-hoz azért erős hivatástudat kell :)
Hat kb ez az amit lattam es amivel embert keresnek kint...  :punny:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-10-30, 14:47:39
próféta, szted melyik a legjobb webes tutorial C++ -hoz? biztos ismersz 1-2t ahonnan neki lehet indulni gyakorlással a rögös útnak :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-10-30, 15:39:56
Quote from: chilip on 2010-10-30, 14:47:39
próféta, szted melyik a legjobb webes tutorial C++ -hoz?
Fogalmam sincs, én csak egyet használtam, azt is úgy hét éve:  Teach Yourself C++ in 21 Days (http://newdata.box.sk/bx/c/). És egész jó volt. No persze http://abstrusegoose.com/249

Ha ez megvan, akkor érdemes megismerkedni első körben a C++ Standard Template Library (STL) nevű aranybányával (jó webes tutorialt nem tudok, nekem élőben magyarázták el jól), utána érdemes körülnézni a boost-ban.

Viszont: szép dolgok a tutorialok, de programozni X nyelven (meg úgy általában programozni) úgy fogsz megtanulni, ha csinálod, sokat.

Ha pedig tényleg szeretnél C++-ból élni, akkor érdemes megnézni a híres C++ FAQ (http://www.parashift.com/c++-faq-lite/)-t és az ezt - néha fölöslegesen indulatosan - kritizáló hírhedt C++ FQA (http://yosefk.com/c++fqa/)-t (most valamiért down).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: teraflare on 2010-10-30, 15:56:35
Quote from: Próféta on 2010-10-30, 15:39:56
de programozni X nyelven (meg úgy általában programozni) úgy fogsz megtanulni, ha csinálod, sokat.
:tezsvir: ezt eddig nekem senkinek sem sikerült elmagyarázni mivel 1 hónap után már profi akar lenni mindenki és ha nem megy akkor feladják.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2010-10-30, 15:59:52
FQAba beleneztem... es lol.  :jee:
Hogy en mennyire gyulolom amikor van egy include, az includeolt fileban meg ket include, es iiigy tovaaabbb a vegtelensegig.  :zomg:
Aztan nyomozzam vissza, hogy mi a franc.  :falba:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-10-30, 16:09:17
Quote from: Kvikveg on 2010-10-30, 15:59:52
Aztan nyomozzam vissza, hogy mi a franc.  :falba:
IDE?

Normálisan egy F3 / Ctrl-klikk/ akármi egy osztálynévre / metódusra / változóra, és már ugrik is a definícióhoz / deklarációhoz húsz fájllal arrébb. Jobbaknál fordítva is megy, tehát ki tudja listázni, ezt a metódust ki mindenki használja.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-10-30, 16:12:52
magyarul buktam a tárgyat és gőzerővel kezdhetek már most tanulni C++-t :P bah! akkor legalább a többire rágyúrok addig.... az a vicces hogy volt egy C++ -ot tanító tárgy de az alapokat kihagyták belőle mert azt mindenki ismeri ugye...  :falba: :comp:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2010-10-30, 16:58:00
Quote from: Próféta on 2010-10-30, 16:09:17
Quote from: Kvikveg on 2010-10-30, 15:59:52
Aztan nyomozzam vissza, hogy mi a franc.  :falba:
IDE?

Normálisan egy F3 / Ctrl-klikk/ akármi egy osztálynévre / metódusra / változóra, és már ugrik is a definícióhoz / deklarációhoz húsz fájllal arrébb. Jobbaknál fordítva is megy, tehát ki tudja listázni, ezt a metódust ki mindenki használja.
Hat ennel mar nem emlekszem mi volt, de igy nem ment. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-11-04, 19:39:47
Feladat: felsorolni, hogy az alábbi programlészlet hányféleképpen szar.

[spoiler]# somebody kill me please
sub motherfuckingly_retarded_function_to_calculate_compound_percentage_for_max_avg {
my ($maxes, $ids, $ch, $typex) = @_;

# return the simple percentages if $ch is not a compound channel
# FUCK THIS I WASTED TWO HOURS FIGURING THIS OUT
# FUCK FUCK  FUCK AAARGH
return (
max_simple($maxes)**2/Z0/$limit{$ch},
average_simple($maxes)**2/Z0/$limit{$ch}
) unless $ch =~ /^tot/;

# we find the maximum ourselves, and we also find out its index in the array.
my $max = 0;
my $idx = 0;
my $max_idx = 0;
foreach (@$maxes) {
if ($max < $_) {
$max = $_;
$max_idx = $idx;
}
$idx++;
}
# the same index will point to the person in the ids array to whom the maximum belongs to.
my $that_id = $ids->[$max_idx];

# now to define which channels we are interested in:
my @ch_list = compound_channels_list($that_id, $ch);

# now that we know which id the maximum belongs to, we look it up among the cached_maxes
# to find which data point it actually was.
my $data_idx = $cached_maxes_idx{$that_id}{$typex}{$ch};

# then we can actually calculate what we want: percentages for compound channels.
my $percentage = 0;
foreach my $lch (@ch_list) {
$percentage += $frozen_data{$that_id}[$data_idx]{$lch}**2/Z0/$limit{$lch};
}
my $max_percentage = $percentage;

# finally, do this for every id we have, then average the percentages.
# this is probably the most retarded thing in this whole fucking mess.
my @percentages;
foreach my $this_id (@$ids) {

my @ch_list = compound_channels_list($this_id, $ch);

my $data_idx = $cached_maxes_idx{$this_id}{$typex}{$ch};
#print STDERR "*$ch", "@ch_list", "\t", $cached_maxes_idx{$this_id}{$typex}{$ch}, "\t";
my $percentage = 0;
foreach my $lch (@ch_list) {
$percentage += $frozen_data{$this_id}[$data_idx]{$lch}**2/Z0/$limit{$lch};
#print STDERR $frozen_data{$this_id}[$data_idx]{$lch}, "\t";
}
push @percentages, $percentage;
#local $, = "\t"; print STDERR $typex, $this_id, $percentage, "\n";
}

return $max_percentage, average_simple(\@percentages);
}


Megértem, ha ezután nem álltok velem többet szóba.[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-11-05, 00:03:13
Quote from: kikuchiyo on 2010-11-04, 19:39:47
Feladat: felsorolni, hogy az alábbi programlészlet hányféleképpen szar.
Miután nem tudom, hogy milyen id-eket és egyéb freudi képződményeket mókol, elég esélytelen. De mégis nekiállok, hiába volt költői a kérdés.

1. A "max"-ok mindig szigorúan pozitívak és legalább egy van belőlük? Ha nem, lyukra fut a program.
2. Minek a $max_percentage-et előre kiszámolni, ha utána úgyis megteszed? Miért nem elég a percentages-ből utólag kikeresni?
3. id->max, id->percentage asszociatív tömbként egyszerűbb lenne?
4. a szerző szuicid, nem jósolok neki hosszú hátralévő életet; le kéne tisztességesen kommentáltatni vele a kódot, mielőtt an herótot kap
5. "now to define which channels we are interested in:" -> pontatlan szóhasználat, én nem vágom ebből hogy mi a compound_channels_list... kiszámolja, beolvassa vagy egyszerűen lookupolja a csatornák listáját?
6. Perlben készült :P

Az utolsót kicsit komolyabbra véve: erősen javaslom valami célszerszám alkalmazását inkább. Én a nyáron ismerkedtem meg az R nevű statisztikai programozási nyelvvel (ingyenes és GNU); nagy segítségemre volt ez a könyv (http://www.amazon.com/Introductory-Statistics-R-Peter-Dalgaard/dp/0387954759) és egy kis segédlet (http://zoonek2.free.fr/UNIX/48_R/02.html).

Namost az R nyelv is facepalm-pozitív. Eredendő bűne, hogy eredetileg nem programozók készítették, hanem programozni tanuló statisztikusok statisztikusoknak, aztán nagyon átgondolatlanul mindenféle rá lett toldozva-foldozva (ebben is, és az adatmodelljében is erősen emlékeztet a Matlabra, ha ez mond neked valamit). Például R-ben azt hiszem minden mátrix (vagy data frame vagy array vagy valami hasonló), legfeljebb egysoros (lista) és esetleg egyoszlopos is (közönséges érték). Aztán pure functional a nyelv (lásd Haskell, ML, stb.), tehát lambda-kalkulus van, és minden függvény állapot- és mellékhatásmentes. Végül - a tiszta funkcionális paradigmának majdhogynem antitéziseként - objektum-orientált. De ráadásul két teljesen különböző és teljesen inkompatibilis módon lehet objektumorientálni benne (R3 és R4 verziójú objektumok). Szóval úgy istenesen el van baszva, de legalább erre a célra lett elbaszva; szemben a Perl-lel, amely (hozzá nem értőként alkotott, megalapozatlan véleményem szerint) elsősorban regexpes stream-feldolgozásra lett elbaszva. Az öngyilkos függvényed szerintem talán ha úgy három sor lenne R-ben. Bár nyár óta elfelejetettem és már nem tudnám megírni, de load_csv egy sor, és utána alapvetően egy sokdimenziós adatsorból számolsz különböző tengelyek mentén maxokat meg összegeket, nem?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-11-05, 00:50:41
Váá, kösz, hogy foglalkoztál vele.
Amiket felhoztál (1-5-ig), nagyrészt igazak, de triviálisak a meta-elbaszásnak azon mélyebb szintjeihez képest, amelyek ebből a részletből nem is látszanak. A legsúlyosabb az, hogy amit számol, az elvileg sem jó (nincs értelme), de ezt kéri a megrendelő, nem lehetett lebeszélni róla. A kevésbé súlyos bajai ebből erednek, na meg arról, hogy egy hasonlóan elbaszott, de többezer soros foshalomra lett tűzoltás-jelleggel ráhegesztve. Számítsd magad a szerencsés emberek közé, hogy csak ennyit láttál belőle (bár azért vannak részei, amik egész értelmesnek indultak).

A hatodikra érdemes részletesebben is válaszolnom.

Egyrészt ne báncsad a Perlt, mert jóaz. Azonfelül hogy kedvelem a nyelvet (már amennyire egy programozási nyelvet lehet kedvelni), azért használom, mert ez áll leginkább kézre, ebben van gyakorlatom (woe is me). Ezenfelül azért is volt kézenfekvő erre a feladatra használni, mert az adatokat, amiket buzerál, egy szintén Perl-alapú rendszer kezeli-tárolja-korruptálja, így nem kell szerializálni meg flat fájlba kiírni, továbbá a fő feladat nem is a statisztika, hanem a táblázatgyártás Latex, CSV és excel formátumba, amit kellően rugalmasan nehéz lett volna bármi másban megírni.

Az R-et egyébként ismerem, legalábbis futólag - ehhez a projekthez használom is. De ahhoz nem értek hozzá eléggé, hogy az egészet abban írjam.

Amennyire ismerem, az alapján nekem praktikus és erős nyelvnek tűnik.

Quote from: Próféta on 2010-11-05, 00:03:13
szemben a Perl-lel, amely (hozzá nem értőként alkotott, megalapozatlan véleményem szerint) elsősorban regexpes stream-feldolgozásra lett elbaszva.

A sed-del kevered, nem? :P
Komolyabban: igen, a Perl tényleg egyfajta awk++-nak indult 1.0 korában, és bizonyos részei még ma is utalnak erre az eredetre. De hiba volna azt hinni, hogy a mai Perl még mindig itt tart. Igenis lehet benne hatékony és karbantartható módon kompakt és modern szemléletű (akár ojjettum-orientált) kódot írni - a fenti állatorvosi ló nem feltétlenül a nyelvet minősíti.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-11-05, 01:11:43
Quote from: kikuchiyo on 2010-11-05, 00:50:41
Komolyabban: igen, a Perl tényleg egyfajta awk++-nak indult 1.0 korában, és bizonyos részei még ma is utalnak erre az eredetre. De hiba volna azt hinni, hogy a mai Perl még mindig itt tart. Igenis lehet benne hatékony és karbantartható módon kompakt és modern szemléletű (akár ojjettum-orientált) kódot írni - a fenti állatorvosi ló nem feltétlenül a nyelvet minősíti.
:hai:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-12-04, 02:07:57
Hogyan lehet javascriptben olyan tagot kiválasztani, aminek van x attribútuma? Valami ilyesmi hogy
images = document.getElementsByTagName("img") && getAttribute("md5");
(&& getAttribute("md5") az az amit én képzelek oda)

Olyasmivel próbálkozom, hogy utólag szűkítem le a találatokat, valahogy úgy, hogy,

for(i=0; i<images.length; i++ )if (images[i].getAttribute("md5")) {..., de, itt hogyan töltök fel egy pl. imagessorted tömböt a leszűkitett tartalommal? ...}
Nincs javascriptben valami olyasmi mint a phpben a $array[] ?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2010-12-04, 13:55:42
először:


var images=document.getElemtsBytagName("img");

for(var i=0;i<images.lenght;i++){
var attrib=images[i].getAttribute("md5");
}


másodszor :tömböt létrehozni a "new array"-al tudsz ,utána új elemet hozzáadni a push() metódussal ,sorba rendezni a sort()-al tudod
valahogy így:
Quote
var tmb=new array();
tmb.push("valami");
tmb.sort();

protip: használd mindig a var kulcsszót amikor változót deklarálsz különben automatikusan globálissá válik ami sok hiba forrása lehet.



Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-12-04, 15:59:14
Quote from: Puru² on 2010-12-04, 13:55:42
először:


var images=document.getElemtsBytagName("img");

for(var i=0;i<images.lenght;i++){
var attrib=images[i].getAttribute("md5");
}


Ez így az attrib-ba beleírja az md5 attributum értékét.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-12-04, 23:35:28
Quote from: TurboK on 2010-12-04, 02:07:57
Hogyan lehet javascriptben
http://en.wikipedia.org/wiki/Jquery

Asszem. Igazából nem használtam, de tudtommal erre jó.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2010-12-05, 00:52:42
A problémát megoldottam, most már csak annyi gond van hogy Internet Explorer quirks módos böngészésben nem működik az hogy
href="javascript:void();" onClick="javascript:expandImg(getAttribute('id'));"

Funkciót meghívni lehet, de getAttribute('id')-t nem lehet neki megadni...
"standard" módos böngészésben persze működik, de sajnos ezt nem tudom átírni, és nem is látok arra módot hogy külső plugin/script más módba váltson egy-egy oldalt.

edit: kiírtam változóba az értéket, így működik.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: motifator on 2010-12-06, 15:26:42
Quote from: Próféta on 2010-12-04, 23:35:28
Quote from: TurboK on 2010-12-04, 02:07:57
Hogyan lehet javascriptben
http://en.wikipedia.org/wiki/Jquery

Asszem. Igazából nem használtam, de tudtommal erre jó.
+1000000000000000000
Használjatok jQuery-t. Komolyan. Nagyon hamar meg lehet tanulni, és utána bánni fogjátok, hogy valaha is szenvedtetek alap javascripttel.
http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery
Ezt a tutorialt max egy óra alatt végig lehet nyomni, főleg, hogy néhány részt át is lehet benne ugrani. Ennyi időt tényleg érdemes rászánni, örökre meg fogja változtatni a hozzáállásotokat a javascripthez. Consequences - and javascript development - will never be the same :)

Ja, és használjatok hozzá firebugot (http://getfirebug.com). Van valami firequery (http://firequery.binaryage.com/) is, ami valami firebug kiegészítés kifejezetten jQueryhez, de ezt még nem próbáltam.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-12-13, 16:26:28
lenne C++ -os kérdésem

akarnék én egy láncolt listát, amiben az elemek értékei pointerek. ezek a pointerek 2 típusú adatra mutathatnak rá: egyik tartalmaz 2 integer típusú adatot és 1 double-t, a másik 2 int-et és 2 double-t.

alázást most nem kérnék, hanem csak ötleteket a megvalósításra :D

eddig így nézett ki vázlatosan:
[spoiler]
class egyeske {

public:
egyeske(int value);
egyeske(int x, int y, double z);
~egyeske();
egyeske *next;
egyeske *prev;

private:
int val;
int typee;
                double sizee;
friend class LinkList;
};

class ketteske {

public:
ketteske(int value);
ketteske(int x, int y, double old_a, double old_b);
~ketteske();
ketteske *next;
ketteske *prev;

private:
int val;
int typee;
                double oldal_a;
                double oldal_b;
friend class LinkList;
};

class LinkList {

private:

        first  **********
        last  **********

public:

LinkList();
~LinkList();

void blablabla
};
[/spoiler]
problémám a linklistben van a sok *-nál mert a first és last -nál meg kell mondjam mik ők, míg ugye lehetnek egyeskék és ketteskék is :D lehet valamit jól elnézek a kezdő kis tudásommal, ötleteket, tippeket, segítséget örömmel fogadok :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-12-13, 16:47:40
Quote from: chilip on 2010-12-13, 16:26:28
alázást most nem kérnék, hanem csak ötleteket a megvalósításra :D

Milyen változónevek ezek már?! stb.

Az nem játszik, hogy definiálsz egy lancszem osztályt, ami a lista egy általános elemét valósítja meg, tehát tartalmazza a linket az előző és következő elemre, és ebből származtatod az egyeskét és ketteskét?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-12-13, 17:01:37
és hogy? :D nem kell megadni még pointernél is hogy konkrétan mire mutat?  :confused:


int *p;   => csak integerre mutathat
egyeske *p;    => csak az egyeske class típusú valamire mutathat

vagy van valami trükk amivel meg lehet ezt kerülni? biztos van, csak tudásom eléggé hagy maga után kívánni valót. ha meg tudnám ezt így csinálni, kécc is lennék...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-12-13, 17:31:17
Elkezdtem valamit pötyögni, de mivel se gondolkodni nincs most kedvem, se Próféta alázása alá nincs kedvem beállni, ezért rákerestem a megfelelő kulcsszavakra:

http://boards.straightdope.com/sdmb/archive/index.php/t-217547.html
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-12-15, 01:58:52
Quote from: chilip on 2010-12-13, 16:26:28
alázást most nem kérnék, hanem csak ötleteket a megvalósításra :D
:oops: Ezer bocsi, tényleg nem szokásom. Alighanem vért reggeliztem akkor :redface:

Quote from: chilip on 2010-12-13, 17:01:37
egyeske *p;    => csak az egyeske class típusú valamire mutathat
Vagy az egyeske osztály egyik leszármazott osztályába tartozó objektumra. Ez is a polimorfizmus (http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming) egy formája (hú!). Lásd még: minden bogár rovar. Kicsit bővebben: http://newdata.box.sk/bx/c/htm/ch12.htm (és utána http://newdata.box.sk/bx/c/htm/ch13.htm ha már kened-vágod).

Egyébként kikuchiyonál a pont.
Ja és:
typedef std::list<kozos_ososztaly_egyeskenek_es_ketteskenek*> LinkedList; :P

Azért egy gonosz támadó kérdés: erre biztos hogy mind magatoktól kellene ráébrednetek? Nincs nálatok valami tananyag, vagy előadás, ahol ezt elmagyarázzák?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-12-15, 12:09:49
[spoiler=gonosz támadó válasz]Az előadásra nyilván nem járt be, a tananyagba nem nézett bele évközben, és most "Tarzan csinál másik lyuk" stílusban akarja megírni a beadandókat.[/spoiler]

Az jutott még eszembe, hogy ha nem az lenne a követelmény, hogy az egyik osztály egy double-t tartalmazzon, a másik kettőt, hanem az lenne, mint a belinkeltem fórumtémában (tehát az egyikben int, a másikban double "ugyanaz" a változó), akkor előnyösebb lehet hardcore C-módra unionnal megoldani, és akkor nem kell vacakolni a származtatással.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-12-15, 12:22:46
előadás annyiból állt hogy felolvasta a netes jegyzetet, gyakorlaton se tanítottak semmit, az is csak a beadandók leadására volt... netre felbaszták az anyagot meg a házikat oszt csá.

amúgy a tárgyat hagyom a picsbe, mert télleg nem ilyen kevés C++ -os tudással kéne nekiállni, majd ha vége a vizsgáknak elkezdem nyüstölni, főleg azt a tutorialt amit próféta ajánlott. amúgy köszönöm a válaszokat, azért majd rájuk nézek ma még miket linkeltetek :P a baj az volt ezzel a tárgyal hogy ennek előzménye a "programozási nyelvek: C++" ami 1,5 éve volt nekem (azóta nem volt C++ -os tárgyam) és szar előadóval (=> alig lett meg és alig tanultam ott valamit, máig nem értem hogy sikerült a végső géptermi ZH). szóval jah, rá kéne gyúrni mikor lesz időm :D




Quote from: kikuchiyo on 2010-12-15, 12:09:49
[spoiler=gonosz támadó válasz]Az előadásra nyilván nem járt be, a tananyagba nem nézett bele évközben, és most "Tarzan csinál másik lyuk" stílusban akarja megírni a beadandókat.[/spoiler]

hát ez szíven ütött....
[spoiler]annyira igaz az ezévi dolgaimra ebből a tárgyból :angyali:[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2010-12-15, 14:15:33
Ez melyik suli ?Illetve hányad éves vagy ?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-12-15, 16:03:20
1. ELTE
2. már nem merem bevallani :D

tavaly mentem át programtervező matematikusról programtervező informatikusra, ami lényegében ugyanaz mégis más.... csomó tárgyat összevontak, szétszedtek stb így pl tavaly őszi szemeszteremben 2 tárgy volt összesen :P mert a többit elvégeztem már. kicsit megártott a semmittevés :( most szívom a levét a dolognak  :ejj:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2010-12-15, 16:48:25
>ELTE
>proginfo

Oh boy, here we go :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2010-12-15, 19:21:23
Részvétem , összes haver aki oda ment félév után otthagyta és átjött hozzánk a BMF-re .  :ejnye:  ^^"
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2010-12-17, 02:19:36
Kérdés:
matlabban akarom lemodellezni azt, hogy ha egy labdát felülről beejtünk egy rendszerbe, ahol mindíg jobbra vagy balra mehet (jelen esetben 11* kell "döntenie"), akkor elég sok labda esetén az elhelyezkedésekből normál eloszlást kapunk. Nekem valamiért erősen egyenletes eloszlást ad ki...
A kód (tudom, tudom)
matrix=zeros(2048,1);
n=30;
for i=1:n
    a=1; b=2048;
    for j=1:11
       p=floor(rand()*2);
       if p==0
           b=b-((b-a+1)/2);
       else
           a=a+((b-a+1)/2);
       end
    end
   matrix(a)=matrix(a)+1;
end
plot(matrix);
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2010-12-17, 12:05:33
Azért kapsz egyenletes eloszlást, mert az az eset, amit a kódod modellez, nem az, amit szeretnél.
Amit te csinálsz, az a következő: van d=11 döntés, amik együtt 2d=2048-féle végállapotot eredményeznek. Te pedig minden lehetséges végállapotot külön számolsz! Így persze, hogy egyenletes eloszlást kapsz.

Akkor kapsz normális eloszlást, ha minden döntésnél "összeejted a lehetőségeket", azaz összesen d+1=12 végállapotot számolsz csak.

.
|\
.  .
|\ |\
.  .  .
|\ |\ |\
.  .  .  .

Sz'al érted.

d=11;
matrix=zeros(d+1,1);
n=3000;
for i=1:n
    a=1;
    for j=1:d
       p=floor(rand()*2);
       a=a+p;
    end
   matrix(a)=matrix(a)+1;
end
plot(matrix);

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2010-12-17, 13:43:14
Ebben az a vicces, hogy először hasonlóan csináltam, ki is jött a normál eloszlás, de aztán megnéztem egy gifet, ahol ugyanez volt modellezve, csak középről ejtették a labdákat és mintha több lett volna a végállapot, ezért írtam át, ezek szerint hülyeségre. :D
Köszi!  :merci:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-12-28, 01:19:34
srácok, írtam javascriptben egy szimpla táblás játékot még 1-1,5 hónapja
ha valaki ért hozzá és nagyon sok a szabadideje, meg tudná mondani miért hülyül meg néha (a nagyobb tábláknál) a lépésellenőrzés? (léphet-e még, győzhet-e még) http://people.inf.elte.hu/chilip/pegged/

+-t kaptam rá, meg 5öst a tárgyra, de ez bassza a csőröm :D hogy nem jövök rá
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2010-12-28, 01:45:42
Quote from: chilip on 2010-12-28, 01:19:34
srácok, írtam javascriptben egy szimpla táblás játékot még 1-1,5 hónapja
ha valaki ért hozzá és nagyon sok a szabadideje, meg tudná mondani miért hülyül meg néha (a nagyobb tábláknál) a lépésellenőrzés? (léphet-e még, győzhet-e még) http://people.inf.elte.hu/chilip/pegged/

+-t kaptam rá, meg 5öst a tárgyra, de ez bassza a csőröm :D hogy nem jövök rá
Es a bongeszo back gombja csodas gyozelemhez segit! :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-12-28, 02:09:40
Quote from: chilip on 2010-12-28, 01:19:34
srácok, írtam javascriptben egy szimpla táblás játékot még 1-1,5 hónapja
ha valaki ért hozzá és nagyon sok a szabadideje, meg tudná mondani miért hülyül meg néha (a nagyobb tábláknál) a lépésellenőrzés? (léphet-e még, győzhet-e még) http://people.inf.elte.hu/chilip/pegged/

+-t kaptam rá, meg 5öst a tárgyra, de ez bassza a csőröm :D hogy nem jövök rá
0. Menjen inkább a kódertopikba, ne?
1. Hogy kell irányítani? ??? Na várj, megnézem a forráskódjában :D
2. Kihagytad az átlós lépést, a szabályok általában azt is megengedik.
3. Folyton globális változókat piszkálsz (lephet_e, kor1, stb.) --> csúnya + hibalehetőség
4. Erősen bele van drótozva a 7x7 táblaméret; már csak a gondolkodásmódod fejlesztése érdekében is célszerű lenne úgy átírni, hogy tetszőleges N*M-es táblán működjön... A koord() függvénynél például melegen ajánlom a maradékos osztás nevű varázslatot ;) Vagy legalább használnád ki azt, hogy a tömbbe valamiért belekódoltad a két koordinátát (tök értelmetlenül amúgy).
5. Azzal ugye tisztában vagy, hogy az alábbi feltétel minden (e,f) párra teljesül? Egyáltalán mit akart volna jelenteni?
((e != -1 && f != -1) || (e != -1 && f != 1) || (e != 1 && f != -1) || (e != 1 && f != 1) || (e != 0 && f != 0))
6. Ha e és f értéke  -1 és +1 között mozog, akkor miért kor1 - 1 ill. kor2 - 1 -hez adod őket hozzá?
7. Jó tanács, saját tapasztalatból: ha ennyi a copy paste kód egymás alatt, akkor sejtheted, hogy valamit elrontottál, vagy legkésőbb a copy paste során el fogsz rontani :) Tipikusan valamit nem gondoltál jól végig. Írj rá rövidebb kódot! Abban a hibát is hamarabb észreveszed, meg arra kényszerít, hogy jobban átgondold az egészet.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2010-12-28, 03:26:23
Quote from: Próféta on 2010-12-28, 02:09:40

5. Azzal ugye tisztában vagy, hogy az alábbi feltétel minden (e,f) párra teljesül? Egyáltalán mit akart volna jelenteni?
((e != -1 && f != -1) || (e != -1 && f != 1) || (e != 1 && f != -1) || (e != 1 && f != 1) || (e != 0 && f != 0))


jézus :D ezt észre se vettem :D ugh, na majd holnap ránézek erre, de ez csak most esik le :O lehet hogy nem használt függvény egyébként :) amúgy átlós lépés direkt nem volt megengedve, és első "komolyabb" javascript programom :) szóval büszke vagyok quasimodo szörnyszülött fiamra :D nagyon

ed.: ja nem is!!! nem mindenre!!! most esett le, minden olyan e,f párra ahol az egyik 0 a másik meg nem az... vagy az akart lenni :D asszem lassan elsajátítom az "ösztönből programozás" csúnya képességét :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2010-12-28, 10:53:04
Quote from: chilip on 2010-12-28, 03:26:23
Quote from: Próféta on 2010-12-28, 02:09:40

5. Azzal ugye tisztában vagy, hogy az alábbi feltétel minden (e,f) párra teljesül? Egyáltalán mit akart volna jelenteni?
((e != -1 && f != -1) || (e != -1 && f != 1) || (e != 1 && f != -1) || (e != 1 && f != 1) || (e != 0 && f != 0))


jézus :D ezt észre se vettem :D ugh, na majd holnap ránézek erre, de ez csak most esik le :O lehet hogy nem használt függvény egyébként :) amúgy átlós lépés direkt nem volt megengedve, és első "komolyabb" javascript programom :) szóval büszke vagyok quasimodo szörnyszülött fiamra :D nagyon

ed.: ja nem is!!! nem mindenre!!! most esett le, minden olyan e,f párra ahol az egyik 0 a másik meg nem az... vagy az akart lenni :D asszem lassan elsajátítom az "ösztönből programozás" csúnya képességét :D
Hoho most mar en is belenezek. :)
Btw akkor miert nem ( e==0 && f!=0 ) || (e!=0 && f==0) ? Vagy mar az anyja se ismerne ra az eredeti otletre, ami otvenszer modosult?
Mondjuk tegnap este en is elkovettem egy szepet:
if ($ize == "" && ( $bigyo=="" || $bigyo== 1) ) {
$ize='emez';
}else {                                            // if ( $ize== "" ) uppsz kimaradt
$ize='amaz';
}

Csodalkoztam is amikor teszteltem - ugye biztos ami biztos - hogy mi a franc.
Gondolkodtam, hogy szebb lenne egymasba agyazni oket, de gyozott a lustasag...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2010-12-28, 11:55:07
Quote from: chilip on 2010-12-28, 03:26:23
ed.: ja nem is!!! nem mindenre!!! most esett le, minden olyan e,f párra ahol az egyik 0 a másik meg nem az... vagy az akart lenni :D
e=0, f=1 az első term kapásból true, szóval ez tényleg legfeljebb a szándék lehetett.

Két hasznos fogalom:
http://hu.wikipedia.org/wiki/Diszjunkt%C3%ADv_norm%C3%A1lforma
http://hu.wikipedia.org/wiki/Konjunkt%C3%ADv_norm%C3%A1lforma
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2010-12-28, 12:17:49
Quote from: Próféta on 2010-12-28, 11:55:07
Quote from: chilip on 2010-12-28, 03:26:23
ed.: ja nem is!!! nem mindenre!!! most esett le, minden olyan e,f párra ahol az egyik 0 a másik meg nem az... vagy az akart lenni :D
e=0, f=1 az első term kapásból true, szóval ez tényleg legfeljebb a szándék lehetett.

Két hasznos fogalom:
http://hu.wikipedia.org/wiki/Diszjunkt%C3%ADv_norm%C3%A1lforma
http://hu.wikipedia.org/wiki/Konjunkt%C3%ADv_norm%C3%A1lforma
"a művelet változóinak vagy negáltjainak konjunkcióinak diszjunkciója"
Ne kinozz! Najo a peldaval mar ertheto. De regen volt logika oram... ::)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-02-12, 00:55:06
Szórakoztató haszontalanságok, avagy milyen hülyeségekre lehet használni az ember által alkotott legbonyolultabb gépezeteket:

[spoiler]
Az alábbi igen primitív program egy kört mozgat a képernyőn a gép helyzetének megfelelően, gyorsulásmérővel felszerelt laptopon. A gyakorlatban ez linuxot futtató Thinkpadet jelent, amin a hdaps telepítve van és működik is. A tablettel igazán poén, mert azt kézbe lehet venni, és a golyó arra mozog, amerre döntöd a gépet.

Work in progress, primitív, bugos, és ami a legrosszabb, perl+Gtk2+Goo::Canvas kell hozzá.
Valami hasonlót szeretnék majd belőle, mint a Resco Bubbles WinMo-ra.

#!/usr/bin/perl

use strict;
use warnings;
use Goo::Canvas;
use Gtk2 '-init';
use Glib qw(TRUE FALSE);

my $screenx = 1200;
my $screeny = 700;
my $r = 50;
my $poll_interval = 40;
my $alpha0 = 502.84;
my $beta0 = -504.38;
my $avg_alpha;
my $avg_beta;
my $n = 0;
my $swapx = 0;
my $swapy = 1;
my $scalex = 0.0002;
my $scaley = 0.0002;
my $bounce = 0.5;
my $devfn = '/sys/devices/platform/hdaps/position';
my $x0 = $screenx / 2;
my $y0 = $screeny / 2;

my ($x, $y) = ($x0, $y0);
my ($vx, $vy) = (0, 0);

my $window = Gtk2::Window->new('toplevel');
$window->signal_connect('delete_event' => sub { Gtk2->main_quit; });
$window->set_default_size($screenx, $screeny);

my $swin = Gtk2::ScrolledWindow->new;
$swin->set_shadow_type('in');
$window->add($swin);

my $canvas = Goo::Canvas->new();
$canvas->set_size_request($screenx, $screeny);
$canvas->set_bounds(0, 0, $screenx, $screeny);
$swin->add($canvas);

my $root = $canvas->get_root_item();
my $ball = Goo::Canvas::Ellipse->new(
    $root, $x0, $y0, $r, $r,
    'stroke-color' => 'red',
    'fill-color' => 'red'
);

my $text = Goo::Canvas::Text->new(
    $root, "hhh", $x0, 100, -1, 'center',
    'font' => 'Sans 14',
);

my $timer = Glib::Timeout->add ($poll_interval, \&timeout_handler);

sub timeout_handler {
open(my $DEV, "<", $devfn) || die "can't read hdaps position device!";
my $strpos;
read $DEV, $strpos, 12;
close $DEV;
my ($alpha, $beta);
die "no sensible information from hdaps position device!"
unless (($alpha, $beta) = ($strpos =~ /\((-?\d+),(-?\d+)\)/));
my $da = $alpha - $alpha0;
my $db = $beta - $beta0;

$avg_alpha = ($alpha + $avg_alpha*$n) / ($n+1);
$avg_beta = ($beta + $avg_beta*$n) / ($n+1);
$n++;

my ($dx, $dy);
$vx -= $da;
$vy -= $db;
$dx = $vx * $poll_interval * ($swapx ? -1 : 1) * $scalex;
$dy = $vy * $poll_interval * ($swapy ? -1 : 1) * $scaley;
$x = $x0 + $dx;
$y = $y0 + $dy;
if ($x > $screenx - $r) {
$x = $screenx - $r;
$x0 = $x;
$vx *= -$bounce;
}
if ($y > $screeny - $r) {
$y = $screeny - $r;
$y0 = $y;
$vy *= -$bounce;
}
if ($x < $r) {
$x = $r;
$x0 = $x;
$vx *= -$bounce;
}
if ($y < $r) {
$y = $r;
$y0 = $y;
$vy *= -$bounce;
}
#$ball->translate($dx, $dy);
$ball->set('center-x' => int($x));
$ball->set('center-y' => int($y));
$text->set('text' => sprintf(
"x=%.2f,y=%.2f,x0=%.2f,y0=%.2f,da=%.2f,db=%.2f,vx=%.2f,vy=%.2f,avg_a=%.2f,avg_b=%.2f",
$x,$x,$x0,$y0,$da,$db,$vx,$vy,$avg_alpha,$avg_beta));
$x0 = $x;
$y0 = $y;
return 1;
}


$window->show_all();
Gtk2->main;


[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-02-12, 01:19:45
Hehe :)
Ebben az a jó, hogy látszik hogy élvezetből csinálod.

[spoiler]Fejben lefuttatva a statikus def-use kódanalízist úgy tűnik, hogy a
   if ($x > $screenx - $r) {
jellegű elágazásokban az $x0 ill. $y0 beállításának nincs semmi szerepe azon kívül, hogy $poll_interval idővel hamarabb villan fel a $text mezőben... jól látom?  [/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-02-12, 01:33:41
[spoiler]Nincs szerepe, azon kívül, hogy egy előző, hibás számítási módot probáltam debuggolni vele.[/spoiler]

Egyébként csak próbálgatom, hogy mit tud az új játékszerem. Azt is meg lehetne csinálni, hogy a helyzetérzékelő adatai alapján elforgassa a desktopot, ha kell.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2011-02-12, 02:30:16
Quotegyorsulásmérővel felszerelt laptop

Érdekes, ilyenről még nem nagyon hallottam. Minek laptopba gyorsulásmérő? Telefonba/ipad és hasonló tabletbe oké, de laptopba? (Nem piszkálódás, tényleg érdekel)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-02-12, 02:35:52
Quote from: Darkstar on 2011-02-12, 02:30:16
Érdekes, ilyenről még nem nagyon hallottam. Minek laptopba gyorsulásmérő? Telefonba/ipad és hasonló tabletbe oké, de laptopba? (Nem piszkálódás, tényleg érdekel)
Valamiféle szokott lenni az összesben, nem? Pl. hogy leállítsa a vinyókat, ha nagyon mozgolódsz.
De kikuchiyonak ráadásul tabletje van (mármint rendes tablet PC, nem ilyen iPad/Tab izé), ha jól rémlik.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2011-02-12, 02:44:04
Az mondjuk tényleg jogos lenne, csak eddig nem tudtam róla, hogy mindegyikben van.

Azért mondtam az iPad/Tab féle tableteket, mert azt az ember könnyebben "marokra" fogja és szórakozik a gyroval/gyorsulásmérővel, míg a tablet pc kicsit "kötöttebb" szerintem.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-02-12, 12:20:11
Erős túlzás, hogy mindegyikben van gyorsulásmérő: tudtommal csak a Thinkpadekben és Macbookokban van, meg talán még egy harmadik gyártó csúcskategóriás gépeiben.

A célját már kitaláltátok: hirtelen mozgásoknál parkoltatja az olvasófejet, hogy ne sérüljön az adathordozó felülete. A Lenovo úgy is hívja a technológiát, hogy Active Protection System.

De mivel a gyorsulásmérő adatai közvetlenül is kinyerhetőek, elvetemült emberek mindenféle vicces dolgokat találtak ki a hasznosításukra:

Lépésszámláló és wirelesshálózattérkép-készítő (http://www.ibm.com/developerworks/opensource/library/os-wirelesssitesurvey/)
Vezérlés kopogtatással (http://www.ibm.com/developerworks/library/l-knockage.html)

A linuxos driver szabványos joystickként is regisztrálja a gyorsulásmérőt, így lehet pl. a Neverball c. játékot vezérelni vele. De akár az mplayert is meg lehet tanítani, hogy a gép döntögetésére gyorsítsa vagy visszatekerje a filmet.

Illetve a legkézenfekvőbb játék az, amit én is elkezdtem csinálni: egy egyszerű golyó mozgatása a gép helyzetének megfelelően. Windows Mobile-ra a Resco Bubbles ilyen, csak az persze profibban meg van csinálva. Még azt is tudja, hogy ha a "golyó" a "falnak" ütődik, akkor egy kicsit megrezegteti a telefont. Igen addiktív játék, eddig mindenki odavolt érte.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-02-12, 21:11:31
Quote from: kikuchiyo on 2011-02-12, 12:20:11
Erős túlzás, hogy mindegyikben van gyorsulásmérő: tudtommal csak a Thinkpadekben és Macbookokban van, meg talán még egy harmadik gyártó csúcskategóriás gépeiben.
Mások szerint "many laptop vendors have implemented this technology" (http://en.wikipedia.org/wiki/Active_hard_drive_protection), és ebből a listából hiányzik is pl. a FuSi. Valamint ha az én Lifebook E8410-em csúcskategóriának számít, akkor el se merem képzelni, egy középkategóriás laptop milyen minőségű lehet. :eek:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-02-12, 21:15:04
 :eek: :mittomen: Akkor meg én tudtam rosszul, vagy csak régi forrásokat olvastam.

De úgy látszik, hogy a Thinkpad- és a Macbook-használókon kívül nem sokan tudnak erről, vagy legalábbis nem alakult ki más gyártók hasonló featúrája körül összevethető mértékű szoftveres ekoszisztéma.


Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-03-24, 19:03:36
(duplapost, mert megérdemlem)

Nagyon amatőr és buta kérdés:
Hogy lehet egy összetett adatstruktúrát (SQL-lel masszírozható) adatbázisban reprezentálni?

Pl. egy ilyet:

[spoiler]
$osszetett_struktura = {
    alma => {
    típus => "gyümölcs",
    állapot => "fostos",
    beleharaptam => [
    1234567890,
    1234567900
    ],
    },
    körte => {
    típus => "gyümölcs",
    állapot => "szottyos",
    beleharaptam => [
    1234567390,
    1234567888
    ],
    },
    ló => {
    típus => "állat",
    állapot => "döglött",
    ismertetőjegyek => {
    eredet => "ajándék",
    fog => "ne nézd"
    }
    }
}


Nyilván primitív a példa, de azt illusztrálja, hogy nem csak kulcs-érték párok vannak, hanem az értékek maguk is összetett adatstruktúrák.
[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-03-24, 22:58:15
1a. Ha SQL-ről van szó (vagyis relációs adatbázisról), akkor ORM (http://en.wikipedia.org/wiki/Object-relational_mapping) kell neked (már ha hajlandó vagy kicsit megmasszírozni az az adatstruktúrát, hogy ojjektumorientált legyen). A jobbféle rendszerek szinte teljesen transzparensek (objektumok be -> DB ír, DB olvas -> objektumok előállnak, objektumokat módosít -> DB update). Minden valamirevaló programozási platformhoz van egy halom ORM perzisztencia réteg (http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software), válaszd ki a neked legalkalmasabbat.

1b. Legrosszabb esetben "kézzel" leképzed adatbázistáblába az adatstruktúrádat (http://www.agiledata.org/essays/mappingObjects.html), majd lekódolod szépen a CRUD (http://en.wikipedia.org/wiki/Create,_read,_update_and_delete) eljárásokat hozzá. Lesz mondjuk cucc(cuccnév, típus, állapot) táblád, meg külön egy beleharapási_idő(cuccnév, int) és ismeretőjegye(cuccnév, jegy, érték) tábla, az értelemszerű elsődleges ill. idegen kulcs kényszerfeltételekkel.

1c. Vannak XML felületet adó adatbázisok is, ha OO felépítésbe luxus lenne átgyúrni.

2. Vannak ám nemrelációs adatbázisok is, bár az eredeti követelményed ezt kizárta.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-03-24, 23:38:01
 :borul:

Quote from: Próféta on 2011-03-24, 22:58:15
1a. Ha SQL-ről van szó (vagyis relációs adatbázisról), akkor ORM (http://en.wikipedia.org/wiki/Object-relational_mapping) kell neked (már ha hajlandó vagy kicsit megmasszírozni az az adatstruktúrát, hogy ojjektumorientált legyen). A jobbféle rendszerek szinte teljesen transzparensek (objektumok be -> DB ír, DB olvas -> objektumok előállnak, objektumokat módosít -> DB update). Minden valamirevaló programozási platformhoz van egy halom ORM perzisztencia réteg (http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software), válaszd ki a neked legalkalmasabbat.

Kösz, ezt a kulcsszót nem ismertem. Még körülnézek, hogy melyik lenne a legcélszerűbb.

Quote from: Próféta on 2011-03-24, 22:58:151b. Legrosszabb esetben "kézzel" leképzed adatbázistáblába az adatstruktúrádat (http://www.agiledata.org/essays/mappingObjects.html), majd lekódolod szépen a CRUD (http://en.wikipedia.org/wiki/Create,_read,_update_and_delete) eljárásokat hozzá. Lesz mondjuk cucc(cuccnév, típus, állapot) táblád, meg külön egy beleharapási_idő(cuccnév, int) és ismeretőjegye(cuccnév, jegy, érték) tábla, az értelemszerű elsődleges ill. idegen kulcs kényszerfeltételekkel.

Ez a része nem volt nekem világos. A valódi adatstruktúrában 4-5 emelet mélyen vannak beágyazott struktúrák, és nem tudtam elképzelni, hogy ezt hogyan reprezentálom át 2 dimenziós adatbázis-táblákban.

Quote from: Próféta on 2011-03-24, 22:58:151c. Vannak XML felületet adó adatbázisok is, ha OO felépítésbe luxus lenne átgyúrni.

Ez miben jobb, mintha simán szerializálnám a struktúrát, mint ahogy most teszem? Ez még ráadásul human readable is, ellentétben az XML-lel. Vagy most faszságot kérdeztem?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-03-25, 00:22:27
Quote from: kikuchiyo on 2011-03-24, 23:38:01
Ez a része nem volt nekem világos. A valódi adatstruktúrában 4-5 emelet mélyen vannak beágyazott struktúrák, és nem tudtam elképzelni, hogy ezt hogyan reprezentálom át 2 dimenziós adatbázis-táblákban.
Ha mindenképpen kézzel akarod csinálni és nagyon bonyolult, akkor először esetleg készíts (legalább fejben) E-R modell (http://en.wikipedia.org/wiki/Entity-relationship_model)t. Az még viszonylag közel áll az emberi gondolkodáshoz, és utána jól algoritmizálhatón képezhető le relációs sémákká.

"reprezentálom át" -->
Quote from: kikuchiyo on 2006-09-25, 23:25:24
Szerk: ezennel bejelentem az igényemet a "Szép magyar nyelvért" érdeméremre
Ismételt jelölés!

Quote from: kikuchiyo on 2011-03-24, 23:38:01
Quote from: Próféta on 2011-03-24, 22:58:151c. Vannak XML felületet adó adatbázisok is, ha OO felépítésbe luxus lenne átgyúrni.

Ez miben jobb, mintha simán szerializálnám a struktúrát, mint ahogy most teszem? Ez még ráadásul human readable is, ellentétben az XML-lel. Vagy most faszságot kérdeztem?
Nem kérdeztél faszságot. Akkor van igazán értelme hierarchikus adatbázisba rakni, ha utána olyan jellegű lekérdezéseket akarsz végrehajtani rajta (mondjuk XPath nyelven), hogy kéred azokat a hierarchiában akárhol található, "dohos" állapotú csomópontokat, amelyeknek a "láda" típusú közvetlen gyerekcsomópontjai közül a második tartalmaz legalább egy piros labdát valahol a részfájában.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-03-25, 01:41:44
Quote from: Próféta on 2011-03-25, 00:22:27
Quote from: kikuchiyo on 2011-03-24, 23:38:01
Ez a része nem volt nekem világos. A valódi adatstruktúrában 4-5 emelet mélyen vannak beágyazott struktúrák, és nem tudtam elképzelni, hogy ezt hogyan reprezentálom át 2 dimenziós adatbázis-táblákban.
Ha mindenképpen kézzel akarod csinálni és nagyon bonyolult, akkor először esetleg készíts (legalább fejben) E-R modell (http://en.wikipedia.org/wiki/Entity-relationship_model)t. Az még viszonylag közel áll az emberi gondolkodáshoz, és utána jól algoritmizálhatón képezhető le relációs sémákká.
Pont hogy lehetőleg nem kézzel szeretném csinálni. Főleg, hogy ez csak a means to an end (ha már a szép magyar nyelvnél tartunk), és elég kevés időm van erre, májusig cikket/előadást kellene írni a témából, és ahhoz kéne egy nem sajtreszelő-maszturbálós feldolgozó/adatbányászó cuccot írni.

Quote
"reprezentálom át" -->
Quote from: kikuchiyo on 2006-09-25, 23:25:24
Szerk: ezennel bejelentem az igényemet a "Szép magyar nyelvért" érdeméremre
Ismételt jelölés!
Pedig ez még nem is volt szándékos... :(

szerk:
>már ha hajlandó vagy kicsit megmasszírozni az az adatstruktúrát
>megmasszírozni az az adatstruktúrát
>az az adatstruktúrát

Quote
Quote from: kikuchiyo on 2011-03-24, 23:38:01
Quote from: Próféta on 2011-03-24, 22:58:151c. Vannak XML felületet adó adatbázisok is, ha OO felépítésbe luxus lenne átgyúrni.

Ez miben jobb, mintha simán szerializálnám a struktúrát, mint ahogy most teszem? Ez még ráadásul human readable is, ellentétben az XML-lel. Vagy most faszságot kérdeztem?
Nem kérdeztél faszságot. Akkor van igazán értelme hierarchikus adatbázisba rakni, ha utána olyan jellegű lekérdezéseket akarsz végrehajtani rajta (mondjuk XPath nyelven), hogy kéred azokat a hierarchiában akárhol található, "dohos" állapotú csomópontokat, amelyeknek a "láda" típusú közvetlen gyerekcsomópontjai közül a második tartalmaz legalább egy piros labdát valahol a részfájában.

Igen, pont az lenne az értelme az egésznek, hogy ilyen kereséseket tudjak viszonylag értelmesen definiálni és végrehajtani.
Ahogy néztem (nyilván nagyon felületesen), ezek az ORM rendszerek elég nyakatekert módon reprezentálják át az objektumokat táblákká. Nem tudom, mennyire lesz használható bármelyik szóba jöhető.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2011-04-11, 11:21:37
Hali!

Ti milyen megoldást javasolnátok az alábbi problémára?:

Adott 3+ gép, mind egy-egy projektorra kötve. Adott egy központi gép, ami ezekkel hálózatban van.
Cél: a központi gépről előre beprogramozott ütem szerint vezérelni a projektoros gépeket (cserélni a ppt prezit, léptetni a diákat, vagy video-t betenni).

Én arra gondoltam, hogy összedobok hozzá egy kis kliens-szerver rendszert, aztán a szerver parancsokat küld a klienseknek, azok meg OLE kapcsolaton keresztül vezérlik a ppt bemutatót, a videókat meg mondjuk mPlayer-rel.
De hátha tudtok valami jobb megoldást v. esetleg kész rendszert erre.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-04-11, 22:51:20
Ugyanazt mutatja a három vetítős gép? Ha igen, akkor távoli asztal / távsegítség vagy valami ilyesmi nem elég?

Sőt, egyáltalán az állandó távvezérlésre szükség van? Buta ötlet: nem elég az, hogy az egész hóbelevanc egyetlen ppt legyen? Több ppt összefűzhető, meg videó dia is rakható közéjük. Az meg beállítható, hogy valamekkora időzítéssel automatikusan léptessen, és a végén kezdje újra.  Ennél többre van szükséged?

Egyébként a "távirányításhoz" *nix gépeken ssh, Windowson PowerShell használható.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2011-04-12, 11:54:03
Nem ugyanaz lesz minden kivetítőn. Pl. egyiken megy az előadó diája, másik kettőn meg az előadó neve és/vagy egyéb fontos infók mennek.
A fix időzítés azért nem jó, mert valamennyire rugalmas a műsor. Azaz lehet, hogy az előadó 20 percesre tervezi az előadást, de lehet belőle 15 és 25 perc is. Összefűzésen mi is gondolkodtunk, csakhogy ha valami változás van (pl két előadást megcserélünk) akkor szerkeszthetnénk mindent át, arra meg on-the-fly nincs idő.
Video diákat meg eddig mindig vagy hang nélkül vagy túl lassan játszotta le a gép. Megoldható, hogy normálisan lejátszon ppt egy 2-3 perces klipet?

Edit: Amúgy a powerpointot remekül tudom irányítani Delphi programból, egyelőre a kliens-szerver kommunikációval kínlódok, mert sehogy sem sikerül összehozni normálisra. Pedig csak annyi kellene, hogy egyszerű parancsokat tudjak küldeni és fogadni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2011-04-14, 13:34:24
No, nagyjából megoldottam a problémát. Most már csak azt nem tudom, melyik lenne a jobb megoldás:

A: A projektoros gépek vannak "szerver" módban, figyelnek egy portot és az irányító gépről kapcsolódunk rájuk.
B: A fő (vezérlő) gép a szerver és a projektoros gépek kapcsolódnak rá.

Az volna a lényeg, hogy a rendezvény alatt csak a fő géphez kelljen nyúlni fizikailag, a többi géphez ne, tehát mindent központilag irányítanánk.

Hibatűrés szempontjából szerintem az A jobb, de hátha tudtok mondani valami okosat...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: teraflare on 2011-04-14, 18:15:50
Nekem a B jobban tetszik. Hisz a központi gép a fő irányító. A többiek mind csak hozzá csatlakoznak és várják a végrehajtandó utasítást amit kiszolgálhatnak.
Viszont ha lehal a központi gép akkor mind a 3-al újra kell csatlakozni ekkor. Míg az A-nál csak a központival vissza kell csatlakozni a leállt gépre (meg ott újraindítani a figyelést).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Makos on 2011-04-14, 20:27:13
Nekem meg az A tetszik jobban. Stabilabb az egész úgy szerintem, ha mindegyik egy-egy szerver.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-04-15, 00:53:02
Még egyszer mondom, hogy lehet távolról parancssori utasításokat kiadni (ssh / powershell), akár programból vezérelten is. Mielőtt elkezdesz TCP/IP felett saját alkalmazás szintű protokollt írni.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2011-04-15, 13:30:07
Dunsztom nincs, hogy lehet Delphiből Powershell-t kezelni.
Sosem dolgoztam még Powershell-el és Delphinél egyebet se tudok használni, mert a C++ tudásom elég halovány.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2011-07-26, 18:34:01
Felteszem a kérdést .Hátha ...  :borul:
Van valakinek infója, tapasztalata ,hogy kell kinéznie egy nagy terhelésű ,elosztott ,HA webes rendszernek : konkrétan egy nemzetközi blogolós oldalnak?Gyakornoki helyen kaptunk egy csoportos házit hogy jövő hétre tervezzünk meg egyet papíron ,hogy hogyan csinálnánk ,kulcsszavak (replikáció ,load balance,memcache stb. ) De az is sokat segítene ha találnék róla egy tanulmányt ,hogy csinálják ezeket a nagyok(FB,Youtube ,Amazon,stb.)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-07-26, 23:45:39
Quote from: Puru² on 2011-07-26, 18:34:01
De az is sokat segítene ha találnék róla egy tanulmányt ,hogy csinálják ezeket a nagyok(FB,Youtube ,Amazon,stb.)
http://highscalability.com/
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2011-07-27, 12:55:05
Hogy érdemes kezelni C#-ban számítógép soros analóg bemenetén kapott analóg zenei adatot? Nem csináltam még ilyesmit. Folyamatosan lehet beolvasni? Frekvenciaanalízist is kell majd végezni rajta.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-07-27, 16:20:58
Most soros, vagy analóg? A kettő tök más.
Egyáltalán milyen analóg bemenet van egy számítógépen? A hangkártya line in bemenetére gondolsz? Mert amögött értelemszerűen egy digitalizáló van, aminél megint nem mindegy, hogy milyen paraméterekkel digitalizálsz.

A konkrét feladat ismerete nélkül nehéz értelmeset mondani.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2011-07-27, 22:04:29
Quote from: Próféta on 2011-07-26, 23:45:39
Quote from: Puru² on 2011-07-26, 18:34:01
De az is sokat segítene ha találnék róla egy tanulmányt ,hogy csinálják ezeket a nagyok(FB,Youtube ,Amazon,stb.)
http://highscalability.com/
Wow ez igazi aranybánya  :merci:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2011-07-29, 08:34:55
... Lehetséges div és css segitségével olyan többcellás táblázatot létrehozni, ahol egy-egy cella szélessége minimum x %, de ha nagyobb a tartalom akkor növekszik a cella mérete (nem folyik ki a tartalom), és van egy középső cella ami kitölti a teljes maradék helyet, és most a slusszpoén: IE7 alatt is megy? Tehát nincs display:table / inline-box; se box-sizing, csak floatok. Bónuszként: Javascriptes átméretezgetés se játszik.

Ilyen, hogy
cella1 | cella2 | cella max szélesség | cella 4
és ebből több sor

cella 1-2-4 százalékos, cella max meg kitölti a teljes helyet.
Olyat próbáltam hogy cella 1-2 min-width-et kap, de akkor csak egy-egy sor cellája növekszik meg, az egész oszlopé nem.

Nem létszükség, csak kiváncsi vagyok ötletekre, hogy lehetséges-e.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-08-09, 14:02:13
Helpu!

Szeretnék egy webalkalmazás-féleséget csinálni, ami a júzernek kirak egy csúszkát meg egy pár rádiógombot. A submit gombra elküldené a beállított értékeket a szervernek, ahol azok eltárolódnának egy fájlban.

A jelenlévő webfejlesztőknek nyilván triviális a feladat, de én azt sem tudom, milyen technológiákban gondolkodjak.
Belső használatra lesz, így még szépnek sem kell lennie.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2011-08-09, 16:05:51
Csúszkát pl. jQuery-vel:
http://www.egrappler.com/jquery-slidertrackbar-smart-slider/

A fileban tárolást meg simán PHP-vel. Milyen adaokat kellene konkrétan tárolnia ill. egy fileba kellene mennie mindennek, vagy userenként külön fájlba?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-08-09, 16:26:33
Elég egy fájlba, pl. egy CSV-be, annyit, hogy mennyit állított be az user és melyik gépről.

szerk: közben megoldottam valahogy.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2011-09-03, 01:52:04
MySql kérdés.
Van egy oszlopom ami számokat, betűket, vagy kötőjelet tartalmaz (csak 1 karakter).
Ezt ha abc sorrendbe rendezem, a kötőjel lesz az első (mert előbbre van az ascii táblában mint a betűk/számok). Hogyan oldom meg, hogy a kötőjel a végére kerüljön?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-09-03, 02:01:17
Szerintem ilyesmivel próbálkozz, hogy
ORDERBY (tábla.hülyeoszlop = '-'), tábla.hülyeoszlop
De lehet hogy negálni kell a zárójeles részt, nem tudom. A lényeg, hogy elsősorban aszerint az igaz/hamis érték szerint rendezzen, hogy a hülyeoszlop tartalma egy kötőjel-e, és utána csak a "holtversenyek" feloldását (tehát az összes kötőjeltől különböző rendezését) csinálja az eredeti érték szerint.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2011-09-03, 03:29:45
Tökéletes, köszi.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2011-09-20, 01:01:47
if( $(window).height() > $('#wrapper').outerHeight(true) + $('#footer').outerHeight(true) )
$('#wrapper').height( $(window).height() - $('#footer').outerHeight(true) - 1 );
$(window).resize(function() {
if( $(window).height() > $('#wrapper').outerHeight(true) + $('#footer').outerHeight(true) )
$('#wrapper').height( $(window).height() - $('#footer').outerHeight(true) - 1 );
});


Ez mi a búbánat akarna lenni? Beszúr a #wrapper-nek egy inline magasságot, ami miatt a footer (egy külön div a wrapper után) becsúszik a wrapper mögé. Jól látom hogy valaki jqueryben próbálta megoldani azt, hogy clear:both;?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-09-20, 01:29:43
Bár se jQuery-hez, se CSS-hez nem értek egy fikarcnyit se, de így első blikkre mintha a wrapper elemmel ki akarná tölteni a footeren felül szabadon maradó függőleges helyet. Talán van valami hasznos a wrapperban, és annak a magasságát addig tágítja, amíg lehet.

Rosszul gondolnám?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Cheesy on 2011-10-02, 22:42:11
Van-e itt olyan aki profi PHP-ből? Lenne egy ajánlatom.
Részletek PM-ben.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2011-10-27, 20:32:33
R -ben valaki szokott?  egy 10abc típus oszlop értéket csvben 10 és abc-re kéne szétdobni, vagy tippek?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-10-27, 20:36:01
Ezt most írd le még egyszer, de magyarul és érthetően.

szerk: egy példa segítene: mi van, és mi legyen belőle.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2011-10-27, 20:43:04
ok, egy táblázat egyik oszlopa (ID) 10a, 10b, 10c stb..ezt kéne szétszedni két oszlopba egyik oszlop 10 10 10 mellett a, b, c
R-ben csinálnak valamit ahhoz a részéhez, 37 darab táblázat van abból fűz össze listát. de ha nem R kód hanem egyszerűen mással akkor lehet h előtte átalakítható?

nem saját adatom,  barátnőm csinálná,  én meg másban se programbuheráltam sok ideje R-ben meg kb 3 éve voltam bent utoljára, akkor se sokra
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-10-27, 20:57:54
A 10 az mindig 10?

Ha igen, akkor egyszerű, és ha nem kötelező R-ben (tehát az R-ben történő "éles" feldolgozás előtt akarod masszírozni a csv-ben lévő adatokat), akkor még egyszerűbb.

A perl nekem jobban kézreáll, egyszerűbb összerambózni vele, amit kérsz:
perl -pe 'if($.==1){s/ID([,;])/ID$1IDx$1/}s/([,;]?)10([abc])([;,])/${1}10$3$2$3/' adat.csv > adat2.csv

szerk:
- értelemszerűen parancssorból futtatandó
- a valódi és kívánt fájlneveket helyettesítsd be
- ha windows alatt dolgozol, a határoló egyszeres idézőjeleket cseréld le "-re
- ----"----, http://www.activestate.com/activeperl/downloads - a megfelelőt töltsd le és telepítsd next-next-finish módszerrel.
- feltételezi, hogy az első sorban vannak az oszlopcímek, és hogy van köztük egy ID mező. Az új mező (ami az a,b,c betűket tartalmazza) az IDx címet kapja, de ez átírható bármire.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Nakedape on 2011-10-27, 21:07:43
nem sajnos a 10 sem mindig 10 de mindig numerikus  utána karakterek. R kód előny lenne,mert ahhoz használják, meg nem is én csinálom.  mondjuk kéne google translate programnyelvekre c-ben vagy tán mathematicában is csak ki tudnám nyomozni. és igen látom hoyg elvileg nem egy nagy meta probléma valami olyan R funkció kéne,  hogy a numerikus rész után pl levágja és új oszlop. de dolgozunk rajta. csak arra gondoltam, hátha valaki rávágja, sokat ne  szenvedj vele
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-10-27, 21:10:49
Quote from: Nakedape on 2011-10-27, 21:07:43
nem sajnos a 10 sem mindig 10 de mindig numerikus  utána karakterek.

perl -pe 'if($.==1){s/ID([,;])/ID$1IDx$1/}s/([,;]?)(\d+)([abc])([;,])/$1$2$4$3$4/' adat.csv > adat2.csv

szerk: ha ragaszkodsz az R-hez:


# beolvasod a csv-t
data = read.csv('fos.csv', sep=";")

# létrehozol két új oszlopot
data$ID.char = sub("^\\d+","",data$ID, perl=T)
data$ID.num = sub("\\D+$","",data$ID, perl=T)

# ízlés szerint törlöd az eredeti ID oszlopot, átrendezed az adattáblát stb.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-10-29, 01:33:56
Nyilván ezer sebből vérzik, de azért jópofa, és biztosan tetszeni fog kikuchiyonak (bocs ha már megkaptad 30 helyről):
Is Perl Better Than a Randomly Generated Programming Language? (http://developers.slashdot.org/story/11/10/27/213231/is-perl-better-than-a-randomly-generated-programming-language)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-10-29, 14:23:01
Quote from: Próféta on 2011-10-29, 01:33:56
Nyilván ezer sebből vérzik, de azért jópofa, és biztosan tetszeni fog kikuchiyonak (bocs ha már megkaptad 30 helyről):
Is Perl Better Than a Randomly Generated Programming Language? (http://developers.slashdot.org/story/11/10/27/213231/is-perl-better-than-a-randomly-generated-programming-language)

Ha poénnak szánták volna, akkor vicces lenne, de sajnos komolyan gondolták.

Eleve a nullhipotézis ("Novices programming a computer for the first time will have equal accuracy rates, regardless of the programming language used.") hülyeség: a programozás olyan, a hétköznapitól lényegesen eltérő gondolkodásmódot igényel, amit az emberek erősen különböző mértékben (és erősen különböző tempóban) képesek elsajátítani, és ez a nyelvtől független dolog. Lásd: http://www.eis.mdx.ac.uk/research/PhDArea/saeed/
Ha erre nem korrigáltak, az egész study alapját veszti (főleg ilyen kis mintaszámnál).

Aztán a közölt példakódok arra engednek következtetni, hogy nem pártatlan módon állították össze a referencia-kódrészleteket, amelyeket az állítólag kezdő programozó résztvevőknek megmutattak. A közölt Perl példakódban egy csomó olyan dolog van, ami legkésőbb a Perl 5 megjelenése óta nem szokásos [spoiler]nincs use strict, & a szubrutinhívás előtt, $a és $b változónevek, (meg eleve egybetűs változónevek), $_[2] és társai, mint argumentum-hozzárendelés...[/spoiler]
Ha eleve egy torz, szándékosan rossz megoldásokat tartalmazó mintát adnak a résztvevőknek, akkor miért csodálkoznak, hogy az alapján rossz lesz az eredmény?

A tesztelési eljárásuk sem tetszik, meg eleve az alapötlet sem. A Perl egy olyan nyelv, amit -- még az elején -- úgy terveztek, hogy aki csuklóból keni a C-t és a sh-t, az azonnal tudjon benne dolgozni. Aztán ezt az örökséget kellett workaround-olni, amikor a nyelvet később fejleszteni akarták. Az a tulajdonság, hogy a szubrutinoknak nincsenek nevesített paramétereik, szintén ebből az sh-leszármazásból ered.

Ha még meg is állna a következtetésük, annak sem lenne semmi relevanciája a szóban forgó nyelvek használhatóságára, esztétikájára vagy bármilyen metrikával mért bármilyen tulajdonságára vonatkozóan.

Összefoglalva: rossz a kiindulás, rossz a metodológia, a statisztikai eredményekből rossz következtetéseket von le és azokból hatalmas bakugrásokkal jut el az ideológiai végkövetkeztetésig, amit ráadásul láthatóan előre kitűzött magának és arra építette az egész cikket.

[spoiler]8/10, was trolled hard[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2011-10-29, 17:16:13
Quote from: kikuchiyo on 2011-10-29, 14:23:01
Quote from: Próféta on 2011-10-29, 01:33:56
Nyilván ezer sebből vérzik
[spoiler]8/10, was trolled hard[/spoiler]
Mondom, hogy komolytalan :) De nagy hahota volt a szobában a /. cím hallatán.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2011-10-30, 09:47:48
http://criso.github.com/ChuckNorrisException/ (http://criso.github.com/ChuckNorrisException/)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2011-10-30, 11:54:13
Ilyet én is tudok:

https://github.com/fpletz/kernelroll
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2012-01-06, 17:25:19
Webfejlesztős (CSS, esetleg PHP?) problémám van: hogy tudnám legegyszerűbben elérni, hogy ne csússzanak egymásra ezek a posztok Joomlában?

http://sutorisport.hu/index.php/rossignol (http://sutorisport.hu/index.php/rossignol)

Van rá valami egyszerű kód? A tag-ek alapján megjelenő posztok sajnos nem a Joomla alap php kódjában vannak (mert a menük jól jelenítik meg őket), hanem a tag-eket kezelő komponensében, és a php-hez alig értek. De remélem, hogy CSS-sel is rávehető valahogy, hogy a képet egy teljes oldal szélességű dobozként kezelje és csak azután kezdődjön a következő poszt.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2012-01-06, 18:38:29
1 oszlopos táblázat? minden sora 1 elem lenne az összes adatával és képével

(nem lehet ilyen egyszerű, nem?  :zomg:)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-01-06, 19:14:41
Nekem is ez volt az első gondolatom
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2012-01-06, 23:31:11
Nekem az volt az első gondolatom, hogy ezek a kis divek töltsék ki a hasáb teljes szélességét valami CSS mágia révén, mert akkor egymás alá fognak pakolódni. De én nem értek a webfejlesztéshez en bloc.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Ramiz on 2012-01-08, 18:23:47
Nem, ez egy tartalomkezelő rendszer, a posztok egy adatbázisban vannak eltárolva, a megjelenítést pedig a css stílusok segítségével végzi egy PHP motor. Csak nem találom, hogy mi tudná kitölteni az oldalszélességet.

Na mindegy, megoldom posztonkénti táblázatot használva, azt nem darabolja fel a motor.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-01-10, 12:03:18
Itt jobb helyen lesz

Quote from: Darkstar on 2012-01-09, 15:36:34
Kéne valami VBA gyorstalpaló, amin kb 1 hét alatt át tudom rágni magam. Valakinek van javaslata? :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2012-01-10, 12:45:08
Quote from: Darkstar on 2012-01-10, 12:03:18
Itt jobb helyen lesz

Quote from: Darkstar on 2012-01-09, 15:36:34
Kéne valami VBA gyorstalpaló, amin kb 1 hét alatt át tudom rágni magam. Valakinek van javaslata? :D
Lynda.com-on (http://www.lynda.com/) találsz kismillió videó oktatóanyagot ,sajnos fizetős subscription kell hozzá de a legtöbb cuccuk fent van torrenten is .
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: TurboK on 2012-01-10, 16:28:21
Quote from: Ramiz on 2012-01-06, 17:25:19
Webfejlesztős (CSS, esetleg PHP?) problémám van: hogy tudnám legegyszerűbben elérni, hogy ne csússzanak egymásra ezek a posztok Joomlában?

http://sutorisport.hu/index.php/rossignol (http://sutorisport.hu/index.php/rossignol)

Van rá valami egyszerű kód? A tag-ek alapján megjelenő posztok sajnos nem a Joomla alap php kódjában vannak (mert a menük jól jelenítik meg őket), hanem a tag-eket kezelő komponensében, és a php-hez alig értek. De remélem, hogy CSS-sel is rávehető valahogy, hogy a képet egy teljes oldal szélességű dobozként kezelje és csak azután kezdődjön a következő poszt.
template.css 573-ik sorában ehhez a szabályhoz hogy: "table.blog span.article_separator {}" tegyél bele egy olyat hogy "clear: left;".
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2012-02-18, 14:08:19
[spoiler=incoming noob C# question]lehetséges az hogy ha fejlesztek valami progit visual studio 2010 proff-ban win7-en, és ugye "fut and shit" + kreál nekem egy exe-t is, az fusson másnak is win XP-n mindenféle extra telepítgetés nélkül?[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-02-18, 14:42:08
noob válasz: szerintem nem, a .NET keretrendszert telepíteni kell előtte.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Cheesy on 2012-02-18, 15:17:12
Quote from: Darkstar on 2012-01-10, 12:03:18
Itt jobb helyen lesz

Quote from: Darkstar on 2012-01-09, 15:36:34
Kéne valami VBA gyorstalpaló, amin kb 1 hét alatt át tudom rágni magam. Valakinek van javaslata? :D
Én most ezt szereztem be a magról. For.Dummies.Excel.2007.VBA.Programming.For.Dummies.2007
Hogy egyáltalán tudjam mire gondolt Próféta san itten ni.

[spoiler]
Quote from: Próféta on 2012-02-17, 22:28:46
Quote from: Cheesy on 2012-02-17, 11:35:52
Mi az a programnyelv (vagy milyen programmal lehet hasonlót alkotni), amivel formokat gyárthatok, text kimenettel.
Majdnem mindennel. :)
Néhány ötlet:
- Excel? (+VBA) Meglepődnél, mi mindenre képes. Combo box is van.
- Visual Studiot (azon belül ízlés szerint Basic vagy C# vagy akármi), és aztán Windows Forms meg adatkötés. Outputhoz meg fix háttérképen fix pozíciókra írsz.
- HTML űrlap + js kód a számolásra
- Access űrlap, aztán jelentésgenerálás? (InfoPath-ot nem ismerem, de ha te mondod...)
- ...

Ha adatbázis jelleggel kéne működnie, akkor kettes vagy négyes opció.
[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Cheesy on 2012-02-18, 15:38:06
Rájöttem, hogy hülye voltam, hogy eddig erre nem jöttem rá, a "macro" szó első olvasatakor. Rosszul mértem fel a problémát ami előttem áll, nem ismétlődő folyamatokat kell automatizálnom, amihez makrókat kell készítenem. Nem is akarok automatice formokat kitölteni.
Amit én szerettem volna, hogy az excelt, ismerve a szükséges táblázatban a képletek egymáshoz való viszonyát, egy standalone programot készíteni, ami lényegében szöveg- valamint számbeviteli mezőkből áll, elvégzi a számításokat, kerekítéseket (kb. a matematikai alapműveletek szerepelnek benne), a végén akár extrával (boxokba lehet képeket elhelyezni az ingatlanról) és mindezt rendezett formában papírra kinyomtatni belőle.
Ez így már komplikáltabb nemde? Ehhez ha jól sejtem Visual Basic (Visual Studio) ismeretekre lenne szükségem?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-02-18, 17:32:09
Ez a feladat is megoldható tetszőleges programnyelven, a kérdés inkább az, hogy te melyiket ismered vagy melyiket tudod/akarod a legkevesebb erőfeszítéssel megtanulni a szükséges szinten, továbbá az, hogy milyen platformon kell futnia, mekkora a felhasználók halmaza és mennyi intelligenciát lehet tőlük elvárni, milyen sokáig kell supportot biztosítanod a programhoz, mennyire gondolkozol az esetleges továbbfejlesztésben stb.

Én annak idején Perlben csináltam egy hasonló rendszert: papíros kérdőívekről lehetett adatokat bevinni, hozzájuk mérési adatokat csatolni, és a belőlük levezetett statisztikákat és egyebeket PDF-be kinyomtatni. De ezt sem megírni, sem supportálni nem volt triviális.
Szerintem te talán a HTML-alapú, böngészőből elérhető kérdőívekkel járnál a legjobban (akár valamilyen template-es cucc közbeiktatásával).
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2012-03-04, 20:40:08
ha van itten C# guru, őhozzá intézném a kérdésem:

csináltam egy windows form-ot, úgy is működik ahogy kell... kivéve 1 dolgot

a lényege: van 2 fül, az egyikkel adatokat viszek be (tökéletesen működik), a másik fülön kilistázom azokat és még kereshetek is benne név és irányítószám alapján. még ezek is működnek de a keresésben a kis hiba, mivel minden gomb lenyomásnál a listának frissülnie kell a 2 megadott cucc (név, irányítószám) alapján. és nekem valamiért csúszik az egész 1 gombnyomással.

mit értek ezalatt? egyszerű példa:
van 3 személy: Béla, Dani, Géza
ha lenyomom a "b" betűt a név mezőben a lenti listába Bélának kéne megjelennie, de nem jelenik meg csak ha lenyomok bármilyen más gombot. a lista szűrése 1 gombnyomást késik és nem értem miért. előre is köszönök mindennemű segítséget

ím a kód:
[spoiler]        private void textBox_KeyPress_kereses(object sender, KeyPressEventArgs e)
        {
            string eredmeny = "";
            listBox1.Items.Clear();    // -------- listbox ürítése minden leütésnél
            if(textBox_cimzettB.Text != "" || textBox_iranyitoszamB.Text != "")
            {
                for (int i = 0; i < megrendelesszam; i++)
                {
                    // -------- szűrés név és irányítószám alapján, irányítószámok elé csaptam :: -t hogy egyszerűen meg lehessen találni
                    if (feladok[i].kiir_kereses().StartsWith(textBox_cimzettB.Text, System.StringComparison.OrdinalIgnoreCase) && feladok[i].kiir_kereses().Contains("::" + textBox_iranyitoszamB.Text))
                    {
                        eredmeny = feladok[i].kiir();
                        listBox1.Items.Add(eredmeny);
                    }
                }
            }
        }
[/spoiler]
szóval ez a kód mindent jól csinál csak késik 1 gombnyomást az egész és kurva idegesítő, már google fu-ztam is rá de hiába mivel ez nem konkrét hiba hanem rossz a parancs sztem vagy nemtom. már azon gondolkoztam hogy szimulálok egy ENTER leütést minden lenyomás végére  :Kiraly:

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2012-03-04, 20:48:01
Hmmm valamiért nálam nem jelenik meg rendesen a C# kód.Amúgy én nyomnék neki egy debug-ot ,kérdéses részekre raknék  breakpoint-ot és lépésenként végignéznem mi is történik valójában.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2012-03-04, 20:51:48
Nem lehet, hogy egyszerűen csak a "KeyPress" esemény után kerül be a textboxba az éppen leütött billentyű?
Magyarul szimplán valamelyik másik eseményt kéne használnod, amelyik a textbox update után tüzel?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-03-04, 20:53:03
Ugyan nem C-nemegyenlővel és nem windows forms-szal, de szívtam már hasonlóval.

Nem az a baj, hogy a keypress event előbb jut el a függvényedhez, mint a textboxhoz?
Ha így van, akkor a függvényedben amikor a textBox_faszom.Text-et kérdezed, akkor az aktuális billentyűlenyomás előtti állapotnak megfelelő szöveget kapod meg, mert a textbox még nem is tudja, hogy beleírtak valamit. Ezért a látszólagos egy gombnyomás késés.

szerk: ninja'd.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2012-03-04, 21:00:21
jah, hülye voltam mert debug alatt kijön ez a szarság és nem debuggoltam  :facepalm: hát 6 óra kódolás után már kicsit fáradt vagyok, viszont én nem ismerem annyira ezeket az eventeket, mivel tudnám ezt elérni hogy miután megvan a textbox.Text-ben a cucc azután szóljon a függvényemnek?

ed.: jó nemszóltam, látok itt egy TextChanged event-et, nem csak fáradt, vak is vagyok...

ed.2.: nu működik :) nehéz szülés volt :D köszönöm a segítséget
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-03-04, 21:19:05
Még a Validating ill. Validated eventeket nézd meg, azok elvileg pont arra vannak, hogy a szövegdoboz tartalmának módosulásakor csinálj valamit.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Moha on 2012-04-03, 10:56:33
Hali!

Szeretnék megtanulni valamilyen PHP framework-öt. Ki az, aki valamennyire otthon van ezekben? Melyikkel érdemes foglalkozni? Én eddig a CodeIgnitert tanulmányoztam alaposabban és eddig tetszik. A cél összetettebb web alkalmazások fejlesztése lenne a jövőben.
Aki már dolgozott CodeIgniter-rel vagy más framework-öt ismer alaposabban, érdekelne pro és kontra, minden véleményt szívesen veszek.

Köszi,
Moha
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2012-04-14, 14:29:31
[spoiler=rant]köcsög szellemhibák, sakk-játékot csinálok, már a vége fele vagyok és tesztelem. egyik lépésnél nem akarja meglépni, jó mondom, kipingálom breakpointokkal a sakkbanvan_e függvényem >> debug >> meglépem ugyan azokat a lépéseket újra és megteszi a lépést... aztán breakpointok nélkül is meglépi mindig mostantól, eddig miért nem tette?  :zomg:[/spoiler]
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-04-14, 15:01:55
Csak tipp, de minden változót rendesen kezelsz, nem volt valami konfliktus vagy nem tisztán definiált / inicializált köztük?
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2012-04-14, 15:11:11
újra és újra átnézem őket és most előbukkant egy furcsaság, de nemtom hol lehet a hiba  :3x3: királyra kattintva megbolondul de a királyt nem kezelem külön szóval nem értem a dolgot, de még kutakodom.... csak túl nagy már a kód :(
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2012-04-14, 15:35:45
Quote from: chilip on 2012-04-14, 14:29:31
[spoiler=rant]köcsög szellemhibák, sakk-játékot csinálok, már a vége fele vagyok és tesztelem. egyik lépésnél nem akarja meglépni, jó mondom, kipingálom breakpointokkal a sakkbanvan_e függvényem >> debug >> meglépem ugyan azokat a lépéseket újra és megteszi a lépést... aztán breakpointok nélkül is meglépi mindig mostantól, eddig miért nem tette?  :zomg:[/spoiler]
Csak nem VEP beadandó ?  :P
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Puru² on 2012-04-14, 15:44:40
Quote from: Moha on 2012-04-03, 10:56:33
Hali!

Szeretnék megtanulni valamilyen PHP framework-öt. Ki az, aki valamennyire otthon van ezekben? Melyikkel érdemes foglalkozni? Én eddig a CodeIgnitert tanulmányoztam alaposabban és eddig tetszik. A cél összetettebb web alkalmazások fejlesztése lenne a jövőben.
Aki már dolgozott CodeIgniter-rel vagy más framework-öt ismer alaposabban, érdekelne pro és kontra, minden véleményt szívesen veszek.

Köszi,
Moha
Én is azt használom otthoni projektekben illetve a munkahelyemen is ,eddig maximálisan meg vagyok vele elégedve ,SZVSZ abszolút jó választás lesz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: chilip on 2012-04-14, 21:17:26
Quote from: Puru² on 2012-04-14, 15:35:45
Quote from: chilip on 2012-04-14, 14:29:31
[spoiler=rant]köcsög szellemhibák, sakk-játékot csinálok, már a vége fele vagyok és tesztelem. egyik lépésnél nem akarja meglépni, jó mondom, kipingálom breakpointokkal a sakkbanvan_e függvényem >> debug >> meglépem ugyan azokat a lépéseket újra és megteszi a lépést... aztán breakpointok nélkül is meglépi mindig mostantól, eddig miért nem tette?  :zomg:[/spoiler]
Csak nem VEP beadandó ?  :P

azaz

sakk játék:
játék időre (3 perces körök) vagy anélkül
gagyi AI-val, aki random lépked vagy 2 játékos

már minden kécc (szerencsére a királyos bug-ot megtaláltam), csak pár kissebb bug meg a gagyi AI hiányzik :P de arra is van tervem már, csak le kell kódolni. remélem holnap kécc lesz, mára hagyom már.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-04-21, 22:44:09
Mivel nincs ötletem hova (és lehet, h matlabos kérdés lesz belőle) ezért ide:

A következőt próbálom megoldani matlabban:
Generálok egy 50000 elemű mintát, amiben Életkor - (0,1), azaz bedölt hiteles (1) vagy sem párok vannak.

Életkorokban van 6 "választóvonal", 18-78ig 12 évenként léptetve. Egy kategória pl a 18-30. Minden életkor kategóriához van rendelve egy p, amilyen arányban a korosztályban jellemző a csőd. Ez alapján a minta szépen ki is generálódik, ott nincs hiba.

Ezután ez a minta átkerül egy másik functionhöz, aminek  még 6 bemeneti változója (azaz egy 6-elemű vektor) van, amik életkorok.

A második függvény a p-ket már úgy számolja vissza, hogy megnézi, hogy egy kategóriában összesen hányan vannak és ebből hány csődös.

Ezután lenne egy maximum likelihood becslés.

Első kérdés, hogy mivel minden életkorra más a p valószinűség, felírható-e a teljes mintára egy likelihood

L = p1^x1*(1-p1)^(n1-x1)*p2^x2*(1-p2)^(n2-p2)...

ahol p a kategóriához tartozó csődvalószínűség, x a kategóriában lévő csődösök száma és n a kategóriában lévő összes ember? Szerintem igen.

Mivel 50000 körüli mintánál ez a likelihood szeret nullához közeledni (~(0,2^2000)*(0,8^8000)*...), ezért loglikelihoodot használok helyette.

A végcél az lenne, hogy ez a második függvény meg van hívva egy optimalizáló fv-el (esetleg fminsearch) és egy kiinduló "életkor-határokat" tartalmazó vektorral (ami NEM ugyanaz, mint amivel a minta lett generálva), utána pedig maximum likelihood becsléssel "megkeresi", hogy a minta generálásakor hol is lehettek az eredeti határok.

Ez manuálisan már megy, akkor kapom a legmagasabb értéket (-1*loglikelihood), ha az általam ismert eredeti életkorhatárokkal hívom meg (18,30,42...)

Az optimalizálós rész viszont még nem akar működni, hegesztek kicsit még és ha nem megy, akkor jön a második kérdés. :D

Remélem érthetően sikerült leírni.  :D

Ed.: Hm.
Fut az optimalizáció, de szerintem ez így eltartana pár hónapig, mire eredményre vezet, a Nelder-Mead algoritmus egy pöttyet lassú
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2012-04-22, 00:08:58
Quote from: Darkstar on 2012-04-21, 22:44:09
Első kérdés, hogy mivel minden életkorra más a p valószinűség, felírható-e a teljes mintára egy likelihood

L = p1^x1*(1-p1)^(n1-x1)*p2^x2*(1-p2)^(n2-p2)...

ahol p a kategóriához tartozó csődvalószínűség, x a kategóriában lévő csődösök száma és n a kategóriában lévő összes ember? Szerintem igen.
Szerintem is. Már ha minden emberke randomja egymástól függetlenül volt generálva, nincsenek összefüggések. Mert akkor az együttes likelihood a mintánkénti likelihoodok szorzata, tehát sok pi meg (1-pj) szorzata, vagyis pont az, amit számolsz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-04-22, 00:12:10
Függetlenek, én is azért gondolom, hogy jó így is a likelihood.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-04-22, 00:21:04
Elnézést, ha hülyeséget mondok, de amit csinálsz az életkori kategóriánkénti fix valószínűségekkel, az tulajdonképpen a valódi csődkockázatnak, mint az életkor folytonos függvényének közelítése, nem?

És akkor az életkor szerint integrálni kéne valahogy a likelihood-függvény felállításakor, sőt, még a valós populáció koreloszlását is figyelembe kéne venni valamilyen bayesi mágiával.

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-04-22, 00:30:30
A fix valószínűségek csak mintageneráláshoz kellenek, mert egyrészt a valós minta viszonylag kicsi, üzleti titok így nem lehet csatolni a szakdogához és ráadásul torz, olyan szempontból, hogy empirikus adatok már csak a "megszűrt" emberektől vannak, azaz azokról, akiket eleve elutasítottak, nem tudunk semmit.

Az egész mögött meghúzódó gondolat, hogy egy olyan "folytonos" adatot, mint az életkort, hogy lehet úgy partícionálni, hogy utána az arra alapuló scorecard (azaz egy sima regresszió) lehetőleg pontos becslést adjon a csődvalószínűségre (természetesen nem csak az életkor alapján).

Innen jött az a gondolat, hogy úgy érdemes elhelyezni a határokat, hogy a különböző csoportokban a kockázat szignifikánsan eltérjen.

Elvileg erre hivatott a második függvény, azért az nem fix, hanem csak kiinduló határokat kap, amiknek a módosítgatásával, esetleg mergelésével kialakít egy partícionálást.

Mivel ez csak egy bsc szarakodás, nem kell túllihegni mindenféle felesleges varázslással. Szerintem is sántít kicsit pár helyen, de a konzulensem mondta, hogy ne szarakodjak vele túl sokat, mert nem kell. :D

Aztán persze lehet, hogy félreértettem a kérdésedet.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2012-04-22, 00:34:48
Quote from: kikuchiyo on 2012-04-22, 00:21:04
sőt, még a valós populáció koreloszlását is figyelembe kéne venni valamilyen bayesi mágiával.
Elnézést, ha hülyeséget mondok, de miért? Ha jól értem a feladatot, az nem érdekes, hogy miért pont ezek az emberek voltak kisorsolva. Csak az érdekes, hogy ha már megvannak az embereink életkorokkal, akkor közülük miért pont azok csődöltek be, akik; vagyis hogy függ a csőd esélye az életkortól. Ahol életkorra vetítve sűrűbben vannak az emberek, ott legfeljebb pontosabb lesz a becslés.

Ami meg az életkor szerinti integrálást illeti, nem valami fizikás szóródásos feladat járt a fejedben? A csőd hatására nem változik meg az alanyok életkora (hiába öregednek kinézetre 10 évet egy hét alatt), szóval azt nem kell figyelembe venni, hogy mi van, ha nem is annyi éves, hanem egy kicsit más.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-04-22, 00:38:55
Nem értetted félre, nagyjából erre céloztam (azaz mondtam valamit homályosat, és reméltem, hogy értelmes :D).

Szóval ha igazán jó modellt akarsz, akkor az optimalizációd nem csak fix számú kategóriára működik, hanem arra is képes, hogy megmondja, hány kategória kell, hogy adott pontossággal leírd az eredeti eloszlást (azaz a particionálás finomságát is állítani tudja).
De ha tényleg kicsi a mintaszám meg torz a minta meg bsc, akkor vsz. nem érdemes belemenni. :)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-04-22, 00:41:52
Mergelni tud, de az új határok berakásával vigyázni kell, mert lazán túltanul a modell, és túlságosan mintaspecifikus lesz.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-04-22, 00:49:10
Quote from: Próféta on 2012-04-22, 00:34:48
Quote from: kikuchiyo on 2012-04-22, 00:21:04
sőt, még a valós populáció koreloszlását is figyelembe kéne venni valamilyen bayesi mágiával.
Elnézést, ha hülyeséget mondok, de miért? Ha jól értem a feladatot, az nem érdekes, hogy miért pont ezek az emberek voltak kisorsolva. Csak az érdekes, hogy ha már megvannak az embereink életkorokkal, akkor közülük miért pont azok csődöltek be, akik; vagyis hogy függ a csőd esélye az életkortól. Ahol életkorra vetítve sűrűbben vannak az emberek, ott legfeljebb pontosabb lesz a becslés.

Olyasmire gondoltam, hogy a valóságban előfordulhat, hogy mondjuk a 18-25 vagy 70-75 éves emberek közül eleve kevesebben kötnek hitelt, és ha így van, ezt már figyelembe kell venni.

Vagy mittomén. Nem gondoltam át alaposan.

QuoteAmi meg az életkor szerinti integrálást illeti, nem valami fizikás szóródásos feladat járt a fejedben? A csőd hatására nem változik meg az alanyok életkora (hiába öregednek kinézetre 10 évet egy hét alatt), szóval azt nem kell figyelembe venni, hogy mi van, ha nem is annyi éves, hanem egy kicsit más.

Valami olyasmi járt a fejemben, hogy ha a kockázati függvény p az életkor T folytonos függvénye, akkor DS néhány diszkrét elemből álló szorzatát (ill. log-nál összegét) integrállal kell helyettesíteni. De mittomén, mondom, nem gondoltam bele mélyebben.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2012-04-22, 01:08:55
Quote from: kikuchiyo on 2012-04-22, 00:49:10
Olyasmire gondoltam, hogy a valóságban előfordulhat, hogy mondjuk a 18-25 vagy 70-75 éves emberek közül eleve kevesebben kötnek hitelt, és ha így van, ezt már figyelembe kell venni.
A mintának nem a teljes lakosságot kell reprezentálnia, ezért ezt nem kell figyelembe venni. A banki, "éles" minta azért nem jó, mert ott nincs adat az elutasítottakról. Lehet, hogy 80%-uk lett volna csődös, lehet, hogy 50. De bárhogy is, az éles minta a valóságosnál jobb képet mutat a szűrtség miatt (selection bias). Mivel az életkorhatárokat meg pont a szűréshez kell behúzni, ezért egy sima egyenletes eloszlást lehet feltételezni az igénylők koránál.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2012-04-22, 01:11:14
Quote from: kikuchiyo on 2012-04-22, 00:49:10
Valami olyasmi járt a fejemben, hogy ha a kockázati függvény p az életkor T folytonos függvénye, akkor DS néhány diszkrét elemből álló szorzatát (ill. log-nál összegét) integrállal kell helyettesíteni. De mittomén, mondom, nem gondoltam bele mélyebben.
Ha jól értem, a kockázati függvény az output, inputként változatlanul csak véges sok mérés lenne. Szóval akkor se integrál lenne, hanem szumma.

Amúgy ha tényleg folytonos közelítést kéne adni, nem pedig diszkrét kategóriákat keresni, akkor én simán rádobnék a mintákra egy aluláteresztést, oszt jónapot. Azzal még lehet játszani, hogy mennyire finoman mossa össze az adatpontokat (pl. mekkora sugarú haranggörbével legyen Gaussian blur), az egyik véglet a túltanulás, a másikban lapos átlag lesz az egész.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-05-25, 23:44:38
El ne felejtsem ezt a jövő héten elküldeni a kollégáknak:

http://bit.csc.lsu.edu/~gb/csc4101/Reading/gigo-1997-04.html
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2012-05-26, 00:01:28
Quote from: kikuchiyo on 2012-05-25, 23:44:38
El ne felejtsem ezt a jövő héten elküldeni a kollégáknak:

http://bit.csc.lsu.edu/~gb/csc4101/Reading/gigo-1997-04.html
A nyelv elso emlitesekor a Nnnnoooo.jpg ugrott be.
Najo bookmarkolom, de en miota kijottem mindenhez faradt vagyok.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2012-05-26, 18:37:47
Azt nem mondjátok komolyan, hogy Adával is kell dolgoznotok?  :eek:

Quote from: kikuchiyo on 2012-05-25, 23:44:38
El ne felejtsem ezt a jövő héten elküldeni a kollégáknak:

http://bit.csc.lsu.edu/~gb/csc4101/Reading/gigo-1997-04.html
Jópofa :Kiraly:
Ez a "lerántjuk a leplet a gonosz programozási nyelvről" mintha önálló Aprils Fools műfaj lenne - van pl. C++ változata is:
http://lists.blu.org/pipermail/discuss/2000-April/006338.html
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-05-26, 20:55:44
Quote from: Próféta on 2012-05-26, 18:37:47
Azt nem mondjátok komolyan, hogy Adával is kell dolgoznotok?  :eek:

A szerződésünk értelmében nem árulhatjuk el, csak ennyit mondhatok:  :comp: :falba: :bruhuhu:

Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-06-03, 20:27:42
Doublepost:

Egy ilyen rm parancs kell nekem. (http://www.pvv.ntnu.no/~steinl/vitser/rm.html)
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Kvikveg on 2012-06-04, 22:33:52
Quote from: kikuchiyo on 2012-06-03, 20:27:42
Doublepost:

Egy ilyen rm parancs kell nekem. (http://www.pvv.ntnu.no/~steinl/vitser/rm.html)
:lol: :lul:
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2012-08-20, 16:46:36
Windows guruk: van-e valamilyen bevált, egyszerű, értelmes módszer screenshotok automatizált, felhasználói beavatkozás nélküli készítésére?
Olyasmi lenne ideális, mint linux alatt az import, scrot és társaik.
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2013-01-27, 19:52:29
Quote from: fórummotorWarning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
:(

Nincs kedve vmelyik, legalább 8 GB memóriával rendelkező gurunak lefordítani és futtatni ezt a programot?

http://pastebin.com/KkPQiCPt

Értelemszerűen GMP kell hozzá. libgmp, libgmp-dev vagy hasonló nevű csomagokban szokták tartalmazni a csomagkezelők.

szerk: in b4 "de programozni nem úgy kell, hogy random rátenyerelsz a billentyűzetre, hanem hogy gondolkodsz és odafigyelsz arra, amit írsz. Hogy a programod rosszul működik, az nem meglepő, mivel kesze-kusza, átláthatatlan, rosszul olvasható, érthető, karbantartható módon építetted fel - egyszóval öntökönszúrást művelsz." :D
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Próféta on 2013-01-30, 00:39:15
itthon nem rendelkezem annyi memóriával :(
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: kikuchiyo on 2013-01-30, 01:09:01
Kösz, már közben "javítottam" rajta annyit, hogy éppenhogy, de belefér a memóriába swappelés nélkül. 44-re még nem, de arra is van ötletem. Amúgy is csak egy toy problem az egész...
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Selmo on 2013-02-05, 22:10:22
VisualBasic megy valakinek?
Title: Aki tud programozni és munkát keres
Post by: Member on 2013-07-04, 20:37:52
http://most.444.hu/2013/07/04/ilyen-is-reg-volt-munkat-ajanl-a-444/
Title: Re: C++, Delphi, JAVA és egyéb programnyelvek
Post by: Darkstar on 2013-07-14, 23:11:10
Volt egy kis szabadidőm, ezért gondoltam, miért ne kezdenék el kicsit javascripttel szórakozni (eddig még soha nem volt egymáshoz szerencsénk).
Szóval a cél:
Hogy kikerüljem a danbooru nyomorúságos rendszerét, és egyszerűbben tudjam egy-egy artist összes képét lementeni, a következőt szeretném elérni.
A script szépen elindul, amikor egy artist kezdőoldalára lépek (itt belép az első gyenge pont, azaz nem mindig fog így kinézni a link, de ez egyelőre most a kissebb probléma: http://danbooru.donmai.us/posts?tags=kantoku.)
Ezután szépen megkeresi a thumbnail linkeket, és annak segítségével előállítja a linkeket a full képekhez (ha a kép png, akkor a .jpg-t kicseréli). Ezután nyit egy új tabot és szépen megmutatja a thumbnail-eket, és a linkeket a full képekhez.
Gyakran (99.9999%) előfordul, hogy több oldalnyi kép van. Ezesetben a script illendően végiggyalogol az oldalakon és mindegyiken lefut.
A kérdés: hogyan tudnám megoldani, hogy előbb szépen végigmenjen az összes oldalon, begűjtse az összes linket, aztán mindezt egy oldalon prezentálja, és ne annyi újat nyisson, ahány oldal van?
A kód (ismétlem: először bűvészkedem JAVA-val és még nem is végleges, tehát kéretik a röhögést kicsit visszafogni. Az Addbutton-al az a tervem, hogy első körben csak egy gombot dobjon az oldal tetejére, és ne automatikusan fusson le. De ez majd későbbi csiszolás.)
[spoiler]// ==UserScript==
// @name        Grab
// @version     0
// @include     http://danbooru.donmai.us/posts?tags=*
// @include     http://danbooru.donmai.us/posts?*
// ==/UserScript==

javascript:

function UrlExists(url) {
  var http = new XMLHttpRequest();
  http.open('HEAD', url, false);
  http.send();
  return http.status!=404;
}


function AddButton(){
    var element = document.createElement("input");
    element.type = "button";
    element.name = "CreateButton";
    element.value = "Create";
    element.addEventListener('click',Pagination,false);
    document.getElementById("post-sections").appendChild(element);
}


function Pagination(){
var regPages = new RegExp("/posts?&amp*","g");
Create();
var pages = document.body.innerHTML.match(/\/posts\?&amp[A-z0-9_=;&%-]*/g);
if(typeof pages[4] != 'undefined')
    {
    window.location.href = "http://danbooru.donmai.us" + pages[4];
    }
    else{
        if (document.URL.match(/http:\/\/danbooru\.donmai\.us\/posts\?tags\=[A-z0-9_-]*/gi))
        {
        window.location.href = "http://danbooru.donmai.us" + pages[3];
        }
    }
}


function Create(){
var reg = new RegExp("/ssd/data/preview/[A-Za-z0-9_]+.jpg","g");
var reg2 = new RegExp("[A-Za-z0-9_]+.jpg");
var images = document.body.innerHTML.match(reg);
var n = images.length;


for(var i = 0; i < n; i++) {
    var imgsrc = "http://danbooru.donmai.us/data/" + images[i].match(reg2);
    var thumb = "http://danbooru.donmai.us" + images[i];
        if (!UrlExists(imgsrc))
        {
            imgsrc = imgsrc.replace("jpg","png");
        }
    links_html += "<a href=" + imgsrc + ">" + "<img src=" + thumb + ">" + "<a>";
}
}


var links_html = "<!DOCTYPE html><html><body>";
Pagination();
links_html += "</body></html>";
var links = window.open("");
links.document.body.innerHTML = links_html;
[/spoiler]