Hollosi Information eXchange /HIX/
HIX CODER 1759
Copyright (C) HIX
2003-02-25
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 delphi: webkamera kezeles (mind)  9 sor     (cikkei)
2 Excel VBA (mind)  12 sor     (cikkei)
3 conversion (mind)  23 sor     (cikkei)
4 MS op.rendszer bootolasanak szama (mind)  8 sor     (cikkei)
5 Re: szamtek alapjai - videokartyak 1 (mind)  58 sor     (cikkei)
6 Re: szamtek alapjai - videokartyak 1 (mind)  116 sor     (cikkei)

+ - delphi: webkamera kezeles (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Halottam fél füllel, hogy a Delphi alkalmas alapból webkamera kezelésére,
méghozzá elég mélyen. Akár alagzatfelismerést is lehet irni rá.
Ez tényleg igaz? Melyik verziótól tud ilyet? És melyik ez a komponens?

A válaszokat köszi!

Misi
+ - Excel VBA (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok,

Van egy problemam, amiben talan tudtok segiteni. Eleg regota hasznalom a VBA-t,
 kulonbozo, a munkamat segito makrok irasara. Van egy olyan dolog, amit meg edd
ig sosem sikerult megoldanom, nevezetesen az, hogy az open dialogust valahogy u
gy lehessen beallitani, hogy ne file-t jeloljek ki megnyitasra, hanem konyvtara
t. Valaki esetleg tud segiteni? Az, hogy leprogramozzam a konyvtar megnyitast, 
nem okozott gondot, de ha mar ott a lehetoseg a "megszokott" dialogus ablakra, 
akkor szivesen hasznalnam inkabb azt. Remelem valaki tud 5letet adni!
Koszi elore is, P.

(webes bekuldes, a bekuldo gepe: 90.lear.com)
+ - conversion (mind) VÁLASZ  Feladó: (cikkei)

hello lista,
a kovetkezo kis problemaba futottam bele (C nyelv): hogyan hasznalom a 
qsort fuggvenyt, hogy sorbarendezzek egy char * tombbot?

en probaltam 
int chcmp(const void *a,const void *b) {
  return strcmp((char*)a,(char*)b);
}

main() {
  char *res[N];

  /* adatfeldolgozas */

  qsort(res,j,sizeof(char*),chcmp);
}

de nem minden esetben mukodott. gondolom az lehet a problema, hogy a chcmp 
fuggvenynek a parameter char** lesz, de abbol hogy csinalok en char *-ot?

elore is koszi,

zsepi
+ - MS op.rendszer bootolasanak szama (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok,

Nem igazan programozassal kapcsolatos a kerdesem,ami a kovetkezo:a MS
oprendszerek(98/2000/xp,...) logoljak -e vmilyen fajlba,hogy telepitesuk
ota,hanyszor bootolt?

udv,
Q
+ - Re: szamtek alapjai - videokartyak 1 (mind) VÁLASZ  Feladó: (cikkei)

>> efolott 1MB-ig periferia beillesztett memoriaja.
>Ez a maradek A:0000-F:FFFF (= 384 kB).

Mivel a tobbiek valaszolni fognak a kerdeseidre,
inkabb masra hivnam fel a figyelmed: a fenti
jelolesed (A:0000) nem jo, mivel az A, es az A000
egyaltalan nem ugyanaz! (ha 000A lenne, akkor...)
Elnezest, ha mar ezeket leirta valaki (en visszaolvastam,
de nem talaltam), de ugy tunik, ez is homalyos.

Szoval adva volt a 8086 CPU, 16 bites kivul/belul,
16 bites regiszterekkel. 16 biten a legnagyobb 
megcimezheto memoria 65535 byte
(ha bajtonkent szeretnel cimezni), azaz tizenhatos
szamrendszerben 0xFFFF (a "0x" a C nyelv jelolese
arra, hogy hexadecimalis szamrol van szo, ezt szoktak
"$"-ral, vagy poszt "h"-val is jelolni) a legnagyobb
megcimezheto tartomany. Mivel ezt a 64 KByte-ot mar
a kezdet kezdeten kinottek, de a CPU csak 16 bites 
maradt, ki kellett talalni valamit arra, hogy tobb
memoriat lehessen megcimezni. A 20 bit az 1 MByte,
ez akkor tobb, mint elegnek tunt. Ha ket 16 bites
regisztert szimplan egymas melle tettek volna, akkor 
az eredmenyul kapott 32 bit "tul sok" lett volna, igy 
aztan azt talaltak ki, hogy a masodik 16 bitet 
elcsusztatjak 4 bittel balra. Azaz igy a regiszterben talalhato
erteket meg kell szorozni 2^4 = 16 -tal, hogy megkapjuk
a tenyleges erteket (igy mar 20 bit az atfoghato
tartomany), viszont nem tudunk minden egyes bajtot
kulon megcimezni, kell hozza az elso 16 bit is.
Elnevezzuk az also 16 bitet OFFSZET-nek, a 4 bittel
balra tolt 16 bitet pedig SZEGMENS-nek. Igy azt kapjuk,
hogy a fenti szegmens-offszet parossal minden bajt 
megcimezheto 20 bit tartomanyban, meghozza tobbfelekeppen
is! Ugyanis a vegso cim ugy alakul ki, hogy a szegmens
erteket megszorozzuk 16-tal, es utana hozzaadjuk az
offszetet. Igy peldaul a 0x12345 cimet a kovetkezo
szegmens-offszet parokkal cimezzuk (a ketto koze 
kettospontot teve, a hexadecimalis jelolest elhagyva):
1234:0005
1230:0045
1200:0345
1000:2345, ezek ugyanazt a bajtot jelentik.
A 80286-os processzor mar 24 bitet tudott megcimezni,
a 80386-os es felette pedig 32 bitet, vedett modban 
(ahol a szegmens regiszter mas jelentest kap, illetve
megjelennek a 32 bites regiszterek), azonban mindegyik
Intel kompatibilis processzornak van un. valos modja,
ahol a 8086 cimzeset emulalja (a kompatibilitas miatt).

A fentiek alapjan az A:0000 jeloles a 000A0-dik bajtot
jelenti, nyilvan nem erre gondoltal.

udv,

medve

(webes bekuldes, a bekuldo gepe: 62.80.76.205)
+ - Re: szamtek alapjai - videokartyak 1 (mind) VÁLASZ  Feladó: (cikkei)

> > A CGA/Herc kartya csak egy periferia, aminek van sajat memoriaja,
> > beillesztve a szamitogep erre fenntartott memoriateruletere IS.
> Marmint a memoria fizikailag a kartyan van,
> de a cime szerint a fo RAM része?
Pontosan, a kartya megoldja, hogy a buszon latsszon a sajat memoria egy
resze is - ezt hivjak osztott memorianak.

> Vagy fizikailag is az alaplapon van?
Ami ott van, az ilyenkor nem hasznalhato, mert a tartalmat a periferia
nem tudja felhasznalni - erre irtam azt, hogy ki kel kapcsolni/atcimezni
mashova.

> A kartyan tehat csak az a HW volt, ami az ott levo memoriabol
Igen, plusz egy HW, amely illesztette a kartyat a gephez.

> videojelet csinalt a monitornak? Akkoriban ma'r volt dualportos memoria
> vagy me'g SWesen kellett ugyeskedni az idovel?
A korszerubb CGA/Herc. kartyakon mar valahogyan megoldottak ezt a
problemat. Egyszeru tesztelni egy olyan programmal, amely folyamatosan
irja/olvassa a videomemoriat. Az EGA+ kartyakat mar hivatalosan sem
zavarja.

>> Ez a maradek A:0000-F:FFFF (= 384 kB).
> Marmint melyik periferia? Hogyhogy beillesztett?
Elofordul, hogy a periferia memoriajanak egy reszet elerhetove teszi a
gep szamara. Ilyen pl. az EGA+ az SCSI, vagy a halozati kartya ROM BIOS,
vagy RAM.

> A periferiak _tartalmat_ RAM reszekent cimeztek??
> Es mi lett az IO/M valaszto jellel?? Nem ertem. HELP!
Termeszetesen ilyenkor a processzor memoriat akar kezelni, es nem IO
cimet - es az egyebkent ott levo alaplapi RAM-ot valahogyan eltuntetik.
IO cimen a kartyakat programozni lehet: a regisztereiket irni (esetleg
olvasni is), pl. hogy a karakterek villogjanak vagy 16 szinu legyen a
hatter, milyen szinu legyen a kepernyo kerete, hogy nez ki a kep alakja,
stb. Ajanlom a DOS Hhelp programot, nagyon jo leirasok vannak benne.
 
> > A0000-tol grafikus memoria,
> A grafikus memoria nem ua., mint a Herc/CGA memoria?
Nem, ez itt az EGA+ nagyfelbontasu grafikus memoriat jelenti.

> Ez lenne a keptartalom?
Igen - vagy egy lap belole, ha a kep >64kB.

> Most akkor egyaltalan mi az a CGA, EGA, VGA es Hercules?
CGA: szines, grafikus (max. 320*200*4 szin - de nem akarmelyik 4, hanem
ket keszletbol valaszthato <egy szin szabadon valaszthato, de szinte
mindig fekete kell, hogy legyen, mert gr. modban ez a keretszin is> =
16kB - C8000-tol)
CGA-tol folfele letezik egy 160*100*16 szinu felbontas is, amelyet a M$
nem ismer (ezert nem is tamogat - a kepernyo kezelesehez sajat program
kell). Ez tulajdonkeppen veletlenul letezik (ezert nincs belole ket lap,
pedig a felbontasbol kijonne) - ugyes jatekfejlesztok vettek eszre es
valojaban karakteres uzemod, meg egy pixelnyi HW kurzor is van benne. Ki
kell hozza kapcsolni a betuk villogasat, tehat az eloter es a hatter is
16 szinu (ill. ha nem kapcsolod ki, akkor minden masodik pixel csak 8
szinu lehet es HW villogtathato). Ma mar csak erdekesseg, pedig annak
idejen nagy szam volt, az elegge undorito CGA 4 szinu uzemmod utan.
Trukkokkel meg lehet novelni a szineket, de ez mar bonyolult...

Herc: monografikus (kb. 720*350 egyszinu, 64KB) 2 lap: az elso kezdete
C0000, a masodike c80000. SW trukkel megoldhato ugyanez a felbontas, 2
szinarnyalattal - de 25 Hz frekvencival, es mindket lap kell hozza + egy
rezidens program. A mono monitoroknak altalaban nagy utanvilagitasa van,
ugyhogy meg a 25 Hz sem villog nagyon.
Az MDA ugyanez, de csak 80*25 karakteres, 4kB RAM-mal.

EGA: itt mar programozhatoak a szinek: egyszerre 16 szin lathato a
lehetseges 64-bol, max. 64KB RAM. Kegyetlenul bonyolult a kezelese.

VGA (nem SuperVGA): mindharom szinosszetevo 8 biten programozhato, igy
gyakorlatilag barmilyen szin beallithato - egyszerre max. 256 latszik.

> Mi jellemzo rajuk? Grafika? Karakterek? Egy pixelt hogyan tarolnak?
A fentieken kivul: mindegyik ismeri a karakteres uzemmodokat es tud
lapozni/scrollozni (meg lehet mondani a kep kezdocimet: ha a kep nem
tolti ki a teljes memoriat, akkor egyszerre tobb kep lehet a kartyan es
lehet valasztani kozuluk, vagy effekteket csinalni. Pl. en irtam olyan
programot, amelyik 64*32 vagy 128*64 karakteres kijelzest hasznal,
40*25-os kepernyonel. Szukseg szerint a HW "tologatja" a lathato kepet).
A karakteres uzemmodban a karakterek bitmintaja CGA/Herc.-en ROM-ban
van, tehat nem irhato at, a tobbin RAM-ban. Egy pixelt a letezo
legvaltozatosabb modon tarolnak, errol inkabb kesobb.

> >A Herc.-re irt CGA emulatorok azzal kezdik, hogy atallitjak a Herc.
> >kezdocimet C8000-ra - utana a jobbak rendszeresen masolgatjak a paratlan
> >sorokba irt adatokat a paros sorokba is. Max. BFFFF-ig videomemoria,
Plusz atallitjak a rendszervaltozokat is.
Ez azt jelenti, hogy a program ugy erzi, hogy CGA-t hasznal (eleg sok
program csak CGA-ra volt annak idejen).
 
> >C0000-tol 32 kB. video ROM.
> A konyv szerint ez video BIOS.
Igen, BIOS rutinok vannak benne.
 
> > EGA-tol folfele van sajat ROM-ja is,
> >amelyben videokezelo rutinok vannak
> Marmint az EGA+ kartyakon?
Pontosan.

> Odaig oke, hogy nincs procija, de akkor minek neki sajat BIOS?
Azert, hogy a gep intelligensen tudja kezelni a kartyat (a nem
szabvanyos reszeit is - a videomemoriak fizikai megvalositasa nagyon
elvetemult) es legyen rajta egy rutingyujtemeny a kiiratashoz. A fo BIOS
csak CGA/Herc. kezelo rutinokat tartalmaz.

> Ez jott elo az elobb is. Hogyhogy a periferiakkal kozos memoriak??
> A perfieriak portokon (vagy sin+dekoder+latch) keresztul kommunikalnak
> a CPUval, de ilyenkor az IO/M jel miatt nem a memoria cimzodik, hanem
> a dekoder kapuz ki, nem?? Miert utkozne?? Nem ertem, help!
Igen, ez is mukodik, de ezen kivul a periferia ilyenkor megfelelo
cimtartomanyban "valaszol" a buszon futkoso memoriaeleresi keresekre (ez
a cimtartomany sokszor beallithato, az utkozesek elkerulesere). Ha
valamilyen hiba miatt (pl. az adott tartomanyra engedelyezted az
arnyekRAM-ot) az alaplapi memoria is valaszol, vagy tobb periferia
valaszol, akkor ossze fognak akadni.

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