Hollosi Information eXchange /HIX/
HIX CODER 1800
Copyright (C) HIX
2003-04-12
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 mi a programozas / koszi (mind)  32 sor     (cikkei)
2 RE: *** HIX CODER *** #1799 (mind)  38 sor     (cikkei)
3 Re: Temakor: Platform fuggetlen fejlesztes ( 9 sor ) (mind)  10 sor     (cikkei)
4 Turbo Pascal 6 rutingyutemeny (mind)  6 sor     (cikkei)
5 Re: szamtek alapjai - billentyuzet es BIOS rutinok -3- (mind)  153 sor     (cikkei)

+ - mi a programozas / koszi (mind) VÁLASZ  Feladó: (cikkei)

Karoly irta: 

>>A Tanuljuk meg a JavaScript hasznalat 24 ora alatt c. konyv
>>pont az en szintemnek valo. Kristalytisztan magyaraz.
>Ez nem programozas.

>A programozas cimu tanfolyam, csak mellekesen tanit meg egy
>programnyelvet, en pl. cobolt tanultam, nem az a lenyege.
>A programozas = logika + matematika + kombinatorika.
>A nyelv lenyegtelen.

Jo, talan nem fogalmaztam pontosan.
Termeszetes, hogy a programozas tobb az utasitasok es szintaktika
ismeretenel. Hogy matematika kell-e hozza, az a feladattol fugg.
Remek levelezo progit lehet irni vagy remekul lehet izzomatrixot
vezerelni integralas meg derivalas nelkul, ahogy Taylor meg
Fourier es a szokasos finomasagok sem kellenek hozza,
(Fanta Katalin rulez, szazszor jobban tanitott, mint a Sereny!).
Kep- vagy hangtomoriteshez, u"rbeli palyaszamitasokhoz persze
nem art egy kis matek, nem vitatom.
Me'gis, nem ugy kell elkezdeni programozni tanulni,
hogy rogton modellek meg matek.
Elobb kell a nyelv, sok egyszeru peldaprogrammal,
es foleg a kulvilaggal valo kapcsolattartas, a bill kezeles, a kep-
ernyokezeles, az adat ki-be, fajl megnyitas es bezaras kezeles, stb.,
es csak aztan johet a logika meg matek meg kombinatorika,
meg az egesznek a muvesz szintre emelese.

Mindenestre mindenki hozzaszolasat a temahoz orommel veszek.
Eggornak is koszonom szepen a billes leirasat.

BM
+ - RE: *** HIX CODER *** #1799 (mind) VÁLASZ  Feladó: (cikkei)

> Minden szamitas utan hivjam-e meg a destruktort, s kozvetlen utana
> a konstruktort?
> (tegyuk fel, hogy nem az osztaly privat adattagjain vegzem a
> muveletet..tehat szuksegkeppen meg kell hivnom a konstruktort!!)
Szerintem:
type
    TSzamitasok = class
     private
         sajat_valtozo:integer;
     public
         constructor Letrehoz();
         destructor Torol();
         function osszead(_a,_b:integer):integer;
	   procedure clearvariable;
 end;

Ha fontos hogy a sajat_valtozo 0-va legyen
 begin
     szamitas:=TSzamitasok.Letrehoz();
     kiiratas(szamitas.osszead(1,1));
     clearvariable;	
     szamitas:=TSzamitasok.Letrehoz();
     kiiratas(szamitas.osszead(2,2));
     clearvariable;	
     szamitas:=TSzamitasok.Letrehoz();
     kiiratas(szamitas.osszead(3,6));
     szamitas.Torol();
 end;

Az allando constructor/destructor hivas nem hibas, csak felesleges,
hacsak valamiert nem fontos.

> Van valakinek otlete, hogy hogyan lehetne szetvalasztani a
TListView-ban a
> Focus-t es Select-et (Delphiban).

Tegyel bele egy plussz mezot amivel jelzed, hogy kijelolt vagy sem az
aktualis "rekord", a kijelzest meg megoldhatod az ownerdraw-al.
+ - Re: Temakor: Platform fuggetlen fejlesztes ( 9 sor ) (mind) VÁLASZ  Feladó: (cikkei)

Hozzatennem meg a wxWindows temahoz, hogy roppant nagy elonye a dolognak, hogy 
szinte egy-az-egyben atirhato a Windows-os es/vagy MFC-s program, es viszont, t
ehat aki mondjuk az MFC-t keni-vagja, az gyakorlatilag minimalis raforditassal 
bir a wxWindows-ban programozni (tulajdonkeppen csak annyit kell megszokni, hog
y az osztalynevek "wx" prefixuek ;-]).
Nekem bejott.
udv,
medve

(webes bekuldes, a bekuldo gepe: proxy.graphisoft.hu)
+ - Turbo Pascal 6 rutingyutemeny (mind) VÁLASZ  Feladó: (cikkei)

Ingyenesen letoltheto Turbo Pascal 6 rutingyutemeny
programozas irant erdeklodoknek:

http://www.barnett.hu/megoldasok/software.html

Zs.
+ - Re: szamtek alapjai - billentyuzet es BIOS rutinok -3- (mind) VÁLASZ  Feladó: (cikkei)

Mar megint sorlimit... a kovetkezo resz viszont megjelent. Kuldom meg 
egyszer...

> A CODER No.1795 nem jott meg :-( Csak mondom..
Nekem itt van - en az 1-t es a 3-t nem kaptam meg...

>>> Ha be kell olvasni x db bajtot flopirol/lyukkartyarol, [...] A 
>>> rutin a beolvasott adatokat sorban irni kezdi a memoria azon 
>>> cimetol kezdve es olyan hosszan, ahogy parameterkent megkapta.
>> Elotte felveszi a kapcsolatot, pozicioparancsokat kuld, stb.
> Felveszi? Marmint a userprogival? Mit kell erteni azon, hogy 
> "felveszi a kapcsolatot"? Es mit beszel a BIOS rutin vissza?
Nem, hanem a periferiaval. A felhasznalonak nem kell azzal
foglalkoznia, hogy a floppy felporogjon, pozicionaljon, majd a legvegen
meg porogjon 2 mp-ig es csak utana alljon le (eleg baj - neha jol
jonne, ha elore fel tudnam porgetni a floppyt).

> hogy egy-egy progi "szol" a masiknak. Ez nekem mindig gondot okoz. 
> Keptelen vagyok maskeppen elkepzelni, mint ugy, hogy az egyik betesz
>  egy adatot egy cellaba, a masik meg onnan olvassa. Eddig ugye OK? 
> Mar tobb forumon megkerdeztem, de me'g sosem ereztem azt az 
> egyertelmu "Igen, ez pontosan igy van." valaszt. Tenyleg igy van, 
> vagy csak kepzelodom?
Nagyon ritka, amit irsz. Ha ket program beszelgetni szeretne, komolyabb
op. R.-ben vannak pl. rendszer altal kezelt uzenetek, stb. PC-n lehet
ugy is, hogy az egyik program raul egy interruptra, amit a masik
program meghiv (es regiszterben atadhatja a memoriaterulet cimet, ahova
az adatokat betette). Vegul a fusi megoldas: file-on keresztuli adatcsere.

> A szabvanyos cimeket arra ertettem, hogy a BIOS rutin hova kezdje el
>  pakolni az adatokat. Nem a rutin kezdocimere gondoltam, bar ez sem
>  egyertelmu. Ha nincs ugrotablazat a stafetabot ideiglenes
> atadasara, akkor hogyan mondja meg a progi, hogy a PC mire mutasson?
A Spectrumon tudnod kell (ROM leiras kell hozza), a PC-n eleg az
interruptok parametereit ismerned. Ez eleg komoly ujitas volt,
tiszteletem a fejlesztoknek. A BIOS adatteruletek reszben szabvanyosak,
de tobbnyire nem kell ismerned oket, mert az oket kezelo interrupt
visszatereskor megadja a cimet, ahol az adat van.

>> A 8086-oson van "megszakitas" utasitas. Ugyanazt csinalja, mintha
>>  a HW rangatta volna meg a labat.
> Na jo, csak mi a kulonbseg akozott, hogy a programon belul elugom 
> egy sajat rutinra es visszaugrom, meg akozott, hogy megszakitas 
> utasitassal ugrom? Az, hogy az utobbi esetben a kornyezeti 
> valtozokkal nem kell vacakolni? Ha nem, akkor mi?
A legfontosabb: nem kell tudnod a rutin cimet.

>> Igen. A PC-n pontosan definialt rutinok vannak:
> Marmint a BIOS rutinjanak kezdocimei, meg hogy hova teszik vagy 
> honnan varjak majd az adatokat? Mi van definialva? Most akkor 
> adatmozgatas elott a userprogi es a BIOS rutin "megbeszelik", hogy 
> mit es hova vagy ez is szabvanyos? Homaly.
Speciel, ha diszkrol akarsz olvastatni, akkor kulon regiszterekben meg
kell adnod, hogy melyikrol, honnan kezdve, hany szektort - es egy
fizikai cimet, ahova az adatokat teszi. A BIOS-nak nincs akkora
atmeneti taroloja, ahova befer egy negyed floppy. Visszatereskor pedig
nem csak 1 bites infot ad vissza, hanem hibakodot, ha valami problema volt.

>> mindegyiknel regiszterbe kell irnod, hogy melyik funkciot kered 
>> tole, eszerint ugrik szet kulonbozo rutinokra,
> Szoval nem vmi szabvanyos memcimre, hanem egy szabvanyos 
> regiszterbe? Ugy is jo. Meg kell irni, hogy melyik funkciot kerem? 
> Miert nincs inkabb funkcionkent mas kezdocim, ahova 
> (on)megszakitaskor ugorhat? Pusztan azert lenne igy, mert a sok BIOS
Mert nincs annyi megszakitas! Egy ilyen megszakitashoz szaz folotti
funkcio is tartozhat.

> rutin nagyja ugyanugy nez ki es igy tomorebb ha egyben van es kulon 
> bajt(szo) mondja meg, hogy pontosan mi is csinaljon? A regiszter 
> nemigen lehet szabvanyos, mivel minden proci mas.
8086-os uzemmodban az alapregiszterek minden processzoron 16 bitesek.

>> majd visszateres utan van egy jelzoregiszter is, hogy jol 
>> lefutott-e?
> Okos. A regiszter ekkor gyakorlatlag 1 bit erdemi infot tartol,
Ha nincs ott a fuggveny (pl. nincs VGA, de meghivtad a rutinjat), akkor
a regiszter nem valtozik: innen tudod, hogy nem futott le. Ha viszont
lefut, akkor OK jelzest vagy hibakodot kapsz vissza.

>>> De lehet, hogy a bevitel gomb hatasara lefutott egy rutin, ami 
>>> mintat vett a bajtbol, es a CPU-n at tette a RAM megfelelo 
>>> cellajaba.
Persze, de a gomb nem okozott interruptot, hanem a rutin olvasgatta
folyamatosan, hogy jott-e gombnyomas...

> Hogy is van ez az sok proci kompatibilitas? Sok ceg, sok proci, sok
>  belso felepites. A labak es az utasitaskeszlet azonos? Ha nem az,
Igen, az szabvany. Legtobbszor a processzor tobbet is tud, de az mar
nem szabvanyos. Hallottad, hogy a kulonbozo gyartasu Z80 processzorok
is ilyenek? Eleg sok nem dokumentalt utasitast tudnak - de ezeket a
gyarto nem garantalja (hogy mukodnek es hogy jol mukodnek). Ki is
probalhatod a sajat gepeden: tobbnyire azokat az utasitasokat oldottak
meg, amelyeket a HL regiszterrel ismer, de a (DX) es a (DY)
regiszterrel nem. Annyit kell csak tenned, hogy assembly programmal
kiadod a HL-nek megfelelo utasitast es pl. .db utasitassal ELEteszel
egy megfelelo byte-ot, hogy DX vagy DY utasitas legyen belole.

> Na jo, de kerdes me'g mindig az maradt, hogy hogyan ad at adatot egy
>  BIOS rutin egy userproginak??? Lehet a rutinnak sajat taroloja 
> nyugodtan, de akkor is...??? Azt ertem, hogy a programben getchar() 
> es hasonlo fuggvenyekkel megkapni a karakter kodjat, de ez 
> fizikailag hogyan nez ki? Barmely ket "beszelgeto" proginak kell egy
>  regiszter vagy cella, amiben megegyeztek es oda/onnan pakolnak
> be/ki bajtokat.
Ez szinten szabvanyos interrupt. Meghivod, erre a BIOS rutin megnezi,
hogy van-e eppen a taroloban megfelelo kod: ha van, berakja egy
regiszterbe es visszater vele, ha nem, akkor varja, hogy jojjon
(getchar), vagy visszater nullaval (bioskey). Kiolvasakor lepteti a
gyurus tarolo mutatojat, hogy tovabbra is a megfelelo kodra mutasson.

>>> megadott neki. Eddig stimmel? De mi volt, ha nem "szoveget" 
>>> akartak beirni, hanem vezerelni a user progit? Ekkor mit tett a
>>>  BIOS rutin?
> Nem vezerlogombra gondoltam, hanem barmilyen beture, ugy, hogy a 
> feladat nem szoveg beirasa, hanem az, hogy adott beture, pl. H 
> beture kiirja, hogy Hello.
Ez a BIOS-t nem izgatja - Te kersz egy kodot, o odaadja es a
programodnak kell megneznie, hogy ami jott, az a 'H' betu-e?

>>> Tegyuk fel, hogy a user progi azt hagyta meg a BIOS rutinnak 
>>> feladatul, hogy mindig ugyanoda tegye az ujonnan bejott 
>>> karaktert.
Nem, ezt regiszterben kapod meg. Ha pedig blokkot olvasol (floppy),
akkor neked kell megmondani, hogy hova keruljon az adat. Ezt a
programkornyezeted (a fordito) altalaban megoldja.

> Ezt ertem, de egy fuggveny meghivasa mogott nagyon sok minden van. 
> Tobbek kozt egy OS is. Eszem agaban nincs majd magam lekodolni kesz
>  fuggvenyeket, de szeretnem erteni, hogy mit csinalnak a program- 
> mutatoval es hogyan kommunkalnak a bill.-bekero BIOS rutinnal.
Valos modban ezek vannak, amiket idaig irtam. Vedett uzemmodban eleg
bonyolult, egyelore hagyjuk.

> Amig csak kesz karaktereket, azaz bajtokat kell egy IO porton 
> kikuldeni, addig ez nem olyan nagy ugy. Gondolom ez a villanyirogep 
> maga intezte a mechanika nyugeit. Vagy ezt is a fo"gep csinalta,
A legelso gepnel meg igen, de nagyon gyorsan csinaltak jobbat...

>> Ha nem hasznalsz interruptot, akkor idonkent ra kell nezni a 
>> portra, hogy az irogep atvette-e mar az elkuldott betut - ha igen,
>>  lehet kuldeni a kovetkezot es jelezni, hogy "kuldes".
> Ez nem vilagos. Miert kellene itt interrupt? Kiteszem a bajtot, 
> "viheted" bit beall, majd az irogep is beallitja az "elvittem" 
> bitet. Hogy jon ide interrupt? Nincs varatlan esemeny.
Itt is latszik a kulonbseg a szamitogep es az annak nevezett gep
kozott (nem mondom azt, hogy "jatekgep", mert a PC arra sem volt tul
jo. Tokeletes jatekgep pl. az Amiga. A PC egy olcso oszvergep - volt.
Ma is az, de mar brutalisan eros oszvergep).
Ha nincs interrupt, akkor varnod kell a jelre, vagy idonkent nezegetni
a portot. Ha egy program fut a gepeden, akkor mindegy, de egy
"szamitogepen" sok program fut, idoosztasban.

...a folytatas mar megjelent.

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS