Je to o stasti.. ak spravis toto, tak v podstate pises a citas z pamäte, do ktorej by si nemal.. Je len o stasti, co sa na tej adrese v pamäti nachadza. Moze tam byt hocico.. V tych pripadoch ked si to skusal ty tam asi nic nebolo tak program vedel pracovat aj dalej. ak by si skusal pisat napr. do cislo[1000] tak by to uz pravda byt nemusela. vsetko to suvisi so sposobom citania a ukladania pola do pamäte..
Příspěvky odeslané z IP adresy 88.212.40.–
Ja uz tomu nechapem.. zmenil som vsetky registre c na h .. ale "male" si potrebujem trochu upravit.. potrebujem dat h do akumulatora, porovnat ci sa tam nenachadza 0 a ak hej tak do h vlozit 1 .. spravil som to takto:
male:
mov a,h
cpi 0
jz pripis_1
ret
pripis_1:
mvi h,1
ale akonahle dam aspon jedno male pismeno tak sa mi to zase zacykli..neviem si s tym rady ;/ .. skusal som vsetky registre a aj tak to robi ;/ .. vie niekto preco?
Dakujem velmi pekne.. ani nevies ako si mi pomohol :)
mam problem s assemblerom.. vcera som na to pozeral asi 4 hodiny, ale neviem na to prijst.. tu je zdrojak..
org 1000
dcx sp ; inicializacia zasobnika (0FFFFh)
lxi h,text1
call putstr ; vypis text1
lxi d,vlozeny ; adresa pre vstup retazca
call getline ; nacitaj z klavesnice
lxi b,vlozeny
mvi d,0
mvi c,0 ; ?
char_loop:
ldax b
inx b
cpi 10 ; koniec vstupu?
jz char_end
cpi 13
jz char_end
cpi 'A'
jc male
cpi 'Z'+1
jnc male
jmp char_loop
char_end:
lxi h,text2 ; vypis kolko slov s velkymi pismenami
call putstr
hlt
include 'examples\8080\include\getchar.inc'
include 'examples\8080\include\getline.inc'
include 'examples\8080\include\putstr.inc'
include 'examples\8080\include\putchar.inc'
include 'examples\8080\include\newline.inc'
text1: db 10,13,'Vloz text: ',0
text2: db 10,13,'Koniec ',0
vlozeny: ds 30
male:
mvi c,2
jmp char_loop
hlt
pracujem v emuStudiu .. ide mi tam o to, ze chcem aby ked na vstupe zadam male pismeno tak aby mi to skocilo na navestie "male" .. viem ze to teraz nic neriesi, ale ako priklad.. Vsetko ide v poriadku, pokial nestlacim "Enter" .. ak ho stlacim tak by malo skocit na char_end, vypisat hlasku a program ukoncit.. ale nestane sa tak.. namiesto toho sa to zacykly a v jednom kuse skace na male.. neviem proste prijst na to, ze ako je to mozne.. nevie niekto ako na to?
ee. som to aj skusal dokonca.. ale nejde.. v podstate to je jedno, lebo windows.h vraj obsahuje v sebe mmsystem.h .. mne to skompilovalo normalne.. len ked spustim program tak vtedy mi to vypise..
Potrebujem vytvorit program(vo Windows), ktory vydava nejaky zvuk.. je mi skoro jedno aky to bude, len aby bolo pocut.. tak som si nasiel funkciu PlaySound .. a spravim som tento program:
#include <windows.h>
int main()
{
PlaySound("hudba.wav",NULL,SND_FILENAME);
}
pripojil som aj kniznicu winmm.lib.. ale ak spustim program, tak mi vypise nasledujucu hlasku:
Vstupni bod procedury SMapLS se nepodarilo v dynamicky propojovane knihovne KERNEL32.dll nalezt
Neviem si s tym rady..
Neviem naco si mu to robil.. i tak mu to je nanic v C++.. tie priklady su natolko jednoduche, ze keby ich naozaj spravil vsetky tak nieje mozne aby si nepametal ako ich spravil.. minimalne za den by ich mal spravene... nech napise s ktorymi ma problem a nech navrhne aspon priblizne ako by to on robil a my mu pomozeme.. je to jasne.. dostal zadanie v skole, nechce sa mu to robit, tak si vymyslel rozpravku a dufa ze mu to nekto spravi.. ;/
nechcem byt nechutny, ale preco si to nezalohoval, alebo aspon nepreniesol na iny disk?..ak ti XP neslo spustit koli virusom, mohol si sa na disk dostat aj inak ako z Win XP a zalohovat ich... hmm...
jj nakonec som pouzil WinApi funkciu Sleep z windows.h ..
dakujem.. presne toto som potreboval..
Nevie niekto akym sposobom sa da program spomalit, alebo na chvilku pozastavit.. Samozrejme ta sa to spravit tak, ze tam dam nejaky cyklus ktory sa vela krat bude opakovat.. ale ja to chcem spravit tak, aby to nebralo 100% casu proceroru.. akym sposobom sa to da spravit?
Urobil som si nasledovnu funkciu:
void hlavne::create(char* filename)
{
FILE*fp=NULL;
fp = fopen(filename,"wb");
typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER {
DWORD biSize;
DWORD biWidth;
DWORD biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
DWORD biXPelsPerMeter;
DWORD biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
BITMAPFILEHEADER bfh;
BITMAPINFOHEADER bih;
bfh.bfType='MB';
bfh.bfSize=sizeof(BITMAPINFOHEADER);
bfh.bfReserved1=0;
bfh.bfReserved2=0;
bfh.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
bih.biSize=sizeof(BITMAPINFOHEADER);
bih.biWidth=sirka;
bih.biHeight=vyska;
bih.biPlanes=1;
bih.biBitCount=32;
bih.biCompression=BI_RGB;
bih.biSizeImage=bih.biWidth*bih.biHeight*4;
bih.biXPelsPerMeter=2400;
bih.biYPelsPerMeter=2400;
fwrite(&bfh,sizeof(BITMAPFILEHEADER),1,fp);
fwrite(&bih,sizeof(BITMAPINFOHEADER),1,fp);
fwrite(data,bih.biSizeImage,1,fp);
if(fp)fclose(fp);
}
bitmap by mal byt 32 bitovy .. v premennej mam data mam ulozene pixely vo formate unsigned char .. v premennych sirka a vyska mam ulozenu sirku a vysku v pixeloch... ked to spustim tak sa mi subor vytvori, ale neda sa otvorit.. proste tam je asi zly format.. neviem si s tym rady.. skusil som aj vytvorit skusobne pole do ktoreho som okopiroval pixely z ineho bitmapu.. do suboru ich sice zapisalo, ale vysledok bol ten isty ;/ .. nema niekto s tym vecsie skusennosti? predpokladam ze chyba bude v hlavickovych suboroch.. prevdepodobne som niekde nieco zle ulozil, ale neviem prijst na to ze co..
SDL_CDClose nefunguje?
To devilfish : http://sdl.beuc.net/sdl.wiki/SDL_CD-ROM
Tak s tym generovanim nahodnych zapasov by to nebolo az take iste.. lebo ked zle zacnes tak je dost pravdepodobne ze sa stane ze sa to proste neda dokoncit( iba tak, ze by sa v poslednych kolach nehral plny pocet zapasov) .. by si musel nejakym sposobom kontrolovat ci si sa nedostal do nekonecnej slucky a ked hej tak zacat odznova.. inac tu mas link http://www.tom-kot.cz/clanky/generovani-rozpisu-zapasu-v-systemu-kazdy-s-kazdym/ .. je to sice napisane na php, ale myslim ze by nemal byt problem to prerobit do C++ .. popripade ak chces, tak si precitaj iba teoriu a algoritmus vymysli sam..
No tak to som bol asi ja.. ja som sice potreboval len kliknut, ale pohyb a stlacenie tlacidla sa robi velmi lakho tiez.. pozri toto vlakno... http://programujte.com/?akce=diskuze&kam=vlakno&tema=12871-softwarove-kliknutie-
Zabudol si uzatvorit zatvorku na 14 riadku(tu na stranke):
mysqli_query($db_connect, 'INSERT INTO uzivatele (login,pass,email) VALUES ($login,$heslo,$email));
ok diki.. tvoj prispevok mi pomohol velmi.. mi ukazal smer... spravil som to takto:
INPUT mouseInput;
mouseInput.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &mouseInput, sizeof(INPUT));
mouseInput.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &mouseInput, sizeof(INPUT));
potreboval by som v C++ softwarovo kliknut.. google mi nic nenasiel.. neviete mi podadit akym sposobom by sa to dalo spravit?
v pythone sa nevyznam.. by som skor potreboval neco v C ... na googli neviem nic najst...
Potreboval by som v C++ softwarovo kliknut.. neviete mi poredit akym sposobom sa to da spravit?
nz... skus si pozriet nejake tutorialy a ucit sa podla nich.. na internete je ich plno...
klobása-irča napsal:
To Nrigo :
Zadal som to správne, lebo aj databáza sa volá irca a aj jeden stlpec sa volá irca (zatiaľ zadávam názvy bez diakritiky, lebo mi to zobrazuje blbo) a keď som zadal echo "$a" tak sa nič nezmenilo stále prázdna stránka
no ja som myslel tam dat retazec a, a nie premennu $a .. to je jasne ze ti nic nevypise ked si do nej este nic nevlozil ;// .. skus to co napisal KIIV ...
podla mna si zle oznacil nazov stlpca.. skus si to este pozriet ze ci mas vsetky nazvy v poriadku... alebo namiesto echo "vypis" daj napr. echo "a" a zisti ci ti aspon nieco najde..
ja som lama tiez.. som tam dal opacne <? ... spravne na konci ma byt ?> ;/ sry...
Na to, aby si mohol vypisovat udaje z databazy sa na nu musis najprv pripojit.. na to ti sluzia funkcie mysql_connect a mysql_select_db ... nestaci udaje dat len do obycajnych premennych :) ... potom potrebujes pomocou funkcie mysql_query poslat poziadavku databaze a nasledne ich pomocou funkcie mysql_fetch_array ulozit do pola, ktore potom vypisujes...
ci pana.. neviem ci to ma cenu ;/ ..
<?
$SQL_Server = "localhost";
$SQL_Uzivatel = "root";
$SQL_Heslo = "";
$Databaze = "irca";
MySQL_Connect("$SQL_Server", "$SQL_Uzivatel", "$SQL_Heslo");
MySQL_Select_DB("$Databaze");
$sql = "EXPLAIN SELECT * FROM `objednavky` WHERE 1";
$result=mysql_query($sql) ;
while($bn=mysql_fetch_array($result))
{ $vypis=$bn["irca"];
echo "$vypis";
}
<?
pocuj... radim ti.. najprv si nastuduj nieco o php na internete najlepsie, lebo vidim ze tomu nejak nechapes...skus ist na www.php.net a pozriet si co tie funkcie robia...
spravne to ma byt takto:
<?
require("nastaveni.php");
$sql = "EXPLAIN SELECT * FROM `objednavky` WHERE 1";
$result=mysql_query($sql) ;
while($bn=mysql_fetch_array($result))
{ $vypis=$bn["irca"];
echo "$vypis";
}
?>
som sa vtedy pomylil.. pod tym som to napisal spravne... tam ma byt este jedna zatvorka ;// ...
hmm.. a co je na tom riadku 6?
$result=mysql_query($sql) ;
while($bn=mysql_fetch_array($result))
{ $vypis=$bn["meno_stlpca"];
echo "$vypis";
}
$result=mysql_query($sql) ;
while($bn=mysql_fetch_array($result)
{ $vypis=$bn["meno_stlpca"];
echo "$vypis";
}
ja by som to spravil tak, ze by som si vytvoril dva styly... kazdy by obsahoval inu farbu a potom pomocou php tie styly striedat..