Hollosi Information eXchange /HIX/
HIX CODER 951
Copyright (C) HIX
2000-09-22
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 C ujonc (mind)  17 sor     (cikkei)
2 Re: DELPHI-bol futtatas (mind)  13 sor     (cikkei)
3 Re: Asm problema (mind)  14 sor     (cikkei)
4 Graf bejarasa es cimkezese vhogy (mind)  16 sor     (cikkei)
5 p2c portolas vondozera (mind)  10 sor     (cikkei)
6 Re: C tutorial kezdoknek (mind)  19 sor     (cikkei)
7 Re: *** HIX CODER *** #950 (mind)  20 sor     (cikkei)
8 Re:DELPHI-bol futtatas (mind)  12 sor     (cikkei)
9 Re: Re: [Win32 ASM] Real modu interrupt- es memkezeles (mind)  11 sor     (cikkei)
10 Re: c++ tomb by Meszaros Andras (mind)  118 sor     (cikkei)
11 Re: Asm problema (mind)  15 sor     (cikkei)

+ - C ujonc (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Most tanulom csak a C-t linux alatt. Foleg online manualokbol
tanulgatom. Tudnatok mondani jo C konyvet, ami nem csak a Windows-hoz
ragaszkodik? Lehet angol is, de a magyar lenne az igazi...
Mas. Irtam mar olyan programot, ami kiirja a szorzotablat. Ennek
kapcsan jutott eszembe, hogy hogyan lehetne szines szoveget kirni? A
printf -nek van vmi opcioja?

Elnezest, ha tul egyszeru, hulye, kerdesekkel zaklattalak Titeket, de
csak 2 napja ismerem a C-t.

Elore is kosz a segitseget:

Novak Aron
Nem vagyok a listan, legyszi ) is kuldjetek
az esetleges valaszaitokat
+ - Re: DELPHI-bol futtatas (mind) VÁLASZ  Feladó: (cikkei)

> Tudna valaki abban segíteni, hogy DELPHI 1.0-ból hogyan tudnám
> elindítani pl. a Word-öt úgy, hogy betölt egy paraméterben megdott
> dokumentumot?

- Ha letezik a doc, akkor jo lesz :)

Udv: Tibor

--< >--

uses shellapi;

shellexecute(0,nil,'c:\tmp\mydoc.doc',nil,nil,sw_shownormal);
+ - Re: Asm problema (mind) VÁLASZ  Feladó: (cikkei)

> 10,12,Elso sor.
> 
> A feladat: a szamok altal jelzett koordinatara a szoveget kiirni. A
> gondom ezzel az, hogy a regiszterbe a 10 ASCII kodja kerul, mig
> nekem a sima 10-es szam kellene. Hogyan lehet "atkonvertalni"?
> (egyebkent minden oke, file megnyitas stb...)
> Tanacsokat kernek, ha lehet, _ne_ megoldast.

- szamma alakitod a kodot :)
-- szamjegy(0..9) eseten a szamjegy ASCII kodjabol kivonod a '0' ASCII
kodjat, maris megkaptad az erteket :)
-- hexa-kodnal (A..F) a megoldas ennel joval bonyolultabb ... ;)

Udv: Tibor
+ - Graf bejarasa es cimkezese vhogy (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

Ki foglalkozik grafokkal.

1. Egy grafot bejarni, es a veget
   (levelet) "leszedni" (megcimkezni)
   rekurzivan, mig mar nem lehet belole
   "leszedni", egybefuggo lett vagy elfogyott.

 R-----+---+---Levele
       /   \
      /     \
     /       Levele
  Levele

udv.: XiX/PsychoMix
+ - p2c portolas vondozera (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

Kiprobaltam a Linuxos P2C programmot (athoztam vindoze ala). Siman
lefordult (meg) csak a directory (es file) kezelest nem tudom
"mukodtettni".

Nincs vhol egy illyen portolva???
Me akko neki esek :))) vhogy :)))

udv.: XiX/PsychoMix
+ - Re: C tutorial kezdoknek (mind) VÁLASZ  Feladó: (cikkei)

Hali!

  writes:

> ...
> Milyen forditot es IDE-t ajanlatok ?

Fordito: gcc
IDE: emacs

> Egy abszolut kezdonek az a lenyeg hogy ne kelljen mindenfele
> beallitasokkal foglalkoznia meg projectet sem letrehoznia, megirja a
> forrast, es azonnal fordithatja.

Ezt talan mindegyik tudja.

-- 
Imre Palik
            Microsoft Certified Angry OS Rebooter
+ - Re: *** HIX CODER *** #950 (mind) VÁLASZ  Feladó: (cikkei)

> Felado :  [Hungary]
> Temakor: Re: [Win32 ASM] Real modu interrupt- es memkezeles ( 8 sor )
> Idopont: Wed Sep 20 17:04:25 EDT 2000 CODER #950
> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
>>Meg valamit: a Win95 SDK-t es DDK-t hol lehet letolteni? Kerestem az
>>MS Download Centerben, de nem talaltam. :(
>
>SDK: http://msdn.microsoft.com/downloads/sdks/platform/platform.asp
>
>A DDK is megvan valahol, de szerintem azt nem lehet letölteni.

A win95-os DDK nem ingyenes a tobbi nt, 98-as, es 2000-es igen, es
letoltheto. Az SDK nem fugg az op. rendszertol, mindegyiknel
(95,98,nt,2000) egy van. A letoltes is meg van valahol, en regen az nt
DDK-bol indulva talaltam meg (2 eve), de nincs meg az URL-em.

Udv.

TI.
+ - Re:DELPHI-bol futtatas (mind) VÁLASZ  Feladó: (cikkei)

Szia,

Mar a D1 is tartalmazza a ShellExecute() fuggvenyt. A uses listahoz
add hozza: ShellApi;.
Aztan mondjuk:

ShellExecute(Application.Handle, 'open', 'c:\mydoc.doc', nil, nil,
SW_SHORNORMAL);
Bovebb informacio a ShellExecute()-rol az SDK Help-ben.

Karsai Peter

+ - Re: Re: [Win32 ASM] Real modu interrupt- es memkezeles (mind) VÁLASZ  Feladó: (cikkei)

>>Meg valamit: a Win95 SDK-t es DDK-t hol lehet letolteni? Kerestem az
>>MS Download Centerben, de nem talaltam. :(
>
>SDK: http://msdn.microsoft.com/downloads/sdks/platform/platform.asp
>
>A DDK is megvan valahol, de szerintem azt nem lehet letölteni
De le lehet. http://www.microsoft.com/ddk/ (W95 DDK-t ugyan nem lehet
letolteni, de a W98DDK-ban benne van az egesz, meg a legacy
dokumentaciok is.)

Gabor
+ - Re: c++ tomb by Meszaros Andras (mind) VÁLASZ  Feladó: (cikkei)

On 20 Sep 2000, at 8:23,  wrote:

> >    delete [] tomb;
> >
> > ha mar tombosen kertel new-t.
> 
> pelda:
> 
> char *a=new char[12];
> 
> delete a;
> 
> siman felszabaditja a lefoglalt 12 byte-ot!!! (egy pointer altal
> elfoglalt memoriterulet felszabaditasa a cel...)

Hogy az adott kornyezetben veletlenul jol mukodott igy a delete, nem
kovetkezik , hogy jo is. Itt egy pelda: (Ez egy tok sima osztaly,
eppen csak csinaltam bele nehany kiirast, hogy lassuk, mi mikor es
hogyan tortenik)

-------- 8< --------
#include <malloc.h>
#include <stdio.h>

class object
{
public:

   void *operator new(size_t const n) {
      void *p = malloc(n); printf("new(%d)=%08x ", n,p);
      return p;
   }
   void *operator new[](size_t const n) {
      void *p = malloc(n); printf("new[](%d)=%08x ", n,p);
      return p;
   }

   void operator delete(void *const p) {
      printf("delete(%08x)\n", p); free(p);
   }
   void operator delete[](void *const p) {
      printf("delete[](%08x)\n", p); free(p);
   }

   object() { printf("constr %08x ", this); }
   ~object() { printf("destr %08x ", this); }

   int valtozo[5];      // 20 byte a meret
};


int main()
{
   object *obj, *arr;

   printf("\n obj=new object: ");     obj = new object;
   printf("\n delete obj: ");         delete obj;

   printf("\n arr=new object[2]: ");  arr = new object[2];
   printf("\n delete [] arr: ");      delete [] arr;

   printf("\nEz igy viszont nem jo:");
   printf("\n arr=new object[2]: ");  arr = new object[2];
   printf("\n delete arr!!! ");       delete arr; // !!!!!!!

   return 0;
}
-------- >8 --------

msvc-vel forditva ez a futas eredmenye:

-------->
 obj=new object: new(20)=00410b40 constr 00410b40
 delete obj: destr 00410b40 delete(00410b40)

 arr=new object[2]: new[](44)=00410b60 constr 00410b64 constr 00410b78

 delete [] arr: destr 00410b78 destr 00410b64 delete[](00410b60)

Ez igy viszont nem jo:
 arr=new object[2]: new[](44)=00410b90 constr 00410b94 constr 00410ba8
 delete arr!!! destr 00410b94 delete(00410b94)
<--------

Vagyis a sima delete a vegen csak a tomb elso elemet destruktalta, es
nem is jo pointerrel hivta meg a delete operatort! Kesz csoda, hogy a
free() nem szallt el miatta. (Figyeld meg azt is, hogy nem 2*20
byte-ot foglalt a 2 elemu tombnek. Elotte van gondolom az elemszam,
abbol tudja a delete[], hogy mennyit kell destruktalni.)
Ugyanazt a programot leforditva gcc-vel igy fut:

-------->
 obj=new object: new(20)=0a031588 constr 0a031588
 delete obj: destr 0a031588 delete(0a031588)

 arr=new object[2]: new[](48)=0a031588 constr 0a031590 constr 0a0315a4
 delete [] arr: destr 0a0315a4 destr 0a031590 delete[](0a031588)

Ez igy viszont nem jo:
 arr=new object[2]: new[](48)=0a031588 constr 0a031590 constr 0a0315a4
 delete arr!!! destr 0a031590 delete(0a031590)
[main] a.out 1263 (0) handle_exceptions: Exception: 
STATUS_ACCESS_VIOLATION
<--------

Szoval itt is hasonlo a helyzet, sot, kicsit jobb, hisz kapasbol el is
szallt a free() attol, hogy olyan memoriacimmel van meghiva, ami 8
byte- tal a malloc altal visszaadott moge mutat, vagyis nem kell
kesobb keresni az okat egy misztikus, veletlenszeru memoriahibanak :)

Egyebkent alap tipusok eseten nincs ez a memoria overhead sem, meg
destruktalni sem kell oket, ugyhogy ott 'veletlenul' tenyleg jol
mukodik a sima delete is, megsem hiszem, hogy erdemes raszokni...

István

--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --
+ - Re: Asm problema (mind) VÁLASZ  Feladó: (cikkei)

> 10,12,Elso sor.
> 12,14,Masodik sor.
> 14,18,Utolso sor.

> A feladat: a szamok altal jelzett koordinatara a szoveget kiirni. A
> gondom ezzel az, hogy a regiszterbe a 10 ASCII kodja kerul, mig
> nekem a sima 10-es szam kellene. Hogyan lehet "atkonvertalni"?

Nullazz ki egy valtozot, ebbe gyujtsd majd a szamot. Vesszoig olvasd a
stringet, es minden karakternel (levizsgalhatod, hogy szam-e) szorozd
meg a gyujtot tizzel es add hozza az aktualis szamjegyet. A szamjegyek
(0-9) ASCII kodja 48-tol 57-ig terjed, ezt le kell vonnod (es az
esetleges vizsgalatnal is).

Mikike

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