Hollosi Information eXchange /HIX/
HIX CODER 1430
Copyright (C) HIX
2002-02-10
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: C program kerdes (mind)  30 sor     (cikkei)
2 Delphi fajlmuvelet (mind)  15 sor     (cikkei)
3 cd grabbeles (mind)  10 sor     (cikkei)
4 Re: C program kerdes (mind)  63 sor     (cikkei)
5 C program kerdes (mind)  53 sor     (cikkei)
6 re: C program kerdes (mind)  25 sor     (cikkei)
7 Re: mysql fuggvenyek - php (mind)  11 sor     (cikkei)

+ - Re: C program kerdes (mind) VÁLASZ  Feladó: (cikkei)

Hello

>int *ptr();
Mert ez nem egy int-et visszaado fugvenyre mutato pointer-t deklaral, hanem
egy intre mutato pointer-t visszaado fuggvenyt.
Meg kell vedened :
int (*ptr)(void);



>Hogyan lehet erteket adni neki ?
ptr = fn;



>Hogyan lehet meghivni ?
*ptr( );

>Hogyan lehet ezt egy fuggvenypointer-tombbel megtenni ?
deklaracio:
int (*ptr_array[NUM_OF_FUNCS])( void );
ertekadas:
ptr_array[x] = x_fn;
meghivas:
(*ptr_array[x])( );


Minden jot!

Robi
+ - Delphi fajlmuvelet (mind) VÁLASZ  Feladó: (cikkei)

U:dv mindenkinek!
Most ismerkedem a Delphi nyelvvel, e's kicsit megakadtam.A ke'rde's a ko:vetkez
o": hogy lehetne legegyszeru"bben fa'jlba i'rni olvasni? I'rtam egy kis program
ocska't, me'rte'kegyse'geket va'lt a't oda-vissza.Arra gondoltam, hogy -a fa'jl
mu"veletek alapjait gyakorolando'- kiege'szi'tene'm azzal, hogy a "kine'zete't"
(szi'n, betu"me'ret, me'ret, stb) meg lehessen va'ltoztatni, azta'n ezt elmente
ni, e's indi'ta'skor mindig fa'jlbo'l beolvasni.Tudom, hogy ele'g "kezdo" o:tle
t", de valahol el kell kezdeni.Teha't csak egy-ke't o:tletet szeretne'k, tana'c
sot, esetleg icipici ko'dre'szletet, Interneten fellelheto" pe'lda't(e'n ilyent
 nem tala'ltam) vagy ba'rmit, ami szerintetek segi't..

Ko:szo:nettel:Jon


(webes bekuldes, a bekuldo gepe: dialin13-isdn.emitel.hu)
+ - cd grabbeles (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Sikerult megoldanom a cd-grabbelest, akit erdekel, annak elmeselem, mik
voltak a buktatok...

Udv
-- 
Tamas Selmeci / TORiUM
Powered by Linux (2.4.2-2)
http://filemanager.fw.hu
+ - Re: C program kerdes (mind) VÁLASZ  Feladó: (cikkei)

Hello,

Eloszor is typedeffel deklaralni kell egy uj tipust, 
valahogy igy:

typedef <visszateresi ertek> (*fnnev) (parameterek)

Kesobb az fnnev nevvel hivatkozhatsz erre a tipusra.

A kovetkezo pelda egy olyan fuggveny mutato mutatot 
deklaral, aminek int a visszateresi erteke es nincs 
parametere:
typedef int (*fnptr) ();

A kovetkezo pelda-fuggveny visszateresi erteke szinten int, 
de van egy int tipusu parametere:
typedef int (*fnptr2) (int);


Ime egy rovid pelda program a hasznalatra.


typedef int (*fnptr) ();
typedef int (*fnptr2) (int);

int fn1()
{
	return 1;
}

int fn3(int x)
{
	return x;
}

void main()
{
    fnptr pt;
    fnptr2 pt2;
    pt = fn1;
    pt2 = fn3;

    (*pt)();
    (*pt2)(56);
}

Tombot ugyanugy hasznalhatsz ezzel a mutato tipussal, mint 
barmelyik masikkal.
Pl:

fnptr pt[2];

pt[0] = fn1;
pt[1] = fn2;  
/* Persze az fn2-nek ugyanolyan prototipussal kell 
rendelkezni, mint az fn1-nek */

(*pt[0])(); /* Az fn1-et hivja */
(*pt[1])(); /* Az fn2-ot hivja */

Remelem ertheto voltam.

Tamas
+ - C program kerdes (mind) VÁLASZ  Feladó: (cikkei)

> C-ben szeretnek kepernyopoziciotol fuggoen kulonbozo fuggvenyeket
 > meghivni. Ehhez azt talaltam ki, hogy lesz egy fuggvenypointerem,
 > amelyiknek poziciotol fuggoen mindig az aktualis fuggveny cimet adom
 > meg.
 > A problemam az, hogy nem tudok erteket adni neki.
 > Idaig jutottam:
 > 
 > int *ptr();

Ez nem egy pointer egy fuggvenyre, hanem egy fuggveny, ami pointert ad 
vissza.

  int (*ptr)() 
  
a pointer egy fuggvenyre ami int-ed ad vissza.
 
 > int fn()
 > { ...
 > }
 > 
 > main()
 > { ptr = fn;     /* ez nem mukodik, mashogy beirva sem */
 > }
 
Ha a pointer jol van deklaralva, akkor mukodni fog! 
 
 > Hogyan lehet erteket adni neki ?

Ahogy csinaltad.
 
 > Hogyan lehet meghivni ?

 main()
 {
   ptr = fn;
   (*ptr)();
 }
 
 > Hogyan lehet ezt egy fuggvenypointer-tombbel megtenni ?

int (*ptr[10])();

main()
{
  ptr[0] = f0;
  ptr[1] = f1;
  ..
  ptr[9] = f9;
  
  (*ptr[n])();
}

Zoltan
+ - re: C program kerdes (mind) VÁLASZ  Feladó: (cikkei)

>> A problemam az, hogy nem tudok erteket adni neki.
az a problemad, hogy nem az a problemad :-)

>> int *ptr();
az indirekcio itt ugyanis az int-hez tartozik. helyes 
megoldas zarojelezessel valosithato meg:
int ( * ptr )();

>> int fn()
>> { ...
>> }

>> Hogyan lehet erteket adni neki ?
igy :
>> main()
>> { ptr = fn;     /* ez nem mukodik, mashogy beirva sem */
>> }

>> Hogyan lehet meghivni ?
pl: if( EXIT_FERROR == ptr() ) ...;

>> Hogyan lehet ezt egy fuggvenypointer-tombbel megtenni ?
dinamikus vagy statikus tombbel?

udv  hS
+ - Re: mysql fuggvenyek - php (mind) VÁLASZ  Feladó: (cikkei)

Udv!

Azert ez alapveto hiba!
a @ elotaggal a hibat nyomod el, attol meg nem mukodik a fuggvenyed, csak
nem sir erte a php.
Linuxon biztos nincs beledrotozva vagy modulkent felrakva a mysql
tamogatas. Szolj a rendszergazdanak hogy csinalja meg es utanna mukodni
fog.

-- 
Hofi

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