Hollosi Information eXchange /HIX/
HIX CODER 101
Copyright (C) HIX
1998-05-07
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 [line] Vonalhuzo algoritmus (pas scr) (mind)  100 sor     (cikkei)
2 Re: LPT translator (mind)  35 sor     (cikkei)
3 Re: [opt.sign] Elojel fuggveny optimalizalas (mind)  32 sor     (cikkei)
4 Win95 Api Split Window (mind)  15 sor     (cikkei)

+ - [line] Vonalhuzo algoritmus (pas scr) (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

> Felado :  [Hungary]
> Temakor: [GFX] (3szog) fillezes
T. kollega rutinjabol hianyzik egy cool vonalhuzo :)
Sebaj, a kacataim kozott leledzik egy (az igenyeknek
megfeleloen kialalkitott stb., stb., ...).
A most kozolt vonalhuzo algoritmust nem en irtam :(
de mivel nagyon megtetszett (egyetlen helyen rakja ki
a pixelt!), kozreadom. Ebbol kiderul miert erdekelt
az elojel fuggveny optimalizalas :)
-=- START
{$A+,B-,D-,E-,F+,G+,I-,L-,N+,O-,P-,Q-,R-,S-,T-,V-,X-}
{$M 16384,0,655360}

Program
 prgLine; {(c) XiX 1987-97. All rights reserved.}

Const
 Where : Word = $A000;

Var
 i, s, d1x, d1y, d2x, d2y, u, v, m, n : Integer;

Function KeyPressed : Boolean; Near; Assembler;
ASM
 in al, $60; test al, $80; jnz @F; mov ax, True; jmp @E; @F: mov ax, False; @E:
END; { KeyPressed }


Procedure Line (X1, Y1, X2, Y2, Color : Word);
 Function Abs  (Number : Integer) : Integer;
 begin
  If Number < 0 then Abs := Number*-1 else Abs := Number;
 end; { Abs }
 Function Sign (Number : Integer) : Integer;
 begin
  If Number > 0 then Sign := +1;
  If Number = 0 then Sign :=  0;
  If Number < 0 then Sign := -1;
 end; { Sign }
.
-=- END

ps:  Remelem mukodik :)

udv: XiX

       -=-  -=-
-=- Minden masodik szavam hazugsag -=-
-=- Az orokevalosagnak kell elni. Na bumm, legfeljebb nem sikerul -=-
+ - Re: LPT translator (mind) VÁLASZ  Feladó: (cikkei)

Hello Mindenki!

Csiszar L-nek:
>Tenyleg nincs itt olyan nagytudasu aki kihivasnak erezne egy
>LPT translator TSR megirasat, vagy csak a husvet miatt sikkadt
>el a "palyazati kiirasom" ?

Nem sikkadt el. Csak szerintem nem olyan egyszeru megoldani
mint elso ranezesre gondolna az ember.
Eloszor is pontositsunk: azt az adatot kell elcsipni, amit egy
progi a DOS LPTx portjara kuld (mert akkor megoldhato), vagy
azt, amit kozvetlenul a parhuzamos portra (mert akkor nem). Az
elso esetben szerintem kb. ugy kell eljarni mint ahogy a halo-
zatkezelo programok csinaljak a halozati nyomatok LPT portra
kiosztasat, de hogy hogy azt sajnos nem tudom.
Az egesz feladatban szerintem a forditas a legegyszerubb.

Tudja valaki hogyan mukodik DOS alatt a network redirektor?
Erre nekem is nagy szuksegem lenne!!!

En azt szeretnem megcsinalni, hogy letre hozok egy logikai
meghajtot, amit a DOS csak file szinten kezel, a tobbit mar
az en progim csinalna (pont mint a halozati meghajtoknal).

Amit eddig tudok rola, hogy valahogy letre lehet hozni ilyen
logikai meghajtot (ezt csinalja pl. a "net use"), aztan a DOS
az erre a meghajtora torteno hivatkozasokat atadja a 2Fh (ezt
most fejbol irom, lehet hogy mashol) megszakitason keresztul
a halokezelo proginak. De hogy pontosan hogy? Hol lehet ilyen
infot talalni?

Udv
Emze
---
MailTo: 
+ - Re: [opt.sign] Elojel fuggveny optimalizalas (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Latom, mindenki Pascal-ozva akar gyors dolgot csinalni, en maradok
az asm-nel :-)))

On  6 May 98 at 8:48, Antal Kovacs > wrote:

> En mar hasznalom is, de +1,-1,0-ra opt. ill. -1,+1,0-ra opt. lehet
> egyaltalan ennel gyorsabbat irni? Me ha nem akko csak kotozkodom:)

Ja, azt hittem, direkt az a jo, ha mindig egyforma sebesseggel fut.
Az a helyzet, hogy processzorfuggoen lehet csak optimalizalni
ugrasok eseten. Vagyis attol fugg az egesz, hogy hogyan mukodik a
proci ugras-eloretippelese, ha van neki ilyen. Normal Pentiumnal
peldaul valoszinu az a leggyorsabb, hogy pl. -1,+1,0 sorrendben (ez
a gyakorisag sorrendje, tahat a -1 a leggyakoribb) ilyet csinalsz:

  mov ax,-1     ;+ ez a ket utasitas egyutt
  cmp number,0  ;+ 1 orajel, ha a cache-ben van a szam
  jl  kesz      ; ha mindig ugrik, akkor 1 orajel
; ha neha ide jut, akkor az mar regen rossz, lassu lesz
  mov ax,1
  jg  kesz
  dec ax
kesz:

Szoval ez (ha sokszor lesz negativ a szam egymas utan) 2 orajel alatt 
csinalja, vagy (a ritka egyeb esetekben) soksok alatt.

Istvßn
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --
+ - Win95 Api Split Window (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok Coderek!

Az a kerdes, hogy hogyan lehet Win95-os feluleten, csupan
API hivasokkal split windowokat gyartani.
Egyaltalan van-e erre api tamogatas?

Ezek olyan ablakok, amiket egy csikkal kette (vagy negyfele)
lehet osztani, es ugyanabban a dokumentumban kulon tudok scrollozni
mind a ket(/negy) reszben.
Pl. ilyen van a wordben, excelben, vc50-ban a source editorban.

az MFC-ben megoldhato konnyen, tudom, de most csak APIs megoldas
erdekel.

Koszi, Tibi.

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