Hollosi Information eXchange /HIX/
HIX CODER 79
Copyright (C) HIX
1998-04-16
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: CODER #77 / Pascal VS C (mind)  15 sor     (cikkei)
2 Re: CODER #75 / DOS <-> Win (mind)  12 sor     (cikkei)
3 Inf.keres (mind)  7 sor     (cikkei)
4 Varakozas (mind)  7 sor     (cikkei)
5 Karakterfelismeres (mind)  83 sor     (cikkei)
6 Re: Win32Exec (mind)  66 sor     (cikkei)

+ - Re: CODER #77 / Pascal VS C (mind) VÁLASZ  Feladó: (cikkei)

> Pascal nagy projektekre eleve alkalmatlan (tulzottan tipusos) mi marad az
> embernek (ha nem mazochista asszembleres vagy kiscsoportos Visual
> Basic-es)? Valasz: C++ (hehehe)

Skacok, ne kezdjetek ujra a rozsdas vitat... A Pascal ugyis jobb... O:) Naturba
n
gyengecske, de egy kis ASM-vel kombinalva csodakra kepes (es az ember mosogepe
sem lesz vizkoves)... mindket nyelvnek megvan a sajat erossege, es kesz.
Egyebkent mit nevezel nagy projectnek? Kevesen ulnek le pascalban (v. masban)
OPrendszert irni... :)

> (Hogy van ez magyarul stack es heap?)

A stack veremtar, a heap nemtommi... de mindket kifejezest utalom, maradok az
angolnal... :)
+ - Re: CODER #75 / DOS <-> Win (mind) VÁLASZ  Feladó: (cikkei)

> Felado : Gyongyosi Peter
> ekezetek helyett erdekes karakterek jonnek be. Nincs lelkierom atirni a
> 100 oldalnyi szoveget, inkabb irnek ra egy programot, de ahhoz elobb

Szerintem egyszerubb lenne a kedvenc szerkesztod Search&Replace funkciojat
hasznalni...

> tudnom kene, mi a kulonbseg a ket karakterkiosztas kozott, tehat modjuk
> az ekezetes karaktereknek mi az ASCII kodja mindkettoben kulon.

Fejbol nekem sem megy, elinditasz egy Win-es szovegszerkesztot, es
sorraprobalod a kodokat, mondjuk 125-tol...
+ - Inf.keres (mind) VÁLASZ  Feladó: (cikkei)

Helo mindenkinek!

Olyan gondom van, hogy W95-ot alatt, tobb progi fut, es az eggyik hatterben lev
ore kellene egy ket billentyu lenyomast iranyitani!
A keret progi ASSENBLY!


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

Udv Coderek!

Lenne egy keredesem: hogyan lehet PC-n mikroszekundumos kesleltetest
(wait, delay ...) elerni. Tudom, hogy van valami 5-6 soros asm kod, de
sajnos a vinyom eluszott, igy nem tudom hogyan volt a kod.
  Koszi
Jalsovszky Tamas
+ - Karakterfelismeres (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Jo ideje nem irtam mar ebben a temaban, nem tudom, emlekeztek-e meg
ra? :)

Pontosabban irtam vagy egy honapja, csak eppen akkor, amikor a
HIX-nek valami baja volt eppen, ezert a levelem elveszett, es csak
most vettem magamon eleg erot, hogy ujra begepeljem a levelet...

Emlekeztetoul: Legutoljara a korbejarasrol, valamint a fekete-feher
atmenet kereseserol volt szo. Most nehany erdekes feladatot mondok a
temaval kapcsolatban. (Ugy latszik, en is kovetem a divatot, megint
csak feladatokat talalok ki :) Mentsegemre szolgal, hogy ezek a
feladatok olyan adatokat szolgaltatnak, amiket pl. a Recognita
programban felhasznalunk. Masreszt tenyleg erdekes es (remelem)
meglepo dolgok fognak kiderulni beloluk, ezert nem volt szivem
kihagyni oket, annak ellenere, hogy mostansag tenyleg sok volt a
feladat a listan.)

Mindenesetre megigerem, hogy ezek utan mar nem feladatokat fogok
adni, hanem osszefoglalva ezen feladatok megoldasait a
felhasznalasukrol irok, majd pedig atterek az osztalyozas - tanulas
temakorokre.

Szoval a korbejaras soran nagyszeru lehetoseg adodik arra, hogy
bizonyos informaciot szerezzunk arrol az alakzatrol, amit eppen
korbejarunk. Ezen feladatok arrol szolnak, hogy bizonyos egyszeru
aritmetikai muveletekkel kiszamolunk valamit, es ra kell jonni, hogy
mi az a mennyiseg, amit ezek a muveletek szolgaltatnak:

1.) Mikozben korbejarjuk az alakzatot a fekete-feher atmenetek menten
a harom elemi lepessel (elorehaladas az el menten, fordulas oramutato
jarasaval azonos, illetve ellenkezo iranyba), ugy, hogy a korbejaro
vektor iranyatol jobbra mindig fekete, balra pedig feher pixel
talalhato (vagyis ket ilyen pixel kozotti atmeneten all a vektorunk),
egy valtozo erteket a kovetkezoek szerint modositjuk:

- Indulaskor 0 van benne
- Elore haladaskor valtozatlanul hagyjuk a valtozot
- Oramutatoval azonos iranyu fordulaskor noveljuk az erteket 1-gyel
- Ellenkezo iranyu (balra) fordulaskor csokkentjuk az erteket 1-gyel.

Amikor visszaertunk a kiindulasi allapotba a kis korbejaro vektorral
(ugyanazon koordinata, ugyanazon irany), mi lesz ebben a valtozoban,
szoval mit szamoltunk ki?

Azt, hogy mindez mire jo, majd elmeselem...

Javaslom, hogy gondoljatok vegig a dolgot eloszor egy 1 pixeles
'alakzaton', majd egy teglalap alaku alakzaton, majd bonyolultabbakon
is.

2.) A feladat ugyanaz, mint az 1.) pontban, eppen csak az alakzat,
amit bejarunk, egy lyuk. Emlekeztetoul: a lyukat ugyanazzal a
feher-fekete atmenet keresessel talaljuk meg, mint a betu kulso
korvonalat, es ugyanazokkal a szabalyokkal is jarjuk be. (Lasd
fentebb.)

3.) A betu korvonalat korbejarva most mashogyan modositjuk a valtozo
erteket. Most nem a relativ fordulasok azok az esemenyek, amik
erdekelnek, hanem az abszolut allapotok:

- Indulaskor a valtozo erteke 0
- amikor a vektor jobb fele mutat, nem valtoztatjuk az erteket
- amikor a vektor lefele mutat, noveljuk az erteket a vektor X
koordinatajaval
- amikor a vektor balra mutat, nem valtoztatunk
- amikor felfele mutat, csokkentjuk az erteket az X koordinataval.

Emlekeztetoul: Koordinata rendszerunk, amiben a vektor mozog, a
pixelek kozotti atmenetet tekinti koodrdinatapontnak, es nem a
pixelek kozeppontjat. A vektor mindig egesz szamu koordinatapontokban
van. Az origo lehet barhol, egyszeruseg kedveert elkepzelhetitek a
betu legbaloldali pixelenek bal hataranal.

4.) Ugyanugy szamolunk, mint a 3.) pontban, csak megint nem egy
betu kulso korvonalat, hanem a lyukjat jarjuk be.

Varom a megoldasokat!

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

Sziasztok!

> Mark adta eloszor a tippet es ra is talaltam a pelda programok kozott
> arra a Win32Exec-re, ami tenyleg nem gyari fv.

Megneztem a kulonbseget az altalam hasznaltak es a Win32Exec kozt es a
kovetkezoket talaltam:

- A Win32Exec nem fog visszaterni addig, amig az elinditott program fu-
  tasa veget nem er. Lehet, hogy eredetileg ez volt a cel, de erre nincs
  mindig szukseg, legalabbis nekem nem kellett.

  a/ "Nem va'ro's" megoldas:

        WaitForInputIdle( pi.hProcess, 10000 );

     Ez a fuggveny varni fog (csak GUI applikcaiok eseteben), mig a meg-
     adott processnek nincs tobb feldolgozando user inputja, vagyis el-
     indult es inicializalodott, de maximum a megadott ideig var
     (timeout in milliseconds).

  b/ "Va'ro's" megoldas:

        if( WaitForSingleObject( piProcess.hProcess, INFINITE ) !=
                                                         WAIT_FAILED )
        {
            GetExitCodeProcess( piProcess.hProcess,&dwExitCode );
        }

     Itt a WaitForSingleObject() fv. var a process megszuneseig, mivel
     egy thread vagy process handle "signaled" lesz, ha veget er.

- En a CreateProcess elso parameteret hasznaltam (lpApplicationName),
  hogy megadjam a vegrehajtando program nevet. Nincs nagy jelentosege,
  a Help is irja, hogy milyen feltetelekkel lehet a szukseges neveket,
  egyebeket a ket parameter kozt elosztani.

- A STARTUPINFO strukturaban a Win32Exec pelda nem allitja be a dwFlags-
  nel, hogy a wShowWindow parametert vegye majd figyelembe a
  CreateProcess, en viszont megteszem:

        si.dwFlags      = STARTF_USESHOWWINDOW;
        si.wShowWindow  = SW_SHOW;

      Nincs idom az ellenprobara, ha tudjatok, irjatok mar le, hogy
      enelkul hogyan indul a (GUI) process (a Win32Exec-ben ez mind 0)!
      Elkepzelheto, hogy latszani fog, de pl. nem lesz egybol az ove a
      fokusz, stb.

- En nem foglalkoztam ezekkel a flagekkel (dwCreationFlags), de a Helpet
  elolvasva eleg esszerunek tunik a hasznalatuk (az aktualis "error
  mode"-ot hasznalja a "hard error"-okhoz, vagyis ha mar beallitottuk az
  applikaciohoz pl. azt, hogy kritikus hiba eseten uzenet menjen a
  processhez es ne egy ablak jojjon fel, akkor az a most inditando
  process is igy fogja csinalni):

        CreateProcess( ...
                       CREATE_DEFAULT_ERROR_MODE | DETACHED_PROCESS
                       ... );

      A masodik flag csak konzol applikacional erdekes.


Szoval mindig elokerul valami, amit meg lehet (vagy kell) tanulni...
--
Tibor

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