Hollosi Information eXchange /HIX/
HIX CODER 603
Copyright (C) HIX
1999-10-07
Új cikk beküldése (a cikk tartalma az író felelõssége)
Megrendelés Lemondás
1 Delphi kepkezeles (mind)  8 sor     (cikkei)
2 800×600 pascalban. (mind)  8 sor     (cikkei)
3 Oracle print (mind)  5 sor     (cikkei)
4 Re: Gond egy BIOS-hivassal (mind)  75 sor     (cikkei)
5 Java dinamikus tombok (mind)  17 sor     (cikkei)
6 Re: VB + Mailing (mind)  11 sor     (cikkei)
7 VC++ program kiloves (mind)  23 sor     (cikkei)
8 meghajto label (mind)  6 sor     (cikkei)
9 LCC hiba (mind)  22 sor     (cikkei)
10 Re: Binaris fa (mind)  43 sor     (cikkei)
11 Beszuras a faba (mind)  5 sor     (cikkei)
12 Re: Binaris fa (mind)  34 sor     (cikkei)

+ - Delphi kepkezeles (mind) VÁLASZ  Feladó: (cikkei)
Sziasztok!

 Meg tudnatok mondani, hogy hogyan lehet Delphiben leheto leggyorsabban
elerni egy kep pixeleit? Probaltam a TImage.Picture.Canvas.Pixels[x, y]-al,
de ez nagyon lassu. Valmivel jobb a TBitmap.Scanline. Nem lehetne meg
gyorsabb megoldast talani?

miki
+ - 800×600 pascalban. (mind) VÁLASZ  Feladó: (cikkei)
Hy!

Csak azt szeretném megkérdezni, hogy van-e valakinek 
olyan unitja Tp-re, amely grafikus módban tudja a 800×600
-as felbontást?
--
Üdvözlettel:
Czárt András (Bandi)
+ - Oracle print (mind) VÁLASZ  Feladó: (cikkei)
Sziasztok!
Lenne egy kerdesem. Lehet-e Oracle-ban (Win9x, Form-bol) WinAPI fuggvenyeket
meghivni? Peldaul elerheto-e a Win95 sajat Printer Dialog Box-a?
Koszi!
                Laccos
+ - Re: Gond egy BIOS-hivassal (mind) VÁLASZ  Feladó: (cikkei)
...
>  Ezeket mind fel tudom tolteni gond nelkul, de BH-val es ES:BP-vel gondban
>vagyok. Nekem a PB ket fuggvenyt biztosit, a STRSEG megadja a szoveg
>szegmenset es a STRPTR az offszetet. Eloszor ugy probaltam, hogy MOV BH,
>STRSEG; MOV ES, 0; MOV BP, STRPTR, de ebbol a masodik utasitasra helybol
>szintaktikus hibat kaptam, nem ismer ilyen regiszternevet. Ettol

1. Nem hiszom, hogy jo 5let 16 bites segmens regiszter tartalmat 8 bites
regiszterbe tolteni (MOV BH, ....)

2. Az ES-be kellene toltened a szegment erteket, tehat: MOV BX, STRSEG; MOV ES,
BX. Viszont szegmens regiszterbe NEM tudsz kozvetlenul adatot tolteni. Tehat
ugy, ahogy irtad, hogy MOV ES, 0, az nem jo! Ugy csinald, ahogy fentebb irtam,
hogy egy 16 bites regiszterbol toltsd at neki az erteket. Ha 0-t szeretnel
mindenkeppen beletolteni, akkor MOV AX, 0; MOV ES, AX... De neked az ES-be a
STRSEG kell, nem pedig nulla, hacsak nem akarsz krix-krax-okat kiirni a
kepernyore...

3. A legtobb magasszintu nyelvben a fuggvenyek/procedurak lokalis valzozoinak
kezelesehez a BP-t szoktak hasznalni. Ha van doksid a PowerBasic-hez, nezz utan
a
milyen regisztereket hasznalhatsz teljesen szabadon, miknek kell megorizni es a
z
assembly rutin vegen visszatolteni az erteket, es mik azok, amiket egyaltalaban
nem hasznalhatsz...

4. En azert annak is utananeznek, hogy az a felolvaso milyen BIOS funkciokat
fogad el egyaltalan (lehet, hogy a 13h sem jo neki, ha az INT 21h/09h sem jo
stb...)

