Hollosi Information eXchange /HIX/
HIX CODER 1227
Copyright (C) HIX
2001-07-05
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Ujra Port-ok (mind)  22 sor     (cikkei)
2 exe header (mind)  9 sor     (cikkei)
3 varakozas egy fajlra (mind)  15 sor     (cikkei)
4 Re: Dinamikus (novekedo) tomb (mind)  17 sor     (cikkei)
5 Re: Dinamikus tomb, c++ [hosszu] (mind)  95 sor     (cikkei)
6 RE:Java kod visszafejtes? (mind)  8 sor     (cikkei)
7 Port kezeles (mind)  21 sor     (cikkei)

+ - Ujra Port-ok (mind) VÁLASZ  Feladó: (cikkei)

Udv !


Bocsanatot kerek, felreertheto volt a megfogalmazasom.
Koszonom a valaszokat.

Csak kezdo programozo vagyok, igy meg sok mindent nem tudok kezelni,
de nem ez a fo gond.
Tulajdonkeppen inkabb azt szeretnem megtudni, hogy az egyes portoknak
milyen a labkiosztasa es azok mit jelentenek. Arra gondolok, hogy
vannak csak irhato, vagy csak olvashato, ill. irhato es olvashato
polusok is. Pl. a parhuzamos porton egyszerre ( ha jol tudom ) 8 bit
(egy byte) adat megy ki egyszerre, szeretnem tudni, hogy az egyes
biteknek a 25 pin kozul melyik felel meg, es ha ezekre akarok adatot
irni akkor melyik portra kell irni es mit (pl. 3F8 vagy hasonlo).
Termeszetesen a tobbi pin jelentesere is kivancsi vagyok.

Elnezest kerek ha nehezen ertheto a dolog, valamikor regebben lattam
vagy hallottam ilyesmit, de nem emlekszem ra, hogy hol, esetleg
konyvben vagy halottam valakitol ?

Udv.        Pista.
+ - exe header (mind) VÁLASZ  Feladó: (cikkei)

Hali!

Nem tudtok veletlenul egy normalis doksit az exe-k fejleceivel
kapcsolatban? Neztem a www.wotsit.org-on meg kaptam is, de elegge
gagyi minoseguek...

koszi
 sm
ui.: persze url is jo...
+ - varakozas egy fajlra (mind) VÁLASZ  Feladó: (cikkei)

Hali!

