Hollosi Information eXchange /HIX/
HIX CODER 310
Copyright (C) HIX
1998-12-16
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Delphi (mind)  26 sor     (cikkei)
2 pascal + asm (mind)  22 sor     (cikkei)
3 Access - OLE (mind)  14 sor     (cikkei)
4 RE: [Delphi/BCB] Memo field es StringList (mind)  19 sor     (cikkei)
5 Re: Real mode (mind)  41 sor     (cikkei)
6 Re: hangkartya programozas (mind)  67 sor     (cikkei)

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

Sziasztok Coderek!

Delhivel kapcsolatban lenne nehany kerdesem:

1.: Le szeretnem kerdezni egy TOpenDialog ablak bal felso koordinatajanak 
a poziciojat (a kepernyohoz viszonyitva, pixelben). Hogyan lehet (ehhez 
szeretnek pozicionalni egy masik ablakot).

2.: Egy TStringGrid komponensen van horizontal ScrollBar, nekem pedig 
szuksegem lenne ennek a scrollbarnak a magassagara (vizszintesen all).
Probalkoztam a TStringGrid.Controls properity-vel, de ures volt (lehet, 
hogy rossz helyen kerestem a TScrollBar-t).

3.: Hogyan lehet azt megcsinalni, hogy ha egy program fut, de nem az az 
aktiv (es meg mondjuk minimalizalna is van), akkor egy esemenyre (event) 
a program aktivva valjon, es megjelenjen rendes meretben. Sokmindennel 
probalkoztam mar, de egyik se tette aktivva a programot.

4.: Ha megirok egy programot egy kepernyofelbontasban, atvaltok egy 
kissebb felbontasra, akkor elrontja a kinezetet (kissebbre valtva a 
felbontast lesz igazan zavaro).

Van valamilyen otletetek?

Elore is kosz:
Unicorn
+ - pascal + asm (mind) VÁLASZ  Feladó: (cikkei)

HoHi
 
>  Pascalban es Assemblyben programozok, keverve. Gondjaim
>  tamadtak a 32 bites regiszterek ( EAX, EBX, ECX stb. )
>  valos modban valo programozasaval. 

Megoldas:
 ...
asm
 db $66    {prefix, hogy 32 bites adatok}
 mov ax,bx { ennek eredmenye: mov eax,ebx}
 db $66
 mov ax,$ffff
 dw $ffff       {ennek pedig mov eax,$ffffffff
 db $66
 xor ax,ax     {na meg ezt is xor eax,eax}
end;
 ...
van meg egy idevago prefix a $67, ez a cimzest teszi 32 bitesse, de itt
mas beallitasokra is szukseg van

bred!rg42
+ - Access - OLE (mind) VÁLASZ  Feladó: (cikkei)

>Access-bol adok at a Wordnek
>adatokat ugy, hogy a Word egy korlevelben definialt mezokent kapja meg.

Koszonom a hozzaszolasokat. Vegulis sikerult ugy megoldani, hogy ha az
ember Accessbol stringeket ad at a Wordnek, akkor azt mar "megeszi"

Meg egy adalek: A Word bizonyos mezoi, amelyeket be lehet fuzni a
dokumentumba es kapcsolokat lehet ratenni. Ilyen pl az aktualis datum,
lapoldal, stb. Nemet Worddel dolgoztam, es csak nagy nehezsegek aran
tudta nemet formatumu datumot - angol helyett - nem befuzni, hanem
megjeleniteni! Gondolom hasonlo problema lehet a magyar Office-szal is.

Udv
Tibor
+ - RE: [Delphi/BCB] Memo field es StringList (mind) VÁLASZ  Feladó: (cikkei)

Hello!

Szucs Zoltan irta
> Felraktam egy memo-t es egy listbox-ot. Az alabbi sorral sikerult 
> kinyernem a memo a szoveget soronkent (egy listbox soraiba).
> ListBox1.Items.Assign(Memo1.Lines);
> Mivel a kerdesbol nem ertettem, hogy TMemo-rol, TDBMemo-rol vagy 
> TMemoField-rol van szo, megneztem a help-ben. Elvileg 
> mindegyikkel mukodnie kell. Termeszetesen ListBox helyett 

Amit irsz, az valoban jo TMemo objektumra, viszont TDBMemo-ra nem,
mivel annak nincsen Lines property-je. Van viszont AsString property-je,
amiben benne van a Memo tipusu mezo egesz tartalma, a sorok \n-nel
elvalasztva. Igy megoldas lehet a StrList.Text=DBMemo1.AsString,
ahol StrList egy StringList. A megoldas trivialis, csak akkor nem
gondolkoztam.
Azert koszi.

Rado Andras
+ - Re: Real mode (mind) VÁLASZ  Feladó: (cikkei)

hello,

> Felado :  [Hungary]

> Pascalban es Assemblyben programozok, keverve. Gondjaim
> tamadtak a 32 bites regiszterek ( EAX, EBX, ECX stb. )

talan hallottal rola, hogy a 32-bites opcode ugyanugy nez ki,
csak elotte van nehany prefix: 
  $66 - data size override
  $67 - index size override  ; ez most lenyegtelen
szoval:

  mov eax,myvar1         ; myvar1 = longint!
ez kb igy nez ki pascalban:
  db $66;mov ax,word ptr myvar1

ha az indexben vannak 32-bites cuccok, akkor igy jartal, mert
  ott egy kicsit trukkosebb, raadasul nem tudod hasznalni
  a SIB cimzest
  pl:  mov eax,[ebx+ecx*8+$a0000]

mellesleg a konstansokkal is gondod lehet:
pl: add eax,10

   db $66;add ax,10

viszont ha a konstans >255, akkor:

   db $66;add ax,(loword)
   dw (hiword)

mivel: a 32 bites adatnal, a konstans erteket is 32-bitesnek tarolja,
kiveve, ha <256, mert arra kulon opcode van, es csak 1 byte a konstans
de ez nem mindegyik utasitasnal van igy.
ezzel csak azt akarom mondani, hogy eleg csinnyan kell ezzel
banni, mert eleg szepen porul fogsz jarni ha tulzasba viszed

azert jo probalkozast :))

-kyle % autopsy
+ - Re: hangkartya programozas (mind) VÁLASZ  Feladó: (cikkei)

hello,

> Felado :  [Romania]

> 	Most epp hangkartyat programozok, es ezzel kapcsolatban lenne
par
> kerdesem, mert nem nagyon vannak forraskodjaim.
> 	Szoval az a kerdes, hogy hogyan szoktak lejatszani mondjuk egy
wav
> file-t? Ugy tudom, hogy beirsz egy reszt a memoriaba, odairanyitod az
eloszor is, attol fugg, milyen hangkartyaval bibelodsz.
nekem csak SB-vel kapcsolatban vannak tapasztalataim, ugyhogy
imol van nemi segitseg (fele) :) (csak a teendoket irom le)

1. DSP reset
2. Speaker on
3. Set time constant
4. Speaker on
5. Setup DMA
6. enable IRQ + IRQ proc beallitas
7. itt lehet feltolteni a DMA buffert
8. start Auto-init DAC

az auto-init fontos!!! mivel nagy hangot jatszol le, allandoan
toltogetni kell.
es minden DMA programozas egy kis idot vesz igenybe + a DSP-nek
is kell par parancs, ezert minden blokk vegen egy kis kattanas lesz.
ha viszont autoinitet csinalsz, akkor csak egyszer elinditod, es
loop-olva
fogja lejatszani a blokkot, amig le nem lovod.
ezt mar az SB2.0 is tudta, de a creative-labs elfelejtette dokumentalni.
:)
szoval: az auto-init-nel nem csak a DMA blokk vegen general IRQ-t, hanem
a felenel is
azt neked kell szamon tartani, hogy eppen melyik felet jatssza le, es ez
alapjan
a masik felebe kell tolteni a hangokat. igy folyamatos lesz a dolog.

IRQ:
> probelmam, hogy nem tudom milyen megszakitast general, es hogyan lehet
> kezelni.
szoval ez attol fugg, hogy az SB milyen IRQ-ra van allitva.
tegyuk fel, hogy 5 (ez a default)
akkor a 5+8 = 13 ($0d) megszakitast kell atirnod, es ez fog meghivodni
Itt is kell nehany extra dolgot csinalni.

1. betoltod az uj hangblokkot (csak 1 felet! :))
    itt ossze is lehet mixelni tobb csatornat, ha ahhoz van kedved:)
2. 1 byte-ot ki kell olvasni a $2xE portrol (IRQ acknowledge)
3. Send IRQ signal (vagymi)
    mov al,20h
    out 20h,al

ha befejezted, akkor:

1. Stop auto-init-DAC
2. disable IRQ
3. Speaker off
4. eredeti IRQ vissza

asszem naggyabol ennyi.
a DSP es DMA parancsokat most fejbol nem tudom, es nem akarok
hulyeseget irni, de ha kell, akkor megnezem es kuldom privatba.

remelem tudtam segiteni..

-kyle % autopsy

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