>  Tekintve, hogy a regiszterek es az egesz memoriakezeles nekem mindig
>kinaiul volt, magamtol nem tudom kiokoskodni a megoldast. Azt kernem,
>maganban is valaszoljatok, nem olvasom a listat.

szoval en igy csinalnam:

     push ax        ; hasznalt regisztereket elmented
     push bx
     push cx
     push si
     push ds

     mov  ah, 0Fh
     int  10h       ; megkapod BH-ban az aktualis video page szamat

     mov  ax, STRSEG
     mov  ds, ax    ; DS-be toltjuk az STRSEG-et (LOADSB-vel olvasunk)
     mov  si, STRPTR     ; remelem ide csak az offsetet toltod, nem a
segmens:offset cimet!
                    ; Szerintem hasznalj inkabb STROFS nevet, ugy egyertelmubb.
     mov  cx, STRLEN     ; ide betoltheted a kiirando string maximalis hosszat
                    ; beirhatsz kozvetlenul is szamot, mondjuk ha
                    ; tudod, hogy egy sztring nem lehet nagyobb
                    ; 80 karakternel stb...
     mov  ah, 0Eh   ; write in TTY mode
     cld            ; olvasas iranya: elore fele
ciklus:
     lodsb
     cmp  al, 0          ; ha a string 0-val van terminalva...
                    ; Nulla helyett vizsgalhatsz pl 'A'-t is,
                    ; es akkor az 'A' fogja terminalni a sztringedet
     jz   vege      ; fejezd be a string kiirasat
     int  10h
     loop ciklus    ; max CX-szer vegrehajtod a ciklust
vege:
     pop  ds        ; hasznalt regisztereket visszatoltod
     pop  si
     pop  cx
     pop  bx
     pop  ax

Remelem segitett valamennyit!
Tamas
ui: azert elolvasnek egy assembly alapozo konyvet, pl. a Petho Adam fele konyv
nagyon jo ilyesmire, de nem tudom lehet-e meg kapni (eleg regen irtak)
+ - Java dinamikus tombok (mind) VÁLASZ  Feladó: (cikkei)
Sziasztok !

Java-ban objektum tomboket szeretnek dinamikusan letrehozni.

Elore nem tudom, hogy hany elemu lesz a tomb, es csak akkora helyet
akarok lefoglalni, amekkora valoban kell. Az elemek futas kozben,
egymas utan keletkeznek, vagyis a tombok merete fokozatosan novekszik.

C-ben ezt pointeres struktura lancokkal lehet megcsinalni, ugy, hogy
minden elem ramutat a kovetkezo objektum cimere, az utolso pedig null-ra.
 
Javaban ezt hogy csinaljak ?

udvozlettel:

Sores Laszlo

+ - Re: VB + Mailing (mind) VÁLASZ  Feladó: (cikkei)
>A kovetkezo kerdesem lenne: egy olyan programot szeretnek
>irni VB-ben, mely tudja kezelni az SMTP es a POP3 szervereket,
>valamint erti a MIME protokollt. Elviekben lehetseges az, hogy
>miutan a Tarcsazoval felpattan egy szerverre, utanna a Winsock
>segitsegevel tudjon kommunikalni. Gyakorlatban ez megvalosithato?
>Ha jol tudom, az interneten a szamitogepek egymas kozt is tobbnyire
>ascii, vagy legalabbis szoveges uzemmodban kommunikalnak.
Az Internet-en alkalmazott protokollok ugyeben latogass el a
www.ietf.org -ra es olvasgass sok-sok RFC-t!

Gabor
+ - VC++ program kiloves (mind) VÁLASZ  Feladó: (cikkei)
Sziasztok

A problemam a kovetkezo: Van egy 'A' nevu programom, ami 
elindit egy 'B' nevu programot (CreateProcess). Az 'A' 
program mindvegig figyeli a 'B' mukodeset, es ha az nem jol 
mukodik, pl. szetfagy, akkor lelovi azt (TerminateProcess) 
es ujrainditja.
Csak az a baj, hogy amikor a 'B' program lefagy, akkor 
sokszor azt egy 'Application Error' ablak megjelenese 
koveti. Viszont, amig erre nem nyomok OK-ot vagy CANCEL-t, 
addig magat a 'B' programot sem tudom leallitani. (Meg a 
Task Managerben sem!) Termeszetesen a program 
ujrainditasnak automatikusnak kell lennie es valahogy ezt a 
hibaablakot is le kene loni, de ez sajnos se nem az 'A' se 
nem a 'B' program ablaka, igy nem tudom elerni.

Tudja valaki, hogy mikeppen lehetne megis ezt a hibaablakot 
elerni, leloni (vagy OK-ot nyomatni vele) es vegeredmenyben 
a 'B' programot leallitani?

Elore is koszi a segitseget.

KTib
+ - meghajto label (mind) VÁLASZ  Feladó: (cikkei)
Hali

Tudja valaki, hogyan lehet lekerdezni egy particio labeljet?
Vegulis en a floppy labeljet akarom beolvasni.

KTib
+ - LCC hiba (mind) VÁLASZ  Feladó: (cikkei)
Sziasztok!

Az lcc-win32 kicsit kiakasztott a minap.
Forditok egy rovid programot es kiakad a kov.
hibauzenettel:

Internal error 1032  line 111

Nagyon ugy nez ki hogy a forditonak van baja, mert
amikor atrendeztem a forrast hogy a 111-es sor
kornyeken semmi se legyen, ugyanezzel
az uzenettel akadt le.

Aztan kikapcsoltam az optimalizalast a
beallitasoknal es rendesen lefordult.

Talalkozott mar kozuletek valaki ilyennel ?
Mi lehet az oka ?
Esetleg milyen masik forditot ajanlatok
az lcc helyett/mellett ?

- Tamas -
+ - Re: Binaris fa (mind) VÁLASZ  Feladó: (cikkei)
Hello Mephysto!

>Szoval valahanyszor megivom a
>Beszur-t, a debug szrint mindig NULL a Jobb es Bal ag.
Mert nem is adsz neki erteket.
Bocs, hogy ilyen sokat beidezek...

void Beszur(int Elem,struct tCsomo *csomo,struct tCsomo *szulo, char irany)
{
        //paraméterek: az elem értéke és az aktuális csomópont
        if (csomo==NULL)
        {
                //új elem felvitele
                csomo=(struct tCsomo*)malloc(sizeof(struct tCsomo));
                csomo->Elem=Elem;
                csomo->Bal=NULL;
                csomo->Jobb=NULL;
                if (irany=='j' && szulo!=NULL) szulo->Jobb=csomo;
                if (irany=='b' && szulo!=NULL) szulo->Bal =csomo;
        }
     else ...
       {
                //rekurzív hívás a rendezettségnek megfelelõen
                if (Elem< csomo->Elem)
                {
                        Beszur(Elem, csomo->Bal, csomo, 'b');
                }
                else
                {
                        Beszur(Elem, csomo->Jobb, csomo, 'j');
                }
        }
}

main()
{    ...
        Beszur(10,&Fix, NULL, ' ');
        Beszur(-10,&Fix, NULL, ' ');
      ...}

(nekem mukodott igy :)

pp
+ - Beszuras a faba (mind) VÁLASZ  Feladó: (cikkei)
Nekem is volt hasonlo problemam. A megoldas az, hogy a Beszur fuggveny "struct 
tCsomo * *csomo"
parametert kapjon, mert te nemcsak a csomo struct mezoit valtoztatod, ez esetbe
n eleg egy csillag, hanem 
a mutato erteket is.
+ - Re: Binaris fa (mind) VÁLASZ  Feladó: (cikkei)
> void Beszur(int Elem, struct tCsomo **csomo)
> {
>         //paraméterek: az elem értéke és az aktuális csomópont
>         if ((*csomo)==NULL)
>         {
>                 //új elem felvitele
>                 (*csomo)=(struct tCsomo*)malloc(sizeof(struct tCsomo));
>                 (*csomo)->Elem=Elem;
> 
>  ... es igy tovabb.
> 
> Meghivni pedig:
> 
> Beszur(10,&&Fix);
> 
> -el kell, ertelemszeruen.
> 

nem. csak egy 'lvalue'-nak lehet a cimet venni ( operator & )
peldaul egy valtozonak:

tCsomo *ptr;
&ptr;        // ok

a javasolt hivas: &&Fix nem fordul le.

osszesen ket fajta javaslat fordult elo. nekem szemely szerint sokkal
jobban tetszik, ahol a Beszur fuggveny visszaadja az uj mutatot. 
c-ben ez a termeszetesebb - szerintem -, mivel maga a nyelv ertek szerint
adja at a fuggvenyparametereket. 
azok a konstrukciok, ahol a fuggveny megvaltoztatja a parameterenek az
erteket, illetve a  "pointer to pointer" es ennel bonyolultabb dolgok
nehezitik a progi olvasasat. 
dani

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