Biztos hogy mar talalkoztatok hasonlo problemaval...
Szoval van egy fajlom amibe egy process ir, es a fajl tartalmat
szeretnem olvasni. Csak annyi a gond hogy neha nem tudok hozzaferni a
fajlomhoz, ami miatt accesviola...:(
Hogy szokas az ilyen varakozasokat megoldani? Gondoltam, hogy talan
egy timerrel, (bcb-ben van kapasbol TTimer) mondjuk 5ms-onkent
probalok hozza ferni, es egyszer csak lezarja...ezutan mar
olvashato...
Van mas megoldas? A hozzaferest mivel erdemes
ellenorizni?

kosz & udv
 sm
+ - Re: Dinamikus (novekedo) tomb (mind) VÁLASZ  Feladó: (cikkei)

Az rtin szerint  azt irta, hogy:

> A kovetkezot szeretnem megvalositani c++ -ban:
> 
> Egy olyan tombhoz hasonlo adatszerkezetet szeretnek kesziteni,
> amiben egyforma meretu elemeket lehet tarolni, azokat index alapjan
> elerni, de a tomb merete nem fix, hanem menet kozben novekszik,
> ahogyan uj elemeket rakok bele. (uj elemet mindig csak a vegere
> rakok, ami egyszer belekerult, kesobb nem veszem ki.)
> A tombnek hatekonyan kellene mukodni akkor is ha nagyon keves, de
> nagy meretu (tobb 100 kB), vagy nagyon sok, de kicsi (10 byte)
> elembol all. A hatekonysagot egyreszt sebesseg (gyorsan el lehet
> erni barmelyik elemet az indexe alapjan), masreszt a memoria
> felhsznalas teren ertettem.

std::vector nem jo?
                                Bye,NAR
+ - Re: Dinamikus tomb, c++ [hosszu] (mind) VÁLASZ  Feladó: (cikkei)

> .. c++ -ban:
> egyforma meretu elemeket lehet tarolni, azokat index alapjan elerni,
> de a tomb merete nem fix, hanem menet kozben novekszik, ahogyan uj
>elemeket rakok bele.

Hasznalj szabvanyos megoldast: STL (standard template library). Ez
magyarul egy C++ osztaly gyujtemeny (forrasban), rengeteg szepen
elkeszitett adattarolasra szolgalo objektummal.

Ingyenes Borland C++ 5.5 parancssoros forditon is hasznalhato, ahhoz
adnak egy viszonylag jo STL-t is.

A Te problemadra a megoldas a "vector" osztaly hasznalata. Ez OK, ha a
vector osszmerete meg nem eri el kb a RAM-od meretet. Gyakorlatilag
csak annyi memoriat igenyel, amennyi maga a belerakott adatok merete.

1 dologra vigyazz: a default megvalositas az, hogy amikor sorban
pakolod bele az elemeket, elore lefoglal kb 10KB helyet, es azt tolti
fel. Ha ez betelt, akkor a kovetkezo ujrafoglalasnal megketszerezi a
vektor meretet - igy ugyanis kb. konstans ido alatt tudja mindig a
vektort novelni. Ez ritkan, de neha problemas, mert akar 2x annyi
memoriat is felhasznalsz, mint amennyi pontosan kell.

Ezen legalabb 2 felekeppen lehet segiteni:
- ha elore sejted v. tudod a pontos elemszamot, elore allokalhatsz
helyet az adatoknak.
- forditasi kapcsoloval letilthatod a 2x-ezest.

+Bonusz: az adatok a memoriaban pont ugy helyezkednek el, mint a jo
oreg C-s tomboknel, tehat C-s pointert is hasznalhatsz az adatok
eleresenel.

Pelda:

#include <stdio.h>
#include <string.h>
#include <time.h>

#include <vector>
using namespace std;

class MyData
{
 public:
   int egesz;
   char szoveg[200];

   MyData(int e, char* sz) {
      egesz=e;
      strncpy(szoveg,sz,200);
      szoveg[199]='\0';
   }
};

typedef vector<MyData> MyDataVector;

void vdump(MyDataVector& v)
{
   printf("vector size = %d\n", v.size());
   for(int i=0; i<v.size(); i++)
      printf("v[%d] = (%d, '%s')\n", i, v[i].egesz, v[i].szoveg);
}

int main()
{
  MyDataVector v;

   //sebesseg teszt
   v.clear(); //biztos ami ziher, kiuritjuk a vektort
   MyData d(100,"sebesseg teszt szoveg");
   time_t t1 = time(0);
   for(int i=0; i<100000; i++)
      v.push_back(d);
   time_t t2 = time(0);
   printf("%d elem beszurasa %d masodpercig tartott.\n",v.size(),int(t2-t1));

   //feltoltes, kiiratas
   v.clear();
   for(int i=0; i<10; i++) 
      v.push_back(MyData(i,"hello"));
   vdump(v);

   //C-s pointer machinacio
   MyData* dp = v.begin();
   MyData* dpe = v.end();
   for(; dp != dpe; dp++)
      printf("%d ",dp->egesz);
}

Meg nezz utana az iteratoros adat eleresnek, azt celszeru hasznalni.

bocs a hosszuert.
-- 
Jozsi

+ - RE:Java kod visszafejtes? (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok !

En is mostanaban talalkoztam egy JAD nevu programmal, ami minden
problema nelkul visszafejtett eddig mindent, amit csak akartam. Innen
letoltheted : www.geocities.com/kpdus/jad.html

udv
           bobo
+ - Port kezeles (mind) VÁLASZ  Feladó: (cikkei)

Szia!

> Felado :  [Germany]
> Temakor: Port-ok ( 11 sor )
> Segitseget szeretnek kerni abban, hogy a soros es parhzamos portokat
> hogyan tudom programbol vezerelni. Pontosabban az erdekel, hogy a
> csatlakozok erintkezoi mit jelentenek es milyen jelek jelennek meg
> es erkeznek rajuk, es ezeket hogyan tudom programbol valtoztatni
> mondjuk Pascal nyelven. Ha lehet szeretnek irni, olvasni a a fent
> emlitett portoka/-rol.

A cegnel, ahol dolgozom, irni kellett egy drivert amely muszereket
kezel, de kitetel volt, hogy Win9x-W2K alatt is menni kell. Utanna
neztem es a CreateFile, ReadFile, WriteFile, GetCommState,
SetCommState, WaitCommEvent,... stb API fuggvenyekkel csinaltam,
tokeletes lett, semmi problemam nem volt egyik operacios rendszer
alatt sem, valojaban fizikailag nem driver lett, hanem egy DLL es
abban szalban oldottam meg a port kezelest, tehat en ezt ajanlom.
Ha erdekel akkor nezd meg az MSDN - ben.

by Doma

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