C++, Delphi, JAVA és egyéb programnyelvek

Started by ignus, 2007-06-05, 15:03:45

Previous topic - Next topic

Próféta


Kvikveg

WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

NLZ

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?
[reserved]

Próféta

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.

Draconire

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...

TurboK

A PHP szerveroldalon fut ugyhogy elméletben abszolute mindegy a böngésző amit használsz. Egyébként meg IE8 rox.

Jó lovag, velünk tartasz-e Camelotba a kerekasztal lovagjai közé?

http://www.saunalahti.fi/cse/foobar2000.php target=_blank>http://web.axelero.hu/fka2636/dwnld_fb2k.png>

motifator

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.
Nothing amazing happens here, and you get used to that: used to a world where everything is ordinary.
Every day we spend here is like a whole lifetime of dying slowly.

kikuchiyo

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?"
Failure is the default option

Darkstar

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.
小野寺梓のラブリーすきぴちゃん

kikuchiyo

...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ő.
Failure is the default option

Ramiz

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...
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

motifator

Ez egy JDK-s bundle, szóval működni fog egy olyan gépen, amin nincs semmi java.
Nothing amazing happens here, and you get used to that: used to a world where everything is ordinary.
Every day we spend here is like a whole lifetime of dying slowly.

Ramiz

#192
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...
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

motifator

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.
Nothing amazing happens here, and you get used to that: used to a world where everything is ordinary.
Every day we spend here is like a whole lifetime of dying slowly.

Ramiz

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?
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

motifator

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 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.
Nothing amazing happens here, and you get used to that: used to a world where everything is ordinary.
Every day we spend here is like a whole lifetime of dying slowly.

Ramiz

#196
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 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 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:
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

kikuchiyo

Ha beírom, hogy "mondtam, hogy ne java-ban csináld", akkor mérgesek lesztek?
Failure is the default option

Ramiz

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.
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

sirtomi


Ramiz

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:
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

Próféta

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.

Ramiz

#202
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
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

Ramiz

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?
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

motifator

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.
Nothing amazing happens here, and you get used to that: used to a world where everything is ordinary.
Every day we spend here is like a whole lifetime of dying slowly.

Próféta

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.

Ramiz

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?).
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

Próféta

#207
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.

Ramiz

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.
12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!! 12 OZ MOUSE, 12 OZ MOUSE!!!

Draconire

php.ini-ben mit kell beállítanom hogy localhostra menjen a feltöltés?
Képet akarok feltölteni, majd átmozgatni.