∴   Az AS/400 nem játék... 2. fejezet

             Még egy játék, de ígérem több nem lesz! :)

2014.03.17. 19:34

Korábban már írtam az AS/400-as játékokról. Most még egyet mutatnék be, ami Craig Rutledge programjának módosított változata. Mellékelek majd forráskódot is, mivel ez Craig oldalán nincs fent. Nem küldtem el neki, ennyi a magyarázat. A program fordításához viszont kell Craig programcsomagja, mivel pár funkciót onnan használok. A program egy klasszikus torpedó játék, amit továbbfejlesztettem. Az újdonság egy 1 karakteres "mentőcsónak", ami éppen ellenkezőleg működik, mint a többi hajó. Azaz ha eltalálja a számítógép az enyémet, akkor veszít, míg ha én az övét, akkor én veszítek. De nem is szaporítom tovább a szót, mellékelem a forráskódokat:

A program forráskódja itt található, a hozzátartozó képernyő pedig itt.

 

∴   1 kis péntek esti humor

             proghumor

2014.03.14. 20:33

jegmaszas_1394824152.gif_355x304

Mielőtt élesíted a remekül megírt program módosításod, teszteld le. Aztán még egyszer.

 

Szerző: Erdős Tibor

1 komment

Címkék: humor

∴   Az AS/400 nem játék...

            

2014.03.01. 14:41

Valamikor még december egyik sötét és hideg estéjén gondolkodtam azon, hogy vajon az AS/400-ra milyen játékokat írhattak, illetve milyenek futhatnak el rajta? Persze tisztában vagyok vele, hogy a karakteres képernyő sok variációra nem ad lehetőséget, de a gondolat tovább motoszkált bennem. Pár perc netes keresés után találtam párat, majd ráakadtam Craig Rutledge oldalára. Ez egy remek oldal, sok-sok hasznos programmal. Az alap szöveges forrás nagyon egyszerűen telepíthető, de akár itt bele is nézhetünk.

Szóval itt találtam rá a keresett játékokra is. Természetesen programozói oldalról érdekelt a téma, ezért mélyebben beleástam magam. Az meglepett, hogy a máshol alapjátéknak tartott Aknakereső itt sem nem lelhető fel. Ekkor villant az agyamba, hogy miért is nem csinálok egyet? Elöntött valamiféle izgalom, hogy ilyet nem sokan készítettek, mi lenne ha nekiállnék, hiszen karakteres képernyőn is lehetne. Na igen, így utólag már könnyen mondja ezt az ember, de közben azért volt pár óra, amit gondolkodással töltöttem. Végül is vagy 10 nap alatt az ötletből működő program kerekedett. A forrást elküldtem Craignek is, véleményezésre. Neki aztán annyira megtetszett, hogy egyszerre feltette a honlapjára. Ha figyelmesen nézitek az oldalt, akkor észre is veszitek. Na jó, aki nem, az keresse a MINESWEEPER név alatt. :) Ugyanezen a néven találjátok a forrásban is.

A játékban egy 40x8-as táblát használok, csak hogy túl kicsi, de túl nagy se legyen.

Amikor elkészült a program, készítettem egy kis videót róla, ezt látjátok fent (a végét levágtam, mert ott szerepelt a telefonszámom és email címem is).

 

∴   Te melyiket szereted?

            

2014.02.21. 19:25

newworldorder2_1394130276.jpg_627x421

 

A sok munka mellé kell egy kis humor is...;)

 

Szerző: Erdős Tibor

2 komment

Címkék: humor

∴   Rövidítsünk!

            

2014.02.15. 18:59

Programozóként is sok parancsot szoktam használni az AS/400-on.
WRKACTJOB, WRKUSRJOB, WRKSPLF, DSPPFM ... a lista szinte végtelen. A legtöbb ember nem tökéletes gépíró (én sem), és az egyszerű logika azt diktálja, hogy minél hosszabb a parancs neve, annál nagyobb az esélye a hibás beírásnak. Aztán guvadhat az ember szeme, hogy éppen melyik betűt felejtette ki, vagy cserélte fel. Emellett nyilvánvaló, hogy ha hosszabb a parancs neve, annál tovább tart a begépelése. Egy parancsnál ez még nem is annyira vészes, de napi több tucat esetében már jelentősebb idő.

Van egy régi technika, amelyet már régen használtam, de most újra a kezembe került. Anno jól jött nekem is, és talán van még aki nem ismeri.

Nézzük az igen népszerű Work with Active Jobs (WRKACTJOB) parancsot. Minden AS/400-on dolgozó programozó valószínűleg olyan sokszor kiadta már ezt a parancsot, hogy az ujjai automatikusan beírják. Mégis, előfordul hogy az ujjak hibáznak. Miért nem rövidítjük le ezt a parancsot, hogy valami sokkal egyszerűbbet, rövidebbet kelljen beírnunk, mint például azt hogy WAJ?

A kérdés jogos, és könnyen meg is tudjuk valósítani. Amit ehhez használni fogunk, az a jó öreg Create Duplicate Object (CRTDUPOBJ) parancs.

FIGYELEM!

Mielőtt létrehoznád a WAJ parancsot, ellenőrizd le, hogy nincs-e már ilyen (WRKOBJ OBJ(*ALL/WAJ)). Ha van, akkor keress egy másik hosszú parancsot, aminek nincs még rövid változata.

A rövid parancs létrehozásához a megfelelő rendszer jogosultsággal is rendelkezned kell. Ha ezzel rendelkezel, egyszerűen add meg a következő parancsot (az XY könyvtár helyett add meg a sajátodat, próbaképpen):

CRTDUPOBJ OBJ(WRKACTJOB) FROMLIB(QSYS) OBJTYPE(*CMD) TOLIB(XY) NEWOBJ(WAJ)

Miután sikeresen végrehajtódott a parancs, most már csak ki kell próbálni az eredményét. Ha az XY könyvtárad nincs fent a könyvtárlistán, vedd fel
(ADDLIBLE XY).

Parancssorba írd be hogy WAJ és nyomd meg az Enter-t, és láss csodát, máris megjelenik az Aktív jobok kezelése képernyő.

WAJ.jpg

∴   Funkcióbillentyűk hex kódjai

             még jól jöhet...

2014.01.25. 16:37

D F1              C                   const(x'31')
D F2              C                   const(x'32')
D F3              C                   const(x'33')
D F4              C                   const(x'34')
D F5              C                   const(x'35')
D F6              C                   const(x'36')
D F7              C                   const(x'37')
D F8              C                   const(x'38')
D F9              C                   const(x'39')
D F10             C                   const(x'3A')
D F11             C                   const(x'3B')
D F12             C                   const(x'3C')
                                                  
D F13             C                   const(x'B1')
D F14             C                   const(x'B2')
D F15             C                   const(x'B3')
D F16             C                   const(x'B4')
D F17             C                   const(x'B5')
D F18             C                   const(x'B6')
D F19             C                   const(x'B7')
D F20             C                   const(x'B8')
D F21             C                   const(x'B9')
D F22             C                   const(x'BA')
D F23             C                   const(x'BB')
D F24             C                   const(x'BC')
                                                  
D Clear           C                   const(x'BD')
D Enter           C                   const(x'F1')
D Help            C                   const(x'F3')
D Roll_down       C                   const(x'F4')
D Page_up         C                   const(x'F4')
D Roll_up         C                   const(x'F5')
D Page_down       C                   const(x'F5')
D Print           C                   const(x'F6')
D Home            C                   const(x'F8')
D Auto_enter      C                   const(x'3F')
 * új sor
D CRLF            C                   const(x'0d25')
D LF              C                   const(x'25')
D CR              C                   const(x'0d')

∴   Színezzünk!

            

2014.01.05. 15:57

AS/400 programozóként nekem fapadosnak tűnt a fekete alapon zöld betűs SEU.

szin01.jpg

Persze vannak különböző fejlesztő eszközök, amikkel lehet színeket "varázsolni", de most az alap SEU-ról beszélnék, illetve ennek "kiszínezéséről".

Szerencsére nem kell az idők végezetéig a fenti két színnel beérnünk. Nem is kell mást tennünk, mint megkeresni a keyboard map, vagyis a KMP fájlunkat (Edit/Preferences/Keyboard menüt választva a Keyboard-File Name-nél lesz az elérési útja). Keressük meg ezt a fájlt egy szövegszerkesztővel (ha Notepad++-t használsz, jobbklikk a fájl nevére, majd Edit with Notepad++).

Az alábbi sorokat illesszük a fájlban található szöveg után (FIGYELEM! Ha már van [KEYBOARD] szakasz a fájlban, akkor azt ne másoljuk, csak egynek szabad lenni az állományban):

[KEYBOARD]
C-KEY18=apl 23 (Ctl-W = White Bkgd)
A-KEY18=apl 22 (Alt-W = White Font)
C-KEY20=apl 29 (Ctl-R = Red Bkgd)
A-KEY20=apl 28 (Alt-R = Red Font)
C-KEY21=apl 31 (Ctl-T = Turquoise Bkgd)
A-KEY21=apl 30 (Alt-T = Turquoise Font)
C-KEY22=apl 33 (Ctl-Y = Yellow Bkgd)
A-KEY22=apl 32 (Alt-Y = Yellow Font)
C-KEY26=apl 39 (Ctl-P = Pink Bkgd)
A-KEY26=apl 38 (Alt-P = Pink Font)
C-KEY35=apl 21 (Ctl-G = Green Bkgd)
A-KEY35=apl 20 (Alt-G = Green Font)
C-KEY50=apl 3b (Ctl-B = Blue Bkgd)
A-KEY50=apl 3a (Alt-B = Blue Font)
A-KEY43=apl 20 (Alt-Enter = Green Font)

Mentsük el a fájlt, majd az AS/400-on nyissunk meg egy forrás fájlt szerkesztésre. Vigyük a kurzort valamelyik komment sor elé, majd üssük le az ALT + W-t. Ekkor a sor szövege fehérre váltott. A fenti listából láthatjuk, hogy mely billentyű kombinációval milyen színt tudunk elérni. Fontos, hogy csak olyan sorokat színezhetünk át, amik ki vannak "kommentezve"! Persze a színezéssel csínján bánjunk, mert eléggé el tudjuk rontani egy forrásfájl olvashatóságát. Ugyancsak lehet(ne) az éles sorokat is színezni, ekkor a kártya (prompt type) elé is lehet színező karaktereket elhelyezni, de nem igazán ajánlom. A fent leírt színezésnek pedig itt a végeredménye:

 


szin02.jpg

 

∴   Elindultam...

             Programozzunk AS/400-on

2014.01.04. 17:12

Szép napot mindenkinek, akit érdekel az AS/400 programozás!

Erdős Tibornak hívnak, és 2001 óta foglalkozom az RPG-vel, CL-lel.

ET1.JPG

Terveim szerint RPG, CL programokat, programozási tippeket, trükköket fogok közzé tenni. Nem egy alap tanfolyamot fogok tartani, hanem azokat az ötleteket próbálom megosztani AS/400-as fejlesztő társaimmal, akik már ismerik (és persze  ♥ ) a fekete képernyő zöld karaktereit.

 

süti beállítások módosítása