Anonymní profil Orfeus – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Orfeus – Programujte.comAnonymní profil Orfeus – Programujte.com

 

Příspěvky odeslané z IP adresy ...–

anonym
Assembler › x86 NASM čtení z terminálu a…
18. 1. 2023   #390834

#22 JerryM
Třeba toto v tom kódu co jsi poslal právě vůbec nevidiím:
        xor ax, ax
        lea bx, [data_pos_actual]
        inc bx
        mov al, [bx]

Je tam tato část, která mi počítá ten počet znaků ale tam je [data_rows] a ne [data_pos_actual] to nikde nevidím:

        xor ax, ax
        lea bx, [data_rows]
        inc bx
        mov al, [bx]

anonym
Assembler › x86 NASM čtení z terminálu a…
18. 1. 2023   #390833

#24 JerryM
Tam jde právě o to, že já se snažím dát dokupy to co mi radíš ty s tím jak funguje ten náš emulátor, protože když bych to hodil tak jak jsi mi to napsal ty do toho našeho tak mi to nebude fungovat. Tohle co jsem poslal tak je právě upravená verze toho co jsi poslal ty, aby to fungovalo v tom mém emulátoru. Je v tom zmatek, ale nějak se to snažím dát do kupy

anonym
Assembler › x86 NASM čtení z terminálu a…
18. 1. 2023   #390828

#19 JerryM
přesně toto mě právě napadlo podělit dvěma a vypsat ten počet co mi vyjde, ale problém je v tom zpracování toho. jak píšeš že ten divident má být pocet_zkutecne_zapsanych_znaků tak ten mám v těch 104 bytech na té pozici jak jsi popisoval Y že ? ale problém je že právě nevím jak tu informaci z toho dostat, plus jelikož chci první půlku tak musím po těch X bytech co my vyjde ukončit zase CR a $ ne ? měl jsem za to že vypisování na terminál co mám tak tam hodí takhle celý řádek ukončený tím CR a $ a nevypisuje to po bytech nebo jo ?

Jinak škola SŠ

anonym
Assembler › x86 NASM čtení z terminálu a…
18. 1. 2023   #390825

#14 JerryM
Tyjo super, moc děkuji. já dělám poprvé na úrovni procesoru a jsem v tom docela ztracený, a nemám nikoho kdo by mi to moc vysvětlil pořádně.

Jenom dotaz do kódu jsem doplnil ty cykly takže teďka mi to vypíše počet znaků a za to ten řádek pro každý řádek na vstupu, ale potřeboval bych alespoň pošťouchnout jakým směrem mám jít teď aby se vypisovalo pouze půlka toho řádku a půlka všech řádků na vstupu.

zkoušel jsem dělení toho data_rows ale to mi nějak nefunguje a tak nějak nevím jak dál. Díky.

zde můj nynější kód:


cpu 8086
segment code
..start mov bx,data
     mov ds,bx
     mov bx,stack
     mov ss,bx
     mov sp,dno
     jmp setup
     setup lea dx, [msg_text]
     mov ah, 9
     int 21h
     lea dx, [msg_crlf]
     mov ah, 9
     int 21h
loop_01 lea bx, [data_rows]
     mov al, 0x65
     mov [bx], al
     lea dx, [data_rows]
     mov ah, 0x0a
     int 21h
     lea dx, [msg_crlf]
     mov ah, 9
     int 21h
     xor ax, ax
     lea bx, [data_rows]
     inc bx
     mov al, [bx]
     lea bx, [data_rows]
     add ax, bx
     mov bx, ax
     mov al, "$"
     add bx, 2
     mov [bx], al
     xor ax,ax
     lea bx, [data_rows]
     inc bx
     mov al, [bx]
     mov dl, al
     add dl, "0"
     mov ah, 02h
     int 21h
     lea dx, [msg_crlf]
     mov ah, 9
     int 21h
loop_02 lea dx, [data_rows]
     add dx, 2
     mov ah, 09
     int 21h
     mov al, [data_rows+1]
     cmp al, 0
     jne loop_01
     jz end

end hlt
segment data
data_rows dw 62400
msg_text db 'Nacteni max. 600 radku textu',0x24
msg_crlf db 0x0A,0x24
msg_mem db 0x00, 0x00, 0x23, 0x24
r1_dw_001 dw 0
r1_dw_002 dw 0
data_pos_actual dw 0
segment stack
resb 16
dno: db ?
 

anonym
Assembler › x86 NASM čtení z terminálu a…
12. 1. 2023   #390807

#8 JerryM
Pracuji ve vlastním emulátoru procesoru od toho kdo mi dal to zadání, zde je popis toho emulátoru:

pro odpovězení: terminál přímo msdos, víc je popsáno v tom textu.

Struktura emulátoru

Emulátor procesoru Intel 8086 v ISu používá pro fázi překladu instrukcí překladač Netwide Assembler (NASM). Překladač dodaný zdrojový kód přeloží do souboru ve formátu Microsoft OMF Object Files (použitím volby -f obj). Překlad z bezpečnostních důvodů neprobíhá na serverech ISu. OMF soubor následně převezme IS. IS pak provede to, co by provedl zavaděč, tj. segmenty umístí do "paměti". Potom IS zahájí interpretaci operačních kódů instrukcí. Program není z bezpečnostních důvodů spuštěn, ale je interpretován instrukce po instrukci.

Proces spuštění programu

Emulátor umísťuje do "paměti" segmenty v pořadí, v jakém jsou v OMF souboru. Segmenty se do paměti umísťují od absolutní adresy 0 (tj. adresy 0000:0000). Chcete-li plnit tabulku přerušovacích vektorů, je nutné ve zdrojovém souboru jako první uvést segment s jejím obsahem.

Pro zjištění adresy, od které se má program spustit, IS v OMF souboru vyhledá první segment s názvem CODE. Do registru CS před spuštěním IS naplní segmentovou část adresy prvního segmentu s názvem CODE a do registru IP vloží offset 0 nebo offset instrukce označené návěštím ..start

Jiné segmentové registry než CS emulátor neplní a musí si je naplnit program sám.

Příklad jednoduchého programu

segment data zprava db "Hura, muj program funguje!",0Dh,0Ah,'$' segment code mov ax,data mov ds,ax ; nastavuji DS na segmentovou část adresy segmentu DATA mov ax,stack mov ss,ax ; nastavuji SS na segmentovou část adresy segmentu STACK mov sp,dno ; nastavuji adresu dna zásobníku do registru SP mov dx,zprava ; služba v DX vyžaduje offset začátku řetězce mov ah,09h ; identifikace služby Řetězec znaků na terminál int 21h ; provedení služby hlt ; ukončení tohoto programu segment stack ; vyhrazení prostoru pro segment se zásobníkem resb 16 ; rezervuji 16 bajtů (pozor, to je malý zásobník) dno db ? ; označuji, kde je dno zásobníku

Zvláštnosti překladače NASM
Direktiva cpu 8086

Emulátor IS podporuje pouze instrukce procesoru 8086. Proto doporučuji použít direktivu překladače
cpu 8086
která už na úrovni překladače nepovolí použít instrukce, které nejsou v repertoáru procesoru 8086. Např. instrukce procesoru 80186 PUSH 1 (tj. PUSH přímá_hodnota), PUSHA, BOUND nebo procesorů vyšších. Také existují instrukce vyšších procesorů, které mají stejnou zkratku, ale jiný operační kód. Uvedením cpu 8086 doporučuji zabránit překladači, aby použil operační kód modernějšího procesoru.

Překladač je case-sensitive

Překladač rozlišuje mezi malými a velkými písmeny. Direktivu segment pište malými písmeny. Neměňte v návěštích velikost písmen.

Odlišení objektu od jeho obsahu (hranaté závorky)

Překladač NASM chce důsledně odlišovat objekt od jeho obsahu. Proto kód:
cpu 8086 segment code mov ax,data mov ds,ax mov bx,promenna mov dx,[promenna] hlt segment data promenna dw 1234h
uloží do registru BX hodnotu 0 (tzn. offset proměnné PROMENNA v segmentu DATA) a uloží do registru DX hodnotu 1234h (tzn. obsah proměnné PROMENNA). Důsledně prosím používejte hranaté závorky u paměťových objektů tam, kde chcete pracovat s obsahem objektu a nikoli s adresou objektu.

Specifikace velikosti objektu (upřesnění byte, word)

Překladač NASM požaduje upřesnit velikost operandu, s nímž má pracovat, pokud velikost není zřejmá např. z druhého parametru instrukce. Proto je třeba psát např.
mov byte[promenna],2 neg byte[promenna] add word[prom],0x20

Alokace prostoru (pseudoinstrukce resb, resw)

