1. |
Re: Turbo Pascal: 320x200x16M (mind) |
33 sor |
(cikkei) |
2. |
mp3 info (mind) |
26 sor |
(cikkei) |
3. |
tomorites (mind) |
7 sor |
(cikkei) |
4. |
re: Turbo Pascal: 320x200x16M (mind) |
60 sor |
(cikkei) |
5. |
Re: Delphi: fsMDIform (mind) |
22 sor |
(cikkei) |
6. |
Re: Delphi3 (mind) |
19 sor |
(cikkei) |
7. |
Re: exe vs parameterek (mind) |
49 sor |
(cikkei) |
8. |
ScrollBars FoxPro-ban (mind) |
9 sor |
(cikkei) |
9. |
16 bites DMA + Hangkartya programozas (mind) |
9 sor |
(cikkei) |
|
+ - | Re: Turbo Pascal: 320x200x16M (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Udv mindenkinek es neked is Zoli,
> Sikeresen beallitottam a kepernyot 320x200x16M-ra es elkezdtem
> a pixeleket a memoriaba irni. Egy ideig minden szep es jo volt,
> de kb. a kepernyo 1/3 resze ala egyaltalan nem tudtam pontot
> tenni. A problemat szemlelteti a http://www.extra.hu/h_zoli/Pixelz.pas
> fajl. Tud valaki segiteni? Ha lehet, a megoldas ne csak erre a
> konkret esetre legyen jo, mert tervezem a program atirasat
> nagyobb felbontasokra is. (800x600x16M, 1024x768x16M)
Nos van egy olyan dolog, hogy a videomemoriat csak 64k-s szegmensekben
erheted el. :(((((
1. Emiatt lapozni kell (asszem az 4f05h os kodu rutinnal de ez nem biztos)
javaslom nezz utana a Ralf Brown INT listaban vagy ahonnan a programodhoz
szerezted az infot.
2. Hasznalj LFB-t (Linear Frame Buffer). A segitsegevel a teljes videomem
elerh eto mindenfele kapcsolgatas nelkul, :)))))))) valahol a 32 bites
cimteruletben (persze le lehet kerdezni, hogy pontosan hova kerult be)
Javasolom nezd meg a tobbi funkciot is ne csak azokat amiket a programodban
hasznalsz.
> Volt meg egy dolog, ami szamomra kulonos volt...
> Szakirodalom hianyaban, nekem kellett rajonnom arra, hogy a
> video memoria irasakor az elso harom bajt a harom szin-
> osszetevo (BGR sorrendben) es utana kovetkezik egy *negyedik*
> bajt, amit (latszolag) nem hasznal semmire. Megprobaltam
Ilyen a hardver :)))
Udv,
--
Alex.
|
+ - | mp3 info (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok
Kerdesem inkabb a szorakozas, mint a munka fele hajlik 8-)
Azt szeretnem megtudni, hogy az mp3 fileokbol hogy lehet
kiszedni az olyan infokat, mit pl. bitrate, mono-stereo, szam
hossza,...
A TAG infot sikerult "analizalnom". Ha valakit erdekelne:
a file vegetol szamitott 125 byteon van a kovetkezo strukturaban
(C):
struct TAGinfo
{
char title[30];
char artist[30];
char album[30];
char year[4];
char comment[30];
unsigned char genre;
};
Ha tudtok valamit legyszi irjatok...
minden jot...
bye...
> ----------------------------------------------------------
E-Mail:
PMail32 v3.12a
|
+ - | tomorites (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok !
Kepeket szeretnek tomoriteni, egymas utan tobbet, amik elegge hasonlok
(szoval jo lenne csak a valtozasokat atvinni). Ha tud valaki egy jo
modszert, akkor megkoszonnem (lehet veszteseges is).
Udv.: Szaszi
|
+ - | re: Turbo Pascal: 320x200x16M (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Hali!
>Sikeresen beallitottam a kepernyot 320x200x16M-ra es elkezdtem
>a pixeleket a memoriaba irni. Egy ideig minden szep es jo volt,
>de kb. a kepernyo 1/3 resze ala egyaltalan nem tudtam pontot
>tenni.
Nos szamolj csak egy picit utana 320x200x4 vagyis ennyi byte-bol all a kepernyo
320x200x32 bites felbontasban ez 256000 byte ami nem fer bele egy
szegmensbe(max. 64k).Itt ez a 0a000h.Ezert tudtad csak a kepernyo 1/3
reszet kezelni. Erre van tobb megoldas, egy ilyen a bankvaltas. 320x200x32
bites felbontas 4*64kb vagyis negy szegmensbe fern bele.A bankvaltas
arra jo hogy e negy szegmens kozott tudsz valtogatni irni, ugyanugy a
0a000h ra kell csak mondjuk ha 160,100 ra akarsz kirakni egy pixelt akkor:
cim:=(160+100 *320)*4
ez a 1. szegmens (0. tol szamolva) 63105. pixele.
A bankvaltas:
procedure setbank(banknumber:word);assembler;
asm
mov ax,4f05h
xor bx,bx
mov dx,banknumber
int 10h
end;
Rövid pelda a pixel cim szamitasra:
addr:=(x+y*320)*4;
setbank(addr div 65535);
mem[sega000:addr mod 65535]:=color;
Ha igy csinalod mukodni kell neki, de nem fog elszallni a sebessegtol:)
Jobb ha bufferrel csinalod mondjuk 4 buffer picit nehezkes kezelni ezert en ugy
csinaltam regebben:
eloszor is 320x200x16 boven eleg pascal alatt meg meg konnyu kezeleni is
ket buffert hasznalok egy a szin felso byte-janak egy az alsonak
mem[seg(buf1^):(x+y*320)]:=lo(color);
mem[seg(buf2^):(x+y*320)]:=hi(color);
miutan megvolt a kep a virtualis kepernyon akkor egy eljarassal kimasoltam a a0
00-ra. Ehhez osszesen ket bankvaltas kellett, ez is rosszabb az lfb-nel,
de megiscsak viszonylag jo.
Ha kell kuldok pelda prog.-t is.
>Volt meg egy dolog, ami szamomra kulonos volt...
>Szakirodalom hianyaban
'Periferiak programozasa' az alap ebben a tamaban
> nekem kellett rajonnom arra, hogy a
>video memoria irasakor az elso harom bajt a harom szin-
>osszetevo (BGR sorrendben) es utana kovetkezik egy *negyedik*
>bajt, amit (latszolag) nem hasznal semmire. Megprobaltam
>mindenfele erteket beletolteni, de a kepernyon nem valtozott
>semmi. Ha viszont nem kell neki, akkor minek kell elpazarolni
>pixelenkent egy bajtot?
Hasznalj 320x200x24 bites felbontast mondjuk ez sok videokartya nem tamogatja
(univbevel mar igen)
BGR v. RGB sorrend is videokartyatol fugg.
bye
--
vic/all.inq
|
+ - | Re: Delphi: fsMDIform (mind) |
VÁLASZ |
Feladó: (cikkei)
|
>Sziasztok ! Tudna segiteni abban valaki, hogy hogyan
>lehet egy MDIForm-on egy TImage objektumot megjeleniteni?
>Ha csak felrakom, akkor a futatas kozben nem latszik (mint
>ahogy más objektum se). Az OnPaint-tal is probaltam futas kozeben letrehozni de
>akkor se jelenik meg.
Azert, mert ilyenkor a foformon belul keletkezik egy specialis ablak (amiben
majd a child formok jelennek meg), es eppen ezert hiaba rajzolsz a formra
vagy a hatterere, mert valojaban azt teljesen kitakarja ez, az amugy szinte
ugyanolyan kinezetu (csak egy picit "sullyesztett") kontroll.
Ez alapjaban nem lenne tul nagy baj, hiszen a ParentHandle property
allitasaval barmelyik TWinControl-t bele lehetne rakni, csak hogy a TImage
nem a TWinControl-bol van szarmaztatva!
A megoldas az, hogy a Form.ClientHandle ablak WM_PAINT esemenyet el kell
kapni es ennek az ablaknak a Canvas-ara kell rajzolni (ti. ez a szoban forgo
kliens-terulet-ablak). Persze azert van egy kis csavar a dologban, mert
ahhoz, hogy ennek a WM_PAINT ill. WM_ERASEBKGND esemenyet el tudd kapni, a
SetWindowLong()-gal "at kell iranyitani" az uzenet-kezelest egy sajat
rutinra, amibol esetleg majd az eredetit is meg kell hivni.
Elkuldtem egy komponens maganban ami megoldja a dolgot.
Gabor
|
+ - | Re: Delphi3 (mind) |
VÁLASZ |
Feladó: (cikkei)
|
>1. hogy hogyan lehet egy TMemo-t gorgetni soronkent programbol,
SendMessage(Memo1.Handle,EM_SCROLL,SB_LINEUP,0); ill.
SendMessage(Memo1.Handle,EM_SCROLL,SB_LINEDOWN,0);
>2. hogyan lehet lekerdezni az idot msec pontossan,
Now(). Persze DateTimeToSystemTime()-mal at kell alakitani, hogy ki tudd
fejteni belole az egyes komponenseket...
>3. hogyan lehet valamilyen delay-t csinalni,
Sleep().
>4. es valami ilyesmit:
> Repeat
> teszvesz();
> Until keypressed;
Hosszabb ciklusok kozben az Application.ProcessMessages()-t erdemes
hivogatni az alkalmazas "valaszkepessegenek" megorzese erdekeben...
Gabor
|
+ - | Re: exe vs parameterek (mind) |
VÁLASZ |
Feladó: (cikkei)
|
>erdekelne ot, de piszkosul, hogy az exe fileok hol taroljak a
A PSP-n a 80h offseten. Az elso byte, hogy mekkora a parameter, es utana maga a
parameter-lanc (natur ugy, ahogy azt megadtak...). A PSP szegmens cime alapban
a DS ill. ES regiszterekben van a prog. indulasakor, tehat:
code segment
start:
mov cl, [80h]
xor ch, ch
mov si, 81h
cld
ciklus:
lodsb
... karakter AL-ben, csinalsz vele amit akarsz...
loop ciklus
int 20h
code ends
end start
>Szoval hogy hogy lehet azt elerni, hogy o olyan exet irjon, amit
>parameterezgetve lehet futtatni a kesobbiekben. Aki erti a kerdest, es
De ha magasszintu nyelvben programozik a baratod, akkor nem erdemes a PSP-t
kozvetlenul maceralni. Pl. C-ben:
int main (int argc, char *argv[])
{
int i;
printf("A program neve es eleresi utvonala: %s\n", argv[0]);
for (i = 1; i < argc; i++) {
printf("%u. parameter: \"%s\"\n", argv[i]);
} // for
}
Turbo pacalban fuggvenyeket kell hivogatni, de ugyanez a lenyege, mas
programnyelvekben pedig nyilvan maskepp, de mindegyiknek megvan a maga logikaja.
Udv, Tamas
Tamas Rudnai / Sophos Plc
mailto:
http://www.sophos.com
|
+ - | ScrollBars FoxPro-ban (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Hello mindenkinek !
Egy kis segitsegre volna szuksegem. Meg tudna valaki mondani, hogyan lehet
Foxpro 2.6 alatt(Dos vagy Windows verzio, nem legyeg) scrollbart felrakni
az alblakkeretre?
Mert mar belekarikasodtak a szemeim a sok keresesbe.....
Koszi elore is,
joco
|
+ - | 16 bites DMA + Hangkartya programozas (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok
A 16 bites DMA-val kapcsolatban kernek infot (vagy Pascal forrast),
illetve hog y ezt mi modon lehet osszehozni egy SB16 kompatibilis
(100%-ig) hangkartyaval. Irni kellene az egyik DOS-os programban egy olyan
reszt, ami lejatszik 22 Khz-es 16 bites, sztereo wavokat. Idozitessel
kapcsolatban is johetnek otletek...
Koszi, udv: McMacee
|
|