1. |
Delphi kepkezeles (mind) |
8 sor |
(cikkei) |
2. |
800×600 pascalban. (mind) |
8 sor |
(cikkei) |
3. |
Oracle print (mind) |
5 sor |
(cikkei) |
4. |
Re: Gond egy BIOS-hivassal (mind) |
75 sor |
(cikkei) |
5. |
Java dinamikus tombok (mind) |
17 sor |
(cikkei) |
6. |
Re: VB + Mailing (mind) |
11 sor |
(cikkei) |
7. |
VC++ program kiloves (mind) |
23 sor |
(cikkei) |
8. |
meghajto label (mind) |
6 sor |
(cikkei) |
9. |
LCC hiba (mind) |
22 sor |
(cikkei) |
10. |
Re: Binaris fa (mind) |
43 sor |
(cikkei) |
11. |
Beszuras a faba (mind) |
5 sor |
(cikkei) |
12. |
Re: Binaris fa (mind) |
34 sor |
(cikkei) |
|
+ - | Delphi kepkezeles (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok!
Meg tudnatok mondani, hogy hogyan lehet Delphiben leheto leggyorsabban
elerni egy kep pixeleit? Probaltam a TImage.Picture.Canvas.Pixels[x, y]-al,
de ez nagyon lassu. Valmivel jobb a TBitmap.Scanline. Nem lehetne meg
gyorsabb megoldast talani?
miki
|
+ - | 800×600 pascalban. (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Hy!
Csak azt szeretném megkérdezni, hogy van-e valakinek
olyan unitja Tp-re, amely grafikus módban tudja a 800×600
-as felbontást?
--
Üdvözlettel:
Czárt András (Bandi)
|
+ - | Oracle print (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok!
Lenne egy kerdesem. Lehet-e Oracle-ban (Win9x, Form-bol) WinAPI fuggvenyeket
meghivni? Peldaul elerheto-e a Win95 sajat Printer Dialog Box-a?
Koszi!
Laccos
|
+ - | Re: Gond egy BIOS-hivassal (mind) |
VÁLASZ |
Feladó: (cikkei)
|
...
> Ezeket mind fel tudom tolteni gond nelkul, de BH-val es ES:BP-vel gondban
>vagyok. Nekem a PB ket fuggvenyt biztosit, a STRSEG megadja a szoveg
>szegmenset es a STRPTR az offszetet. Eloszor ugy probaltam, hogy MOV BH,
>STRSEG; MOV ES, 0; MOV BP, STRPTR, de ebbol a masodik utasitasra helybol
>szintaktikus hibat kaptam, nem ismer ilyen regiszternevet. Ettol
1. Nem hiszom, hogy jo 5let 16 bites segmens regiszter tartalmat 8 bites
regiszterbe tolteni (MOV BH, ....)
2. Az ES-be kellene toltened a szegment erteket, tehat: MOV BX, STRSEG; MOV ES,
BX. Viszont szegmens regiszterbe NEM tudsz kozvetlenul adatot tolteni. Tehat
ugy, ahogy irtad, hogy MOV ES, 0, az nem jo! Ugy csinald, ahogy fentebb irtam,
hogy egy 16 bites regiszterbol toltsd at neki az erteket. Ha 0-t szeretnel
mindenkeppen beletolteni, akkor MOV AX, 0; MOV ES, AX... De neked az ES-be a
STRSEG kell, nem pedig nulla, hacsak nem akarsz krix-krax-okat kiirni a
kepernyore...
3. A legtobb magasszintu nyelvben a fuggvenyek/procedurak lokalis valzozoinak
kezelesehez a BP-t szoktak hasznalni. Ha van doksid a PowerBasic-hez, nezz utan
a
milyen regisztereket hasznalhatsz teljesen szabadon, miknek kell megorizni es a
z
assembly rutin vegen visszatolteni az erteket, es mik azok, amiket egyaltalaban
nem hasznalhatsz...
4. En azert annak is utananeznek, hogy az a felolvaso milyen BIOS funkciokat
fogad el egyaltalan (lehet, hogy a 13h sem jo neki, ha az INT 21h/09h sem jo
stb...)
> Tekintve, hogy a regiszterek es az egesz memoriakezeles nekem mindig
>kinaiul volt, magamtol nem tudom kiokoskodni a megoldast. Azt kernem,
>maganban is valaszoljatok, nem olvasom a listat.
szoval en igy csinalnam:
push ax ; hasznalt regisztereket elmented
push bx
push cx
push si
push ds
mov ah, 0Fh
int 10h ; megkapod BH-ban az aktualis video page szamat
mov ax, STRSEG
mov ds, ax ; DS-be toltjuk az STRSEG-et (LOADSB-vel olvasunk)
mov si, STRPTR ; remelem ide csak az offsetet toltod, nem a
segmens:offset cimet!
; Szerintem hasznalj inkabb STROFS nevet, ugy egyertelmubb.
mov cx, STRLEN ; ide betoltheted a kiirando string maximalis hosszat
; beirhatsz kozvetlenul is szamot, mondjuk ha
; tudod, hogy egy sztring nem lehet nagyobb
; 80 karakternel stb...
mov ah, 0Eh ; write in TTY mode
cld ; olvasas iranya: elore fele
ciklus:
lodsb
cmp al, 0 ; ha a string 0-val van terminalva...
; Nulla helyett vizsgalhatsz pl 'A'-t is,
; es akkor az 'A' fogja terminalni a sztringedet
jz vege ; fejezd be a string kiirasat
int 10h
loop ciklus ; max CX-szer vegrehajtod a ciklust
vege:
pop ds ; hasznalt regisztereket visszatoltod
pop si
pop cx
pop bx
pop ax
Remelem segitett valamennyit!
Tamas
ui: azert elolvasnek egy assembly alapozo konyvet, pl. a Petho Adam fele konyv
nagyon jo ilyesmire, de nem tudom lehet-e meg kapni (eleg regen irtak)
|
+ - | Java dinamikus tombok (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok !
Java-ban objektum tomboket szeretnek dinamikusan letrehozni.
Elore nem tudom, hogy hany elemu lesz a tomb, es csak akkora helyet
akarok lefoglalni, amekkora valoban kell. Az elemek futas kozben,
egymas utan keletkeznek, vagyis a tombok merete fokozatosan novekszik.
C-ben ezt pointeres struktura lancokkal lehet megcsinalni, ugy, hogy
minden elem ramutat a kovetkezo objektum cimere, az utolso pedig null-ra.
Javaban ezt hogy csinaljak ?
udvozlettel:
Sores Laszlo
|
+ - | Re: VB + Mailing (mind) |
VÁLASZ |
Feladó: (cikkei)
|
>A kovetkezo kerdesem lenne: egy olyan programot szeretnek
>irni VB-ben, mely tudja kezelni az SMTP es a POP3 szervereket,
>valamint erti a MIME protokollt. Elviekben lehetseges az, hogy
>miutan a Tarcsazoval felpattan egy szerverre, utanna a Winsock
>segitsegevel tudjon kommunikalni. Gyakorlatban ez megvalosithato?
>Ha jol tudom, az interneten a szamitogepek egymas kozt is tobbnyire
>ascii, vagy legalabbis szoveges uzemmodban kommunikalnak.
Az Internet-en alkalmazott protokollok ugyeben latogass el a
www.ietf.org -ra es olvasgass sok-sok RFC-t!
Gabor
|
+ - | VC++ program kiloves (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok
A problemam a kovetkezo: Van egy 'A' nevu programom, ami
elindit egy 'B' nevu programot (CreateProcess). Az 'A'
program mindvegig figyeli a 'B' mukodeset, es ha az nem jol
mukodik, pl. szetfagy, akkor lelovi azt (TerminateProcess)
es ujrainditja.
Csak az a baj, hogy amikor a 'B' program lefagy, akkor
sokszor azt egy 'Application Error' ablak megjelenese
koveti. Viszont, amig erre nem nyomok OK-ot vagy CANCEL-t,
addig magat a 'B' programot sem tudom leallitani. (Meg a
Task Managerben sem!) Termeszetesen a program
ujrainditasnak automatikusnak kell lennie es valahogy ezt a
hibaablakot is le kene loni, de ez sajnos se nem az 'A' se
nem a 'B' program ablaka, igy nem tudom elerni.
Tudja valaki, hogy mikeppen lehetne megis ezt a hibaablakot
elerni, leloni (vagy OK-ot nyomatni vele) es vegeredmenyben
a 'B' programot leallitani?
Elore is koszi a segitseget.
KTib
|
+ - | meghajto label (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Hali
Tudja valaki, hogyan lehet lekerdezni egy particio labeljet?
Vegulis en a floppy labeljet akarom beolvasni.
KTib
|
+ - | LCC hiba (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Sziasztok!
Az lcc-win32 kicsit kiakasztott a minap.
Forditok egy rovid programot es kiakad a kov.
hibauzenettel:
Internal error 1032 line 111
Nagyon ugy nez ki hogy a forditonak van baja, mert
amikor atrendeztem a forrast hogy a 111-es sor
kornyeken semmi se legyen, ugyanezzel
az uzenettel akadt le.
Aztan kikapcsoltam az optimalizalast a
beallitasoknal es rendesen lefordult.
Talalkozott mar kozuletek valaki ilyennel ?
Mi lehet az oka ?
Esetleg milyen masik forditot ajanlatok
az lcc helyett/mellett ?
- Tamas -
|
+ - | Re: Binaris fa (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Hello Mephysto!
>Szoval valahanyszor megivom a
>Beszur-t, a debug szrint mindig NULL a Jobb es Bal ag.
Mert nem is adsz neki erteket.
Bocs, hogy ilyen sokat beidezek...
void Beszur(int Elem,struct tCsomo *csomo,struct tCsomo *szulo, char irany)
{
//paraméterek: az elem értéke és az aktuális csomópont
if (csomo==NULL)
{
//új elem felvitele
csomo=(struct tCsomo*)malloc(sizeof(struct tCsomo));
csomo->Elem=Elem;
csomo->Bal=NULL;
csomo->Jobb=NULL;
if (irany=='j' && szulo!=NULL) szulo->Jobb=csomo;
if (irany=='b' && szulo!=NULL) szulo->Bal =csomo;
}
else ...
{
//rekurzív hívás a rendezettségnek megfelelõen
if (Elem< csomo->Elem)
{
Beszur(Elem, csomo->Bal, csomo, 'b');
}
else
{
Beszur(Elem, csomo->Jobb, csomo, 'j');
}
}
}
main()
{ ...
Beszur(10,&Fix, NULL, ' ');
Beszur(-10,&Fix, NULL, ' ');
...}
(nekem mukodott igy :)
pp
|
+ - | Beszuras a faba (mind) |
VÁLASZ |
Feladó: (cikkei)
|
Nekem is volt hasonlo problemam. A megoldas az, hogy a Beszur fuggveny "struct
tCsomo * *csomo"
parametert kapjon, mert te nemcsak a csomo struct mezoit valtoztatod, ez esetbe
n eleg egy csillag, hanem
a mutato erteket is.
|
+ - | Re: Binaris fa (mind) |
VÁLASZ |
Feladó: (cikkei)
|
> void Beszur(int Elem, struct tCsomo **csomo)
> {
> //paraméterek: az elem értéke és az aktuális csomópont
> if ((*csomo)==NULL)
> {
> //új elem felvitele
> (*csomo)=(struct tCsomo*)malloc(sizeof(struct tCsomo));
> (*csomo)->Elem=Elem;
>
> ... es igy tovabb.
>
> Meghivni pedig:
>
> Beszur(10,&&Fix);
>
> -el kell, ertelemszeruen.
>
nem. csak egy 'lvalue'-nak lehet a cimet venni ( operator & )
peldaul egy valtozonak:
tCsomo *ptr;
&ptr; // ok
a javasolt hivas: &&Fix nem fordul le.
osszesen ket fajta javaslat fordult elo. nekem szemely szerint sokkal
jobban tetszik, ahol a Beszur fuggveny visszaadja az uj mutatot.
c-ben ez a termeszetesebb - szerintem -, mivel maga a nyelv ertek szerint
adja at a fuggvenyparametereket.
azok a konstrukciok, ahol a fuggveny megvaltoztatja a parameterenek az
erteket, illetve a "pointer to pointer" es ennel bonyolultabb dolgok
nehezitik a progi olvasasat.
dani
|
|