Pro vyhrazení (rezervování) např. 1024 bajtů pro zásobník, použijte pseudoinstrukci resb následovně:
segment stack resb 1024 dno db ?
Chceme-li prostor vyhradit v počtu 16bitových slov, použijeme pseudoinstrukci resw.

Některé programovací techniky

Vynulování registru: XOR AX,AX

Služby operačního systému

Emulátor poskytuje programu vybrané služby operačního systému MS-DOS, nebo (historické) služby BIOSu. Volání poskytnutí služeb probíhající přes přerušení (např. INT 21h) nevyžaduje nastavení obsahu tabulky přerušovacích vektorů. Přesněji: pokud byste přerušovací vektor např. 21h nastavili, bude emulátorem ignorován.

Načíst jeden bajt z terminálu (služba MS-DOS)

mov AH,1 ; Identifikace služby Načíst jeden bajt z terminálu int 21h ; resp. int 33 poskytne službu
Služba vrací v registru AL načtený bajt. Pokud byl čtením vstup vyčerpán (už nejsou zadané žádné bajty k načtení), služba nastaví ZF=1 a AL=0. Pokud je předáván bajt v AL, je ZF=0.

Emulátor podporuje i čtení UNICODE znaků v transformaci UTF-8. Pokud je zadán vícebajtový znak, služba předá jen jeden jeho bajt (více se do AL nevejde). Dalším int 21h bude předán další bajt téhož znaku. Nedojde ke ztrátě obsahu.

Vypsat jeden bajt na terminál (služba MS-DOS)

mov AH,2 ; Identifikace služby Vypsat jeden bajt na terminál mov DL,'a' ; Bajt, který se má na terminál vypsat int 21h ; resp. int 33 poskytne službu

Emulátor podporuje i výpis UNICODE znaků v transformaci UTF-8. Pokud má být vypsán vícebajtový znak, musí být postupně vypsán více voláními této služby po jednotlivých bajtech.

Vypsat řetězec bajtů na terminál (služba MS-DOS)

V registrech DS:DX musí být uložena adresa začátku řetězce bajtů. Řetězec končí znakem dolar '$'.
zprava db "Hello, World!", 0Dh,0Ah, '$' ... mov AH,9 ; Identifikace služby Vypsat řetězec bajtů na terminál mov DX,zprava ; Offset začátku řetězce v segmentu dle DS int 21h ; resp. int 33 poskytne službu

Načíst řádek z terminálu (služba MS-DOS)

Nejprve musíte v paměti rezervovat "buffer", do kterého bude služba načtené bajty vkládat. V datovém segmentu vytvořte něco jako:
nacteno db 80, ? resb 80
Buffer nechť obsahuje tři složky: první bajt je vámi zadaná délka bufferu, který dáváte službě k dispozici. V bajtu zadáváte číslo bez znaménka. Číslo odpovídá počtu bajtů, který může služba maximálně načíst. Služba načte jeden celý řádek až do maximální zadané délky.

Dále rezervujete druhý bajt, do kterého služba vloží počet bajtů, které skutečně načetla. Je to číslo bez znaménka v jednom bajtu. Tento počet bajtů nezahrnuje znaky CR a LF. Zdůrazňuji, že se předává počet načtených bajtů, nikoli znaků, protože služba podporuje i čtení vícebajtových UNICODE znaků v transformaci UTF-8.

Od třetího bajtu jsou vloženy načtené bajty.

Adresu bufferu předáváte v DS:DX.

mov AH, 0x0a ; Identifikace služby Načíst řádek z terminálu mov DX,nacteno ; Offset začátku bufferu v segmentu dle DS int 21h ; resp. int 33 poskytne službu
Služba čte vstup po jednotlivých řádcích. Čte řádky, které vepíšete do pole "Zadat vstup z terminálu". Můžete zadat více než jeden řádek. Pokud už byl veškerý vstup čtením vyčerpán, služba vrací ZF=1, načtená délka je 0 a první načtený bajt je 0. Pokud byl načtený řádek (i když prázdný), služba vrací ZF=0. Řádky se oddělují znakem LF, znak CR je ignorován. Oba znaky CR a LF, pokud byly načteny, jsou vlženy do bufferu, ale nejsou započítány do délky ve druhém bajtu.

Zjisti stav čtení z terminálu

mov AH, 0x0b ; Identifikace služby Zjisti stav čtení z terminálu int 21h ; resp. int 33 poskytne službu
Služba vrací AL=0xff, pokud je k dispozici alespoň jeden nepřečtený bajt. Jinak vrací služba AL=0, tzn. že vstup už byl čtením vyčerpán.

Zjisti systémové datum

mov AH, 0x2a ; Identifikace služby Zjisti systémové datum int 21h ; resp. int 33 poskytne službu
Služba vrací rok v registru CX, měsíc v registru DH, den v měsíci v registru DL a pořadí dne v týdnu (neděle je 0) v registru AL.

Nastav systémové datum

mov AH, 0x2b ; Identifikace služby Nastav systémové datum mov AX,2020 ; rok, povoluje se interval 1980-2099 mov DH,1 ; měsíc mov DL,25 ; den v měsíci int 21h ; resp. int 33 poskytne službu
Služba vrací AL=0, pokud bylo datum nastaveno. Vrací AL=0xff, pokud je zadané datum chybné.

Zjisti systémový čas

mov AH, 0x2c ; Identifikace služby Zjisti systémový čas int 21h ; resp. int 33 poskytne službu
Služba vrací hodinu (24hodinový režim) v registru CH, minutu v registru CL, sekundu v registru DH, počet setin sekundy v registru DL.

Nastav systémový čas

mov AH, 0x2d ; Identifikace služby Nastav systémový čas mov CH,23 ; hodina ve 24hodinovém režimu mov CL,59 ; minuta mov DH,59 ; sekunda mov DL,81 ; počet setin sekundy int 21h ; resp. int 33 poskytne službu
Služba vrací AL=0, pokud byl čas nastaven. Vrací AL=0xff, pokud je zadaný čas chybný.

Jeden znak na terminál (služba BIOS)

mov AH,14 ; 14=0Eh Identifikace služby Jeden znak na terminál mov AL,'a' ; ASCII kód znaku, který se má na terminál vypsat int 10h ; resp. int 16 poskytne službu

FAQ
Překladač nasm mi hlásí chybu Line #XXX: error: label `yyyyy' changed during code generation

Problém nastává v případě použití pseudoinstrukcí dw, dd, dq s nedefinovanou hodnotou, tj. např. 'dw ?'. Zkuste nahradit za definovanou hodnotu, např. 'dw 0'.

Překladač nasm mi hlásí chybu "error: no instruction for this cpu level" pro instrukci ROL

Pokud použijete instrukci ROL (či ROR, SHL, SHR, SAL, SAR) s argumentem, kterým je číslo větší než 1, pak skutečně tato instrukce není procesorem 8086 podporována (podporují ji až procesory vyšší řady). Instrukce ROL (apod.) smí rotovat (posouvat) buď o 1 bit, nebo o počet bitů umístěný v registru CL. Tzn. povoleny jsou pouze varianty "ROL reg,1" a "ROL reg,CL".

Ovládání tiskáren

Vizte zvláštní Popis paralelního portu pro tisk na tiskárnu.

Využití přerušovacího systému

Využití přerušovacího systému.

anonym
Assembler › x86 NASM čtení z terminálu a…
10. 1. 2023   #390794

#4 gna
Bohužel si myslím, že nebudu moci použít toto z důvodu, že mi to hodí tento error:
CS:IP=0000:0014h, absolutní adresa 20 0x14 024, na řádku 12 00000014 CD21 Int 21h: Neimplementovaný režim AH=63 0x3F 077 simulované služby INT 21h.

anonym
Assembler › x86 NASM čtení z terminálu a…
10. 1. 2023   #390790

#2 gna
Děkuji za radu, a tak myslíte že by bylo lepší použít něco jíného nebo to upravit aby to fungovalo s tímto ?

Myslíte že na to jdu správným směrem, nebo jsem úplně mimo a tímto kódem nejsem schopný vyřešit tento problém ?

anonym
Assembler › x86 NASM čtení z terminálu a…
9. 1. 2023   #390787

Dobrý den, chtěl bych se zeptat zda by mi někdo nepomohl z tímto problémem:

Přečtěte řádky textu z terminálu. Vypište na terminál první polovinu načtených řádků a z každého řádku jen první polovinu načtených bajtů.

Polovinu počítáte celočíselně. Polovina např. z 5 jsou 2. Potom první polovina bude obsahovat 2 řádky nebo bajty a druhá polovina 3 řádky nebo bajty.

Řádků na vstupu může být až 600, každý řádek může být dlouhý až 100 bajtů.
I prázdné řádky se musí předat na výstup.
Na výstupu musí být každý řádek ukončen znaky CR LF bez ohledu na to, jakým oddělovačem řádků byl ukončen na vstupu.
V načtených datech se pro jednoduchost vyskytují jen písmena bez diakritiky, číslice a mezery.

Můj kód je zde, ale nefunguje tak jestli někdo neví jak pomoci:

cpu 8086
segment code
..start mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,dno
mov es, ax
start mov ah, 0x0a
mov dx, buffer
int 21h
cmp al, 0
je print_lines
inc word [count]
mov si, buffer
mov di, line
mov cx, 100
rep movsb
jmp print_lines
print_lines mov ax, [count]
shr ax, 1
mov [half], ax
mov bx, [half]
mov cx, [half]
print_line mov dx, line
mov ah, 9
int 21h
mov si, line
mov di, line_end
mov cx, 2
rep movsb
mov ax, 100
shr ax, 1
mov [half_byte], ax
add si, [half_byte]
mov cx, 100
rep movsb
dec bx
jz end
jmp print_line
empty_line mov ah, 9
mov dx, empty_string
int 21h
jmp print_line

end hlt
segment data
buffer db 100
half dw 0
count dw 0
half_byte dw 0
line_end db 0Ah, 0Dh
line db 100
empty_string db 0Ah, 0Dh
segment stack
resb 100
dno: db ?
 

Vladimír Vilček
Pascal › Herní automat (simulátor v P…
22. 4. 2012   #156958

#1 Vladimír Vilček
kontakt: (kontakty odstraněny, již neaktuální)
         

Vladimír Vilček
Pascal › Herní automat (simulátor v P…
22. 4. 2012   #156957

Zdravím, 

potřeboval bych pomoc s programem do školy, jedná se o simulátor herního automatu. Pro někoho kdo programuje hračka, pro mě ale nemožné. Jakákoliv pomoc by byla super. Jsem ochotný za program i zaplatit.;)

C / C++ › Allegro - pomoc
21. 10. 2007   #52117

Hh, tak asi to vymyzat kódu, ně? :D :D :D

Offtopic › Internet
21. 10. 2007   #52115

To midin: Břeclav, sídliště Na Valtické, provider: FreeBone, adresa: www.breclav.net (3Mbit/1Mbit je jenom na sidlisti, je tady nove natahla optika)

sanka
Hry › Spiderman 3 - problém
21. 10. 2007   #52114

v treningu udelam ten zaklad i znicim ty bomby atd,a dostanu se do mistnosti a tam musim preskakat tabulatorem tu cestu nez to bouchne,to je jeste ok jenomze potom je tam naka zenska privazana k bombe a spida skoci a vzdycky spadnu na zem,i kdyz mackam vsechno mozne nevi co mam udelat?

Sanka
Hry › Spiderman 3 - problém
21. 10. 2007   #52113

v treningu udelam ten zaklad i znicim ty bomby atd,a dostanu se do mistnosti a tam musim preskakat tabulatorem tu cestu nez to bouchne,to je jeste ok jenomze potom je tam naka zenska privazana k bombe a spida skoci a vzdycky spadnu na zem,i kdyz mackam vsechno mozne nevi co mam udelat?

C / C++ › NAcitani obrazku pomoci SDLi…
21. 10. 2007   #52112

JJ,skousel.Vsak pokud spustim pres windowsy(jako uz zkompilovanou aplikaci),tak to funguje jak ma.Proto se ptam,jestli nekdo nevi,co VS "vadi"
EDIT:A nebo nevite jak se da tady tato kontrola pri behu(neba aspon urcite chyby) vypnout?

C / C++ › Allegro - pomoc
21. 10. 2007   #52111
Serath
C / C++ › Allegro - pomoc
21. 10. 2007   #52110

Ako sa da v allegre spravit to ze ked mysou kliknem na obrazok tak sa vypne program ?

miso
Pascal › chba pri spusteni vytvoreneh…
21. 10. 2007   #52108

diky velmi ste mi pomohli

M
HTML / XHTML › framest
21. 10. 2007   #52105

stranky nie ftravky biely ram nie tam.

M
HTML / XHTML › framest
21. 10. 2007   #52104

mam problem urobil som si navrh ftravky s freamami a uz som zacal pracovat na jednom a zobrazi mi v tom ramci napr. obrazok ale je okolo neho bieli tam posielam screen


<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>.....</title>
</head>
<frameset rows="4%,12%,*" border=0>
<frame src="neonhore.jpeg" name="neonhore" scrolling=no>
<frame src="vrch.jpg" name="vrch" scrolling=no noresize>
<frameset cols="4%,19%,73%,4%" border=0>
<frame src="neonlavo.jpeg" name="neonlavo" scrolling=no noresize>
<frame src="menu.htm" name="menu" scrolling=auto noresize>
<frame src="stred.htm" name="main" scrolling=auto>
<frame src="neonpravo.jpeg" name="neonpravo" scrolling=no>
</frameset>
<body>

</body>

</html>

mepomozete mi prosim???

CSS › pseudotriedy after, before s…
21. 10. 2007   #52103

No, ale veď h1 je blokový element, takže defaultne je roztiahnutý cez celú stránku, jedine že by si nejako upravoval jeho šírku...


tak to som nedomyslel teda :) ...

ale mne tuto slo viac o riesenie vseobecneho problemu ako nahradu za nieco ine ...

CSS › pseudotriedy after, before s…
21. 10. 2007   #52102

Beru výtky na vědomí ... on to byl stejně spíš příklad, co lze dostat použitím pseudo-content kromě vkládání text.obsahu
(nebo spíš co jednou bude možné, až bude běžný na všech platformách....)

CSS › pseudotriedy after, before s…
21. 10. 2007   #52101

keby tam bol len border, ciara by bola len pod nadpisom a ja potrebujem ciaru cez celu stranku


No, ale veď h1 je blokový element, takže defaultne je roztiahnutý cez celú stránku, jedine že by si nejako upravoval jeho šírku...

CSS › pseudotriedy after, before s…
21. 10. 2007   #52100

prečo tam musí byť <hr /> ? - pýtam sa len zo zvedavosti, nechápem prečo nestačí nastaviť vlastnosť border


z grafickych dovodov - keby tam bol len border, ciara by bola len pod nadpisom a ja potrebujem ciaru cez celu stranku. Preto <hr /> ...

to Petroff: tvoj priklad je fainovy, aj ked je trocha zlozitejsi je dobry ... ale ako som sa dozvedel od mylan4 pseudotriedy nefunguju v IE :'( skoda ...

Jura
C / C++ › NAcitani obrazku pomoci SDLi…
21. 10. 2007   #52099

Spouštět teď VS a dělat v něm projekt nehodlám,ale zkoušel jsi to aspoň assertovat? Zda není cíl NULL? atd..

Jura
C / C++ › C++ vs. Pascal
21. 10. 2007   #52098

midin píše:#
# To yaqwsx:

C++ umoznuje programovat jak obektove,tak procedualne

#
#Jistěže. Každý OOP jazyk umožňuje programovat procedurálně. Máš svobodnou volbu. Prakticky u všech jednoduchých konzolových prográmků je to psáno procedurálně. Pokud zahrneš třídy atd., je to o něčem jiném.



Jen bych podotknul, že to není tak docela pravda. Java, C# a některé další jazyky jsou čistě objektové jazyky, tedy neumožňují psát procedury mimo tělo nějaké třídy. Mimo jiného je C++ nejen objektový a procedurální jazyk, ale také umožňuje psát genericky(šablony) - tím mám na mysli hlavně využití zásad a tříd zásad, atd(tím nemyslím kontejnery nebo pro někoho kolekce).

CSS › pseudotriedy after, before s…
21. 10. 2007   #52097

to Petroff: tak tomuto riešeniu nerozumiem - zdá sa mi to príliš komplikované a hlavne nepraktické, neelegantné. Prečo nastavovať border-bottom: 2px black solid; tej pseudotriede??? Prečo sa to rovno nenastaví tomu nadpisu h1???

CSS › pseudotriedy after, before s…
21. 10. 2007   #52096

2 greppi:
1. to bolo myslené všeobecne - pseudotrieda :after nefunguje v IE, takže aj keď to rozbeháš vo Fx, nebude to mať veľký význam
2. prečo tam musí byť <hr /> ? - pýtam sa len zo zvedavosti, nechápem prečo nestačí nastaviť vlastnosť border

CSS › pseudotriedy after, before s…
21. 10. 2007   #52095

<to Greppi>
Nezapoměň, že přidáváš obsah=content dovnitř elementu(tedy dovnitř nadpisu) a jeho velikost - tedy šířka je omezena šířkou tohoto prvku (při width:100%).
To znamená, že v případě takových odstavců, které zabírají celou šířku stránky, bys uspěl. HTML značky sice nelze vkládat, ale vložený prvek se dá nastylovat => HR se dá nasimulovat takto:

p { margin-top: 1ex; margin-bottom: 1ex } /*...upraví se */

p:after {
content: "."; /* jakýkoli text,tečka stačí */
display: block;
font-size:0px; /* aby text nebyl vidět */
height:0; /* aby text nebyl vidět */
width:100%;
margin-top: 1ex; /* mezera mezi textem a čárou */
border-bottom: 2px black solid; /* tloušťka čáry */
}


Pomocí absolutního pozicování by to šlo i u nadpisů - jen je třeba nastavit prvku, ve kterém se texty a nadpisy nacházejí (BODY či DIV...) position: relative.
[podtrzene]Ukázka:[/podtrzene]
<html><head><title>HR pod nadpisem</title></head>

<style>
.container {position:relative; margin: 0 1em; border: 1px solid gray}
h1 { margin-top: 1.5ex; margin-bottom: 1ex } /*...upraví se */
h1:after {
content: "."; /* jakýkoli text,tečka stačí */
text-indent: -9999px; /* aby text nebyl vidět */
display: block;
position:absolute;
height:0; /* aby text nebyl vidět */
top:auto;
left:0;
right:0;
margin-top: -2px; /* mezera mezi textem a čárou */
border-bottom: 2px black solid; /* tloušťka čáry */
}
</style>
<body>
<div class="container">
<h1>nadpis1</h1>
<p>Pellentesque non augue ac felis rutrum imperdiet. Nullam ante libero, luctus
vitae, hendrerit at, rhoncus in, augue. Cum sociis natoque penatibus et magnis
dis parturient montes, nascetur ridiculus mus. Nulla semper rhoncus eros. Liber
Maecenas pulvinar libero vitae nisi. Vestibulum scel felis a fermentum
imperdiet, nisi magna adipiscing nibh, in blandit nisi quam sed purus. Aliquam
commodo libero elei fend ipsum.</p>
<h1>nadpis2</h1>
<p>Pellentesque non augue ac felis rutrum imperdiet. Nullam ante libero, luctus
vitae, hendrerit at, rhoncus in, augue. Cum sociis natoque penatibus et magnis
dis parturient montes, nascetur ridiculus mus. Nulla semper rhoncus eros. Liber
Maecenas pulvinar libero vitae nisi. Vestibulum scel felis a fermentum
imperdiet, nisi magna adipiscing nibh, in blandit nisi quam sed purus. Aliquam
commodo libero elei fend ipsum.</p>
</div>
</body>
</html>

C / C++ › C++ vs. Pascal
21. 10. 2007   #52093

To yaqwsx:

C++ umoznuje programovat jak obektove,tak procedualne


Jistěže. Každý OOP jazyk umožňuje programovat procedurálně. Máš svobodnou volbu. Prakticky u všech jednoduchých konzolových prográmků je to psáno procedurálně. Pokud zahrneš třídy atd., je to o něčem jiném.

C / C++ › NAcitani obrazku pomoci SDLi…
21. 10. 2007   #52092

No tak tu jeste davam obrazek te chby,je to hned po tom co se to zkompiluje a jak chci vykreslit obrazek
http://img210.imageshack.us/img210/1593/errws4.png

CSS › pseudotriedy after, before s…
21. 10. 2007   #52091

toto tak či tak nebude fungovať v IE


sak to nefunguje ani v FF o to prave ide

2. dá sa to urobiť aj jednoduchšie a síce: h1 {border-bottom: 1px black solid;}


ano to ma napadlo ale ja potrebujem <hr /> a nie pociarknuty text ...

k
Offtopic › Posilujete ?
21. 10. 2007   #52090

Ja som asi pred rokom a pol pravidelne posiloval (Kazdy 2., niekedy kazdy, den.). Potom som si akosi uvedomil ze mi to nic nedava, zabijam s tym cas a tak som sa na to zvysoka vy***l.

Návrhy na vylepšení › Redaktoři?
21. 10. 2007   #52089

Chtěl bych se zeptat jestli jsou nějaké podmínyk pro redaktory?? co musí splňovat aby se mohli stát??Třeba nějaký určitý počet článků za nějakou dobu atd.

Offtopic › Posilujete ?
21. 10. 2007   #52086

To ps2console:Já ho chci taky !!!!!!!!!!!! My máme učitele slabýýý .... Sice za jednu minutu opožděnýho příchodu na tělák je 6 kliků a to je všechno :-(
Já bych chtěl vojnu ! Aspoň na ten tělák ...

Offtopic › Posilujete ?
21. 10. 2007   #52084

To Jacob:EE, nicomu sa nevenujem

btw my mame takeho telocvikara, ktory nam raz dal rozne stafety, a ty co skoncili prvy museli robit 20 klikov,2. 40,3. 60,4. 80(to sme boli my) a 5. 100

C / C++ › C++ vs. Pascal
21. 10. 2007   #52083

TAk shrnul bych to tak,Pascal byl vymyslen se zamerem ucit,C++ vytvaret mistrovska dila.
Pascal ma hodne prikazu z bezne anglictiny,aby to bylo pro cloveka srozumitele a pochopil to.A jednoduchy,ale a urcita omezeni.
C++ je celkem slozite,ale zato se v nem da udelat skoro cokoliv a programator ma skoro plnou moc.

Ale nejsem si jisty,ale kdesi sem cet,ze C++ umoznuje programovat jak obektove,tak procedualne

C / C++ › C++ verzus ???
21. 10. 2007   #52082

Eversmann píše:#
# Mám takú trochu amatérsku otázku, tak sorry.:) Chcel by som programovať aplikácie v oknách, tak v čom mám programovať? Zatiaľ mam nejaké základy v Pascale a C++.:) Diky moc!!



s C++ by si sa mal dosťať aspoň tak ďaleko aby si vedel čo je :
- dedičnosť
- ukazatel (pointer)
- čo je v lib a dll súboroch
...
chcelo by to ovladať aj nejake IDE. pretože debugovanie je potrebné a ak si nim nevieš pomôcť, tak strácaš chuť a čas.

až to budeš vedieť tak by som odporučal SDL
je to jednoducha knižnica ktora umožňuje grafický výstup. Vie spolupracovať aj s OpenGL a ma aj vlastný 2D systém. Takže nie je ani amatérska, ale ani príliš zložitá.

až budeš mať SDL plne zuby, tak už budeš vedieť kam ďalej. Možnosti su dnes asi take:
-API (dosť nepraktická tvorba aplikácií, ale dosť viužívaná)
-MFC (v podstate API, ale zjednodušuje ho, dnes sa už toľko nepoužívá)
-prechod na .NET a s tým winforms ( tu som ja :) momentálne podľa mňa najjednoduchšia tvorba aplíkácií )

NeonN
C / C++ › C++ verzus ???
21. 10. 2007   #52081

Jestli bys sel do toho Pascalu, tak tam na GUI asi jedine Delphi. Moc v lasce ho sice nemam, ale musim uznat, ze se v tom da psat docela rychle. Nevyhodou je neprenositelnost (s Kylixem zkusenosti nemam, ale nebude to kompletne kompatibilni...), IMHO neprehlednost (Pascal je straaasne ukecany)... ovsem 100 lidi, 100 chuti.

A pokud bys sel do C++, tak je vyber o dost pestrejsi... zalezi jenom na tobe, jak si vyberes. Ale jesli bys (nahodou) chtel slyset muj nazor, tak...
WinAPI je podle me moc slozite... naco psat tolik zbytecneho kodu (navic neprenositelneho).
Qt vypada fakt dobre, ale odradila me velikost knihoven... naco k aplikaci, ktera ma 100kB, pribalovat 10MB DLL knihoven potrebnych pro vytvoreni HelloWorld okna (staticky linkovat jsem to nezkousel, takze nevim, jak by to bylo velke).
wxWidgets mi zase nesedly. Nerikam, ze jsou spatne, hodne lidem se v nich dela dobre... ale me proste nesedly. Nevim proc...
GTK je pouze v C... prijde mi to trochu neprirozene pro psani GUI aplikaci (kde kazdy widget vnimam jako objekt, ktery by mel mit sve vlastnosti).
GTKmm je celkem pekna nadstavba GTK... vypada krasne. Ale je tu zase problem ve velikosti. Ke GTK (ktere je uz samo o sobe dost velke) jsou potreba dalsi knihovny... a ne zrovna male. Proste dalsi otesanek... podle me neprakticke.
Pak jsou tu FOX Toolit a FLTK... nezkousel jsem ani jedno, ale podle ukazkovych zdrojaku vypadaji slusne. Urcite stoji za zminku...

Ale muj favorit je jednoznacne Ultimate++. Dobry objektovy navrh, da se v tom psat skoro stejne rychle jako v Delphi. Ma vlastni IDE (coz IMHO beru jako vyhodu - je to vsechno perfetne navzajem optimalizovane - vlastni GUI designer atd...). Jedina nevhoda muze byt mensi rozsirenost a mene obsahla dokumentace. Ale to bohate nahrazuje skvele forum, kde kazdy velmi rad poradi (i samotny tvurce Ultimate++). Pokud bys nahodou nasel nejaky bug nebo potreboval nejakou novou vlastnost, staci postnout oznameni/zadost na forum a dost casto je to vyreseno velmi rychle (vetsi veci se davaji to ToDo listu).

Znova opakuju, ze je to pouze nazor... snad to aspon trochu pomuze :).

janc1
C / C++ › Problém se ShowMessage
21. 10. 2007   #52080

pokial sa nemylim tak funkcia showmessage je to iste ako v delphi, je to len obalena funkcia nieco ako funkcia Win32 API - messagebox

a inak niekto sa pytal co je AnsiString, C a C++ maju string a C++ builder to nazyvaju AnsiString ;) pani z borladnu asi nevedia co od nudy naprogramovat

C / C++ › C++ vs. Pascal
21. 10. 2007   #52079

To Jeyekomon: Tak podobné jazyky to rozhodně nejsou. Je to prakticky úplně o něčem jiném - Pascal je procedurální, zatímco C++ je objektový jazyk. Pro začátečníka je spíše vhodný Pascal, pochopí se z něj dobře základní principy programování. C++ je nižší jazyk - tzn. programování bere opravdu do hloubky, zaobírá se alokací a dealokací paměti apod.

tomas
Webové servery (Apache, IIS...), .htaccess › subor .htaccess
21. 10. 2007   #52078

Ahojte pouzivam tento kod do suboru .htaccess

da sa spravit tak ked niekto pride na stranku tak vsetky odkazy co tam mam napr zapne si www.nieco.sk

nahodi mu web a odkazy automaticky budu www.nieco.sk/kontakt

lebo teraz ked zapnem www.nieco.sk tak kliknem napr na kontakt a mam tam hore - www.nieco.sk/index.php?mode=kontakt ?

da sa to spravit niako automaticky ? dikes



RewriteEngine On

RewriteCond %{HTTP_HOST} ^web\.cz$ [NC]
RewriteRule ^(.*)$ http://www.web.cz/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]


RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$
RewriteRule ^(.+[^/])$ /$1/ [R=301]
RewriteRule ^([^(/\.)]+)/([^(/\.)]+)/([^(/\.)]+)/([^(/\.)]+)/?$ %{DOCUMENT_ROOT}/index.php?mode=$1&p2=$2&p3=$3&p4=$4 [QSA,L]
RewriteRule ^([^(/\.)]+)/([^(/\.)]+)/([^(/\.)]+)/?$ %{DOCUMENT_ROOT}/index.php?mode=$1&p2=$2&p3=$3 [QSA,L]
RewriteRule ^([^(/\.)]+)/([^(/\.)]+)/?$ %{DOCUMENT_ROOT}/index.php?mode=$1&p2=$2 [QSA,L]
RewriteRule ^([^(/\.)]+)/?$ %{DOCUMENT_ROOT}/index.php?mode=$1 [QSA,L]

Offtopic › browserwar.info
21. 10. 2007   #52077

(Kdyby vás zajímalo, kdo se postaral o všechny ty spamy, tak to nebyl CuroBOT, ale já, Garret Raziel (a to nejsem ani redaktor, ani správce a ani admin ;)))

Petrof
Visual Basic › xor: err 13 type mismatch
21. 10. 2007   #52076

VB neumi xorovat retezce... musis to prolezt byte po bytu...

dim str1 as string, str2 as string, strout as string, i as integer
str1="abcdef"
str2="fedcba"
strout = ""
for i = 1 to len(str1)
strout = strout & chr(asc(mid(str1,i,1)) xor asc(mid(str2,i,1)))
next i

---> v promeny strout mas vysledek

C / C++ › C++ vs. Pascal
21. 10. 2007   #52073

Chtel bych se zeptat, v cem jsou nejvetsi vyhody C++ ?? Obecne, nebo treba ve srovnani s Pascalem ..
Vedu totiz spor s pritelem a on tvrdi, ze jsou to podobne jazyky a ze pro zacatecnika se v podstate nelisi, navic pry Pascal je srozumitelnejsi ..
Tak abych mel nejake argumenty. Dik .

C / C++ › Problém se ShowMessage
21. 10. 2007   #52070

ShowMessage je používaná vo WinAPI ;)

Offtopic › browserwar.info
21. 10. 2007   #52069

Ivo píše:#
#

radypala píše:#
# nechapem co vsetci furt maju IE. ved vsade su reklamy na Firefox, tak proecfo si ho nestiahnu?#
#?

#
#Teda pekny prispevek :D#
##
#Ted ja - nechapu co vseci maji proti IE, dyt neni ani potreba stahovat :) a navic neni potreba 200MB pameti na par zalozek...

Napr. vždy máme niečo proti IE lebo je deravé ako sito(a to nielen IE ale cely microsoft) má škaredý vzhľad, je nebezpečné ho používať a pocitujem k nemu odpor, už iba kvoli tomu že to je dielo microsoftu. ;) ale ak chceš, používaj ho.


PS: Mažte nieto tie spamy.

CSS › pseudotriedy after, before s…
21. 10. 2007   #52068

Tak 1. toto tak či tak nebude fungovať v IE (teda aspoň v 6-ke nie) a 2. dá sa to urobiť aj jednoduchšie a síce:
h1 {border-bottom: 1px black solid;}

Visual Basic › xor: err 13 type mismatch
21. 10. 2007   #52067

No, pokial viem tak Xor sa da pouzit na Boolean a na Integer, neviem si predstavit co by malo byt vysledkom tohto: "fdghskfsdhgf" Xor "dsfjxchvklwef" . Čo očakávaš, že to vypíše?

OS - GNU / Linux › Open Office 2.3
21. 10. 2007   #52066

Jak to instaluješ? Z repozitářů? Pokud je tohle tvůj jediný repozitář, tak to může být problém. ;-) Zkus najet seznam zdrojů, příp. nějaké přidat, abys jich tam pár měl. Pak aktualizuj zdroje. Nezaručuju, že to pomůže - s tímhle se občas taky štvu.. :-(

Pokud to instaluješ z balíčku (asi nejlepší možnost), tak bys s tím problém mít neměl...

CHoco
Návrhy na vylepšení › Nejede mi registrace
21. 10. 2007   #52064

takže zítra už můžu :-)
díky moc zdarec a příště už jenom jako user :-)

Offtopic › Posilujete ?
21. 10. 2007   #52063

Když už jsme u toho, věnujete se nějakýmu bojovímu umění ???? Box, Kickbox, Muai-Thai, Sumo :-), Kung fu, Take won do, atd ...

sdfsdfsdfsdf
Visual Basic › xor: err 13 type mismatch
20. 10. 2007   #52058

Print "fdghskfsdhgf" Xor "dsfjxchvklwef"

v cem mam chybu?

CSS › pseudotriedy after, before s…
20. 10. 2007   #52057

Cafte,

mam taku teoreticku otazku, chcel by som napr. nejako nadefinovat v CSS ze po nadpise H1 by mi vzdy dalo horizontalnu ciaru (<hr />). Chcel som to riesit cez :after ale ked som do content napisal nejaku HTML znacku tak to nechcelo ist, isiel iba prosty text.

ukazka:

h1 {font-size:120%; color:black;}
[podtrzene]h1:after {content: "<hr />"}[/podtrzene] <- toto nefunguje

tak ma asi napadlo ze tieto pseudotriedy su len pre cisty text, ale je na to aj nejaka alternativa v CSS ?

thx za napady

Marecek
Offtopic › Posilujete ?
20. 10. 2007   #52056

V posilke 3x do tyzdna t.j. pondelok streda , piatok; v utorok a stvrtok sem tam chodim vymlatit mech..je to dost fajn take odreagovanie sa :D, chodia tam aj Baby tak je sa aj na co pozerat:D

gameWriter
Offtopic › Posilujete ?
20. 10. 2007   #52045

kliky,zkalovačky a běh se psem po lesích....

Návrhy na vylepšení › Nejede mi registrace
20. 10. 2007   #52044

počkej na novou verzi, tam vše funguje...

Offtopic › Posilujete ?
20. 10. 2007   #52043

Posilujem doma... Činky, rôzne iné náradie vrátane hrazdy... Občas chodím behávať na pole (len prejdem cez cestu :) a samozrejme kliky, brušáky, a vonku trošku šprinty... A neodmysliteľný bicykel :D ... Takže pohybu mám dosť ;)

Choco
Návrhy na vylepšení › Nejede mi registrace
20. 10. 2007   #52042

zdarec už po několikáté se pokouším o registraci a pořád nic sice vždycky mi to hodí že jsem se úspěšně registroval ale až teď jsem si všimnul že tam máte černě tohle warování

Warning: Cannot modify header information - headers already sent by (output started at /mnt/data/accounts/p/programujte/data/www/www/class/lista.php:300) in /mnt/data/accounts/p/programujte/data/www/www/readers.php on line 51

pls co stím

CSS › rozdílný levý okraj u INPUTu…
20. 10. 2007   #52040

Aby toho nebylo málo, tak při změně velikosti písma (+ i -) v FF se text v labelu chová divně - při některých hodnotách přeteče ven z labelu.
Nevíte jak to zařídit, aby se velikost textu měnila úměrně velikosti labelu? (volba font-family/size popř. volba jednotek šířky)

Napadlo mě,zda by nešlo využít rys charakteristický pro neproporcionální písmo - při jakémkoli zvětšení jsou všechny znaky stejně široké (i mezera). Pokud bych tedy všechny texty doplnil mezerami na počet 16 = nejdelší text a nastavil labelům width:auto, mělo by to fungovat (je to ovšem krkolomnost až běda).

0xFF
C / C++ › OOP
20. 10. 2007   #52039

Ajej hnedka tolik chyb v jednom.

1. definoval jsi metodu tridy jako privatni, takze ji stejne nemuzes vyvolat tak jak je napsano.
2. metoda slovo, nevraci zadnou hodnotu ikdyz mas napsano ze vraci nejaky int
3. radek s cout << hra.slovo je tak zcela nesmyslna

kdyz vynechame defaultni konstruktor a destruktor tak spravne by to melo vypadat nejak takto :

#include <iostream>

class hra
{
public:
void slovo(void)
{
std::cout << "neni slovo";
slovo2();
}

int slovoCoVraciInt(void)
{
std::cout << "slovo co vraci int : ";
return 100;
}

private:
void slovo2(void) { std::cout << " jako slovo" << std::endl; }
};



int main(void)
{
hra mojehra;
mojehra.slovo();
std::cout << mojehra.slovoCoVraciInt() << std::endl;
return 0;
}

Pascal › Třídění
20. 10. 2007   #52035

To Frantisek: Nejsem si jistý, jestli ti pomohu, protože si nejsem jistý, co přesně je "přímé třídění", ale myslím, že je to to, že si vytvoříš proměnnou, nastavíš na nula a pak postupně zvedáš a díváš se, jestli tenhle prvek v poli není a pokud je, tak ho dáš na další pozici v druhém poli (vše je v cyklu for, který je nastaven na 0-maximální číslo v poli). Ale opravdu si nejsem jist, jestli je to ono, já na třídění používám většinou bubble sort.

C / C++ › OOP
20. 10. 2007   #52033

ano, musíš přece udělat instanci.

C / C++ › Programator C++, assembler
20. 10. 2007   #52032

To partří do inzercí.

C / C++ › C++ verzus ???
20. 10. 2007   #52031

ten kurz na Win32 je skoro o ničem protože na vývoj v otm toho je málo. Ale http://www.builder.cz/serial91.html tento kurz už má úroveň já si hned potom koupil knihu od autora toho kurzu a je perfektní a to napsal ještě 3. :)

Eversmann: Nauč se jejdřív C++ nebo aspoň C a pak se podivej na nějaký API, dobré je Win32 API a wx nebo se můžeš učit C#, ale spíš bych zůstal na C++.

No ale o wx se toho moc nesežene.... zatim to je takový nový a skrytý, ale slyšel jsem na to samou chválu.

C / C++ › Ako písať \?
20. 10. 2007   #52030

na EN klávesnici to je myslim vždy, tak když si ji přepneš, tak se ti bude vše programovat líp i ty všechny závorky a ampersand,...
Přepneš alt+shift

C / C++ › Problém se ShowMessage
20. 10. 2007   #52029

Já dělám v VS, ale myslim že by ti měla stačit funkce wsprintf() která slouží k editaci řetězce.

ukázka z Win32:
int cislo;
TCHAR szText[50];
wsprintf(szText, "tak to je %d", cislo);

zřeba budeš znát MessageBox(NULL, szText , TEXT("Titulek"), MB_OK | MB_ICONINFORMATION);
snad tam nemám chybu. Takle by se to podle mě mělo nechat dát použít i v builderu, kdybych znal jednotli vé parametry funkce ShowMessage tak bych to možná sepsal do toho. Snad to je to co jsi hctěl.

Offtopic › Posilujete ?
20. 10. 2007   #52028

To Luk4Senko: No fuj ....
Já mám doma jenom hrazdu a batoh s pískem, s tim se dělaj kliky :-) Nic víc ...

Erenis
PHP › pristup k post proměnným z i…
20. 10. 2007   #52027

ahoj,
mám stránku ze které odesílám data pomocí metody post na další stránku ve které mám iframe. a potřeboval bych ty data číst v iframu, je to něják možné?

toxi
Příkazový řádek › Práva admina
20. 10. 2007   #52026

čistě z osobních důvodů ... a z důvodů pomsty škole :D ... Ne sranda :) Hodlám se pobavit

Tom@sQO
Python › cas vykonavania programu
20. 10. 2007   #52022

thx, to je to, co som potreboal :)

JavaScript, AJAX, jQuery › vstup na stránku jen po odso…
20. 10. 2007   #52021

Zelenáč píše:#
# To Petroff : Žádný web NESMÍ být na používání JS závislí - řekl bych skoro jedno ze základních pravidel webdisignu.. (nemluvím o webových AJAX aplikacích, ale o ##uvozovka2##normálních##uvozovka2## webech)...

Plňe súhlasím :-)

Zelenáč píše:#
# To Prog. : Copak se ti nelíbí na php-session? :-)

To Zelenáč: Mám rád, keď presne viem, ako niečo funguje, čo o nich nemôžem povedať (asi preto, že som sa php-sessnami nikdy veľmi nezaoberal). A nemám rád keď niečo vie robiť aj to, čo nepotrebujem :-) Taktiež, nevedia mnoho, čo potrebujem, takže to treba dorábať a prepájať. A koniec-koncov, je potom aplikácia viac závislá na konfigu php-čka, čo už vôbec nemám rád.... :-)

JavaScript, AJAX, jQuery › Volanie funkcie odovzdanej r…
20. 10. 2007   #52019

Oki, chybyčka sa vloudila, neviem prečo som tam chcel tie argumenty ťahať z tej vyžšej fcie :-)
A druhá vec, keď uvediem thisArg = fn, tak to nejde, nezisťoval som prečo, hodil som tam null, a beží to... zatiaľ ma to netrápi. Problém by asi mohol nastať keby som robil niečo také:

my_class2 = function()

{
this.pokus = 'pokus';
}
my_class.prototype.skus = function() { alert(this.pokus) };
var my_class = _prepoj(my_class2);

var test = new my_class();
test.skus();
...momentálne nemám čas sa až tak sa s tým hrať, možno to pojde aj s null.

Jou, a opravená fcia _prepoj:
var _prepoj = function( fn )

{
return function()
{
fn.apply(null,arguments);
}
}


Ešte raz, ďík ;-)

Nebúkadnezzar
C / C++ › Evaluační algoritmus
20. 10. 2007   #52017

Chtěl bych vytvořit program na výpočet rovnic. A vím, že funkci eval mohou mít jen interpretační jazyky (kompilované ne). Btw. když je Python je programovaný v C a je open-source, nemohl bych grabnout algoritmus na funkci eval z jeho zdrojáků?

JavaScript, AJAX, jQuery › Volanie funkcie odovzdanej r…
20. 10. 2007   #52016

To Petroff:
Ďakujem za ochodu aj úsilie, nakoniec sa mi to podarilo rozkusať :-)

inak mám návrh: zkoušel jsi ?
function zpracuj() {zpracuj.akce.apply(this,arguments)}

...no, keby som poznal tú metódu apply, tak by som ju skúsil :-)

...kdežto IE >> objekt nezná tuto metodu...

IE, ani zvyšok ma nezaujíma, bude to extension do Mozilly...

Jou, a ešte ďakujem za jednu vec (práve teraz ma napadla). Keďže tá fcia zpracuj by bola stále rovnaká, záležalo by len od jej .akce, tak má to inšpirovalo k niečomu takému:
var my_fn1 = _prepoj( my_fn1_2 );

var my_fn2 = _prepoj( my_fn2_2 );

var _prepoj = function( fn )
{
var args = arguments;
return function() { fn.apply(fn,args) };
}

...dúfam že to bude fungovať, prípadne sa s tým ešte pohrám :-)

C / C++ › NAcitani obrazku pomoci SDLi…
20. 10. 2007   #52015

skusil jsem se poohlednout i po jinem zpusobu nacitani,bohuzel ten samy problem.....

JavaScript, AJAX, jQuery › vstup na stránku jen po odso…
20. 10. 2007   #52014

To Prog. : Copak se ti nelíbí na php-session? :-)

Bluemont
C / C++ › Programator C++, assembler
20. 10. 2007   #52012

Hľadáme programátorov na tieto pozície:
Programátor systémových driverov a krátkych rutín pre operačný systém Windows (XP a novšie). Ovládanie assembleru a práca s hardvérom počítačov s procesormi x86 na profesionálnej úrovni.
Programátor win32 driverov. Ovládanie jazyka C/C++.




Okamžitý štart pre obe pozície. Záujemcovia musia byť časovo flexibilný a musia byť schopný orientovať sa v už vytvorených cudzích programových zdrojových kódoch. Jedná sa o externý pracovný pomer alebo pracovný pomer na plný úväzok pre americkú softvérovú spoločnosť so zastupením na Slovensku.



Výborne platové ohodnotenie na základe výkonu a znalostí.









Kontakt:

Telefón: +421 911 244 946

E-mail: info@vatari.com

JavaScript, AJAX, jQuery › vstup na stránku jen po odso…
20. 10. 2007   #52011

To Petroff:

...Teraz už potrebuješ aj browser s podporou cookies :-))) [ktorých je asi viac ako tých s JS podporou, ale predsa - závislosť]

Úplne nezávisle by to šlo riešiť cez nejaké sessions (zatiaľ nás nezaujíma ako budú fungovať, skrátka, verme že budú). Čiže všeobecne, ak príde návštevník, ktorý ešte nieje zaradený v sessions => vytvoriť nový session => zobraziť otázku, prijať odpoveď, zapísať...

Otázka, (Ano/nie), môže byť kľudne aj HTML stránka, ktorá sa podstrčí namiesto skutočného obsahu. Napríklad nejaký post-form, ktorý odošle návštevníkovu odpoveď nejakému server-side-scriptu, ten označí konkrétny session že súhlasil a presmeruje ho naspäť na stránku, z ktorej prišiel (url sa môže odoslať v poste tiež, aby nebola závislosť na hlavičke HTTP_REFER). Teraz sa už session nájde, nájde sa pri ňom údaj, že súhlasil => odošle sa samotný obsah.

Takto by sa javascriptu dalo zbaviť úplne. Treba ale myslieť na to, že googlu a iným SE nesmieme podhadzovať stránku s HTML otázkou, ako to bolo s javascriptom. Inak by ju mohol naindexovať namiesto skutočného obsahu. To znamená, že ak na stránku príde nejaký bot, rovno mu treba do session-u zapísať že súhlasil a odosielať mu skutočné stránky. Uľahčiť si to jednoducho vpísaním <meta robots noindex> do stránky s otázkou by sa asi neoplatilo, keďže po potvrdení sa znova nachádzame na tej istej URL a tú by už google poznal, takže by asi nenaindexoval nič. Navyše, google formuláre neodosiela. Rozlíšiť bota zas až taký problém nieje. A pre prípad, že sa nejaký spambot bude hrať na regulárneho človeka, tak mu to len zťaží prístup na web (bude musieť správne odoslať formulár a tu sa nájde priestor vyhranie sa s tým a tak odfajčiť spamboty z webu - najlepšie ich presmerovať na nejaký spam-poison:-]).

Teraz ale ostáva vyriešiť tie sessions. Pod PHP sa určite dajú použiť php-sessions, ale ja ich nemám veľmi rád. Používam vlastné riešenie, v prípade záujmu ho môžem načrtnúť. Podstatné je aby to fungovalo čo najnezávislejšie na "všetkom" a aby podpora cookies by bola len plusom...

Tak sa zabezpečí maximálna funkčnosť pre všetky prehliadače. Takýmto riešením sa obsah do browsera dostane až po odkliknutí súhlasu, čo väčšinou nie je až také nevynutné, ale pokladám to za "slušné". Výhodou je, že sa na správne navrhnutý systém sessions dajú naviazať ďalšie veci, ako napríklad prihlasovanie sa užívaťeľov, nejaké štatistiky atď, atď...

C / C++ › C++ verzus ???
20. 10. 2007   #52010

čo tak wx? alebo iné, ja napríklad mám wx a ete som sa doň nepustil. Alebo je tu kurz Win32 API knižnice atď atď. tak si niečo vyber, zapni prehliadač, naťukaj google a polovicu práce máš hotovú ;) potom príde na rad tá ťažšia
:)

JavaScript, AJAX, jQuery › vstup na stránku jen po odso…
20. 10. 2007   #52009

všem moc díky

Karlik
C / C++ › C++ verzus ???
20. 10. 2007   #52008

To Eversmann: To máš různy, tady se to řešilo už mnohokrát, já třeba dělám v Qt, viz trolltech.com/

Pavel
Inzerce › Tvorba Open Source
20. 10. 2007   #52007

To survik1: oki

C / C++ › C++ verzus ???
20. 10. 2007   #52006

To w3q: Ok, ale čo potrebujem vediet, aby som nerobil len v console?? Myslim tym nejaku grafiku a tak:)

Offtopic › Posilujete ?
20. 10. 2007   #52005

doma :) vlastna posilka ;) a ktomu breakdance taže ruky mám silné ;)

Python › zastaveni behu programu
20. 10. 2007   #52004

taktiez uz posledna otazka, ako viem python donutit, aby pocital 000, 001,002 ? a nie 0,1,2,3... ? ;)

Python › zastaveni behu programu
20. 10. 2007   #52003

ahoj, ako mam zastavit bh programu, ked nechcem to cele vnorit do if-else? lebo ako skusam, halt a exit nefunguje ;(

C / C++ › C++ verzus ???
20. 10. 2007   #52002

tak keď máš už niejaké základy v C++ napr. tak prečo hľadať nový jazyk? veď kej jeden aspoň trochu vieš, tak rob v ňom nie?

C / C++ › Ako písať \?
20. 10. 2007   #52001

thx

C / C++ › C++ verzus ???
20. 10. 2007   #52000

Mám takú trochu amatérsku otázku, tak sorry.:) Chcel by som programovať aplikácie v oknách, tak v čom mám programovať? Zatiaľ mam nejaké základy v Pascale a C++.:) Diky moc!!

C / C++ › Ako písať \?
20. 10. 2007   #51999

alt + 92 nebo pravy alt +Q

C / C++ › Ako písať \?
20. 10. 2007   #51998

Ahojte, neviem ako napísať \. Proste viem napísať / ale to na druhú stranu neviem ako, a preto si ho iba kopírujem, lenže je to nepraktické.

Eswill
C / C++ › Problém se ShowMessage
20. 10. 2007   #51997

JO k tomu printf(); to znám ale když dělám vizulání aplikaci tak to printf nefunguje ne? to zobrazí jenom v příkazovém řádku

Eswill
C / C++ › Problém se ShowMessage
20. 10. 2007   #51996

Zdarec no ShowMessage je funkce pro zobrazení zprávy (jako chybová zpráva) ve winu. a je to funkce z v. prostředí develope c++ bulder

CSS › rozdílný levý okraj u INPUTu…
20. 10. 2007   #51995

<[podtrzene]HTML[/podtrzene]> .....odstraněno vše co s problémem nesouvisí
<form>
<label>xxxxxx</label><input type='text'><br>
<label>xxxxxx</label><input type='text'><br>
<label>xxxxxx</label><input type='text'><br>
<label>xxxxxx</label><input type='text'><br>
</form>
<[podtrzene]POPIS-FORMÁT[/podtrzene]>
Dal jsem si záležet,abych dosáhl shodného vzhledu v různých prohlížečích+při různém nastavení velikosti písma:
(všude použity jednotky ex/em a stejná velikost písma)
<[podtrzene]POPIS-FORMÁT[/podtrzene]>
a) šířka LABEL = šířka INPUT = 20ex
b) šířka formuláře je nastavena buď jako součet LABEL+INPUT (+marginy) =45ex
nebo při úzkém formátu (prvky jsou pod sebou) =23ex
<[podtrzene]TEST V OPEŘE & IE7[/podtrzene]>
Všechno funguje, rozměry všech prvků shodné, až na jednu věc:
V zúženém formátu - form.narrow { width:23ex } - leží INPUT na samostatném řádku.
Avšak IE zobrazuje [podtrzene]levou hranu INPUTu v jiné vzdálenosti od (levé) hrany FORMu [/podtrzene]než je tomu v Opeře (a zřejmě dalších browserech).
<[podtrzene]PROBLÉM[/podtrzene]>
Nedala by se nějak "vyrobit" jednotná mezera pro všechny browsery? ( přece by měla být 1ex ~ INPUT{leftMargin} )
Nebo mám někde chybu ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html><head><title>width of FORM [ex/em]</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<style>
html,body {margin:0;padding:0; font: 100%/1 "Courier New"}

form#calc.wide { width:45ex } /* ZDE SE NASTAVUJE */
form#calc.narrow { width:23ex } /* ŠÍŘKA FORMuláře */

form#calc { padding: 0.5ex 0; margin: 1ex; border: 1px solid blue; background: #CCC;
}
input {
display:inline;
height: 3ex;
width: 20ex;
margin: 0.25ex 1ex 0.75ex 1ex;
border:1px outset blue;
vertical-align:top;
font: 100%/1 "Courier New";
}
label {
float:left;
display:block;
width: 20ex;
margin: 0.8ex 0 0.2ex 1ex;
}
br,label {clear: both}
</style>
<body>
<script>
/* Podle toho, jakou část obrazovky okno zabírá, nastaví šířku FORM: */
/* ------------ Reaguje na každou změnu velikosti okna ------------- */
window.onload=window.onresize=function(){document.getElementById('calc').className=(document.body.clientWidth<(screen.availWidth/2))?"narrow":"wide"}

/* function vypocti(){..naplní INPUTy hodnotami....} Vynecháno - nesouvisí s problémem */
</script>

<form onsubmit="return vypocti()" id="calc">
<label> isNaN(str) </label><input type='text' name='test1' readonly><br>
<label> jeCislo(str) </label><input type='text' name='test2' readonly><br>
<label> fnRegExp(str) </label><input type='text' name='out1' readonly><br>
<label> eval(str) </label><input type='text' name='out2' readonly><br>
<label> Number(str) </label><input type='text' name='out3' readonly><br>
<label> parseInt(str) </label><input type='text' name='out4' readonly><br>
<label> parseInt(str,10) </label><input type='text' name='out5' readonly><br>
<label> parseFloat(str) </label><input type='text' name='out6' readonly><br>
</form>

</body>
</html>

C / C++ › Problém se ShowMessage
20. 10. 2007   #51994

float cislo = 3.141592653587;

printf("pi:\t%f\norezane pi:\t%.3f",cislo,cislo);

nepoznam čo je to za funkciu ShowMessage a taktiež AnsiString, ale pokiaľ je to to čo si myslim tak by to mohlo vizerať takto:
ShowMessage (AnsiString("%2.5f", x));

JavaScript, AJAX, jQuery › nl2br
20. 10. 2007   #51992

To Petroff: Ak máš na mysli tu konverziu na string, tak to ja len tak, pre istotu :-)

JavaScript, AJAX, jQuery › stejný L.okraj u INPUT vOpeř…
20. 10. 2007   #51991

[podtrzene]OMLOUVÁM SE, PROBLÉM LEŽÍ MIMO POUŽITÝ JS, TEDY CSS/XHTML/IEbugy.....už se stalo (....SMAZAT).[/podtrzene]

Dal jsem si záležet,abych dosáhl shodného vzhledu v různých prohlížečích+při různém nastavení velikosti písma:
(všude použity jednotky ex/em a stejná velikost písma)
<[podtrzene]POPIS-FORMÁT[/podtrzene]>
a) šířka LABEL = šířka INPUT = 20ex
b) šířka formuláře je nastavena buď jako součet LABEL+INPUT (+marginy) =45ex
nebo při úzkém formátu (prvky jsou pod sebou) =23ex
<[podtrzene]TEST V OPEŘE & IE7[/podtrzene]>
Všechno funguje, rozměry všech prvků shodné, až na jednu věc:
V zúženém formátu - form.narrow { width:23ex } ] - leží INPUT na samostatném řádku a v IE má jeho levá hrana jinou vzdálenost od (levé) hrany FORMu než je tomu v Opeře.
<[podtrzene]PROBLÉM[/podtrzene]>
Nedala by se nějak "vyrobit" jednotná mezera pro všechny browsery? ( přece by měla být 1ex ~ INPUT{leftMargin} )
Nebo mám někde chybu ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html><head><title>width of FORM [ex/em]</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<style>
html,body {margin:0;padding:0; font: 100%/1 "Courier New"}

form#calc.wide { width:45ex } /* ZDE SE NASTAVUJE */
form#calc.narrow { width:23ex } /* ŠÍŘKA FORMuláře */

form#calc { padding: 0.5ex 0; margin: 1ex; border: 1px solid blue; background: #CCC;
}
input {
display:inline;
height: 3ex;
width: 20ex;
margin: 0.25ex 1ex 0.75ex 1ex;
border:1px outset blue;
vertical-align:top;
font: 100%/1 "Courier New";
}
label {
float:left;
display:block;
width: 20ex;
margin: 0.8ex 0 0.2ex 1ex;
}
br,label {clear: both}
</style>
<body>
<script>
/* Podle toho, jakou část obrazovky okno zabírá, nastaví šířku FORM: */
/* ------------ Reaguje na každou změnu velikosti okna ------------- */
window.onload=window.onresize=function(){document.getElementById('calc').className=(document.body.clientWidth<(screen.availWidth/2))?"narrow":"wide"}

/* function vypocti(){..naplní INPUTy hodnotami....} Vynecháno - nesouvisí s problémem */
</script>

<form onsubmit="return vypocti()" id="calc">
<label> isNaN(str) </label><input type='text' name='test1' readonly><br>
<label> jeCislo(str) </label><input type='text' name='test2' readonly><br>
<label> fnRegExp(str) </label><input type='text' name='out1' readonly><br>
<label> eval(str) </label><input type='text' name='out2' readonly><br>
<label> Number(str) </label><input type='text' name='out3' readonly><br>
<label> parseInt(str) </label><input type='text' name='out4' readonly><br>
<label> parseInt(str,10) </label><input type='text' name='out5' readonly><br>
<label> parseFloat(str) </label><input type='text' name='out6' readonly><br>
</form>

</body>
</html>

Offtopic › Posilujete ?
20. 10. 2007   #51990

Snazim se pravidelne doma,bohuzel mi to ted uz moc nevychazi....

JavaScript, AJAX, jQuery › vstup na stránku jen po odso…
20. 10. 2007   #51989

Nešlo by to zařídit, aby měli stejné šance také lidé s vypnutým JS nebo styly...
(ti ostatní to budou mít s "komfortem" navíc; ale funkčnost musí být stejná)
Napadlo mě jediné řešení: >ß< ...co vás ?

Zároveň s odsouhlasením je možné (PŘEDEM!) návštěvníka varovat, že s vypnutým JS o mnoho přijde(popř.o všechno)....na tohle se taková mezistanice hodí (nebo pro zaheslovaný přístup = prakticky stejný postup).

<to Zelenáč>
Jsi si jistý, že pokud je onen web na používání JS závislý,tak existuje jiný (vhodnější) kandidát na řešení než javascript ???
[podtrzene]Návrh:[/podtrzene]
1. JS otestuje, je-li funkční JS
a) if NE => rozloučí se zobrazením upozornění, ať si user zapne JS <HOTOVO>
b) if ANO => rovnou nahraje homepage webu, přičemž v úvodu stránky:
2. Zkontroluje (z cookies) zdali již je souhlas udělen (buď v rámci sezení nebo trvale)
a) if ANO => stránka se donahraje <HOTOVO>
b) if NE => JS se dotáže na souhlas - modálně /popř.lépe: bez přerušení LOADu, s HIDDEN content, s odpočtem autodestrukce/
3.User odpoví /popř.neodpoví/:
a) if NE /popř. doběhl odpočet/ => JS vyčistí window: document(open+close) ~stránka zrušena <HOTOVO>
b) if ANO => uloží tento fakt do cookies a donahraje zbytek stránky /popř. set VISIBLE content/ <HOTOVO>
[podtrzene]Výhody: [/podtrzene]
-nejsou žádné zbytečné prodlevy
-skriptík kontroluje přístup ke každé stránce (nejen HOMEPAGE...např.z google) onoho webu
[podtrzene]Omezení:[/podtrzene]
-určen jen pro stránky, které by s vypnutým JS nefungovaly korektně

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý