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

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

 

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

PHP › Urychlení PHP kódu/rada ohle…
8. 12. 2012   #168347

INSERT INTO `".$pre."record` (`link_id`, `key`, `stream`, `url`, `time`, `action`, `data`) VALUES (0, $id, '$stream', $url, $time, '$action', '$data')

1  link_id  int(11) - pozor! neni index, ani primarni klic, nic z toho
2  key  tinytext  utf8_czech_ci - prazdna poloha pro hash (ktery se objevi u kazde cca 10000. polozky a pote je odstranen od okamziku, kdy neni treba a uz je jasna identifikace pres link_id)
3  stream  int(11)
4  url  int(11)
5  time  bigint(20)
6  action  smallint(6)
7  data  tinytext  utf8_czech_ci

PHP › Urychlení PHP kódu/rada ohle…
6. 12. 2012   #168253

k tomu kyoto + lua ale potřebuju naisntalovat vyžadovaný vychytávky přímo na server (ano?), což by znamenalo přechod někam jinam, kde si budeme moct dělat co chceme. Ale rozhodně mi to přijde jako vhodné řešení, ještě pořádně prozkoumám.

mockrát díky za radu, chytím se toho a uvidím, jestli z toho něco vyleze :)

PHP › Urychlení PHP kódu/rada ohle…
6. 12. 2012   #168249

Díky za rychlou odpověď!

Databáze je dedikovaná

Cluster zní jako velice dobrý nápad

data jsou posílána opravdu jen ta, která jsou potřeba, vždy jde pár znaků proškrtat, ale spíš než o velikost jednoho requestu jde asi o to, že jicj je ve finále opravdu hodně ve finále třeba i z A jde ve špičce 2000-3000/hod. (a bohužel jich potřebuju hodně, hodně často)

ou... fcgi neumím, možná se to kvůli tomu naučím, ale kamarád říká, že to je na dlouho, což se teď moc nehodí...

o bodu 5 ještě popřemýšlím... ukládám timestamp (i s msec), 6 místné číslo, číslo < cca 100, číslo 0-10, pak řetězec v 95% do 7,9 znaků, jinak nepatrně delší nebo taky 3,4 znaky - prostě krátký

indexy tam vůbec nastavené nemám, nejsou potřeba, nikdy se nestane, že bych vyhledával pomocí ID, ale vyhledávám vždy třeba 10000 řádků se stejnou položkou (a je to velice rychlé)

----

právě mi někdo poradil použití TCP/IP (php i js to prý podporují) pro přenos dat, snad právě místo fcgi

PHP › Urychlení PHP kódu/rada ohle…
6. 12. 2012   #168243

Zdravím všechny,

potýkám se se celkem ubíjejícím problémem: Na webových stránkách A (a dalších - B, C, D, ...) je vložen externě Javascript zčásti generovaný PHP (<script src=X/neco.js.php>) Tento JS kód odesílá relativně velké množství dat pomocí POST requestů ke zpracování na X/zpracuj.php Bohužel už jen server A navštíví i několik set lidí denně, nemluvě o faktu, že takových webů je a bude víc. Tzn ze muj PHP skript zpracuj.php ukládá do MySQL databáze třeba 200000 řádků denně a má tolik požadavků najednou, že se moje stránky X sesypou (zahlcení serveru), a jelikož skript neco.js.php na těchto stránkách je nedostupný, tak jsou nedostupné i A, B, C, .... A to je ten problém. Řešil jsem to otpimalizací všech kódů, dostal jsem velice dobrý výsledek.

Skript zpracuj PHP je jednoduchý: jen přijmu sposutu dat oddělených nějakým znakem, projdu to smyčkou, jednotlivé části uložím do MySQL databáze, žádné hlouposti navíc, jen toto, přesto je to z nějakého důvodu moc pomalé.

1) Jak urychlit takové vkládání do MySQL databáze, je to vůbec možné?

2) Má někdo zkušesnosti s využitím virtuálních serverů - myslíte, že by jejich zavedení mohlo pomct a jaké by měly být parametry?

3) Používám InnoDB, měl bych raději využívat něco jiného, co by se pro mnoho řádků rychle hodilo lépe?

Informace o současném výkonu serveru sem ještě dopíšu,

Nechápu vznik těchto problémů, když za poslední dvě hodiny bylo posláno celkem jen asi 1 MB dat směr server...

C / C++ › Morseovka do souboru
27. 9. 2010   #133989

A čemu se divíš?

soubor1 << prelozeny;


zapíše do souboru obsah proměnné "prelozeny" - vzhledem k tomu, že jsi tuto proměnnou při volání fce nastavil na text, který uživatel zadal jako vstup, logicky to uloží ten vstup...

Pokud bys to chtěl vypisovat do souboru, doporučuji napsat tuhle část kódu
ofstream soubor1;

soubor1.open("morseo.txt", ios::app);

na začátek fce "prelozeniDoMorseovky" a misto napr.
cout << ".- ";
psat
soubor << ".- ";



EDIT: DooFy93 mě předběhl...

C / C++ › Spuštění mp3 na pozadí
11. 9. 2010   #133514

HWND hwnd;//hwnd hlavního okna
HINSTANCE hInst; // pokud máš aplikaci WIN32API, tak v tomhle můžeš mít uloženou instanci hlavního okna
char file[MAX_PATH];//cesta k souboru
HWND hMCI = MCIWndCreate(hwnd, hInst, (DWORD) WS_CAPTION, (LPSTR) file);//inicializace
MCIWndPlay(hMCI);//spustí přehrávání


MCIWndStop(hMCI);//zastaví přehrávání
MCIWndDestroy(hMCI);//konec práce s MCI

musíš mít vložený "Vfw.h" soubor (#include <vfn.h>)
a myslím, že ještě nějakou libku

C / C++ › Spuštění mp3 na pozadí
4. 9. 2010   #133307
C / C++ › ciara
4. 9. 2010   #133306

pořád to nejede... zkus to přejmenovat, aby tam nebyly háčky ani čárky (BezNazvu.jpg)

C / C++ › Příklad na &quot;ohmatání&qu…
1. 9. 2010   #133232

Zkus tohle... Pročti si to a vyzkoušej si to...

C / C++ › Čtení znaků z &quot;jiných&q…
17. 7. 2010   #131440

díky... škoda...

C / C++ › Čtení znaků z &quot;jiných&q…
17. 7. 2010   #131437

Zdravím vás,
setkal jsem se s problémem, že nevím, jak načíst obsah souborů s koncovkami typu *.exe, *.bmp a dalších podobných "netextových".

Zkoušel jsem snad všechny možné způsoby pomocí ofstream a WIN API fci CreateFile... Pak jsem brouzdal na netu a zjistil jsem, že pokud chci například načíst bitmapu, musím ji ukládat do nějaké specifické struktury.. Došel jsem k závěru, že v podstatě na jakýkoliv souborový typ (exe, png, mp3, ...) budu potřebovat odlišnou strukturu, do které budu načítat obsah, ale to mi přijde opravdu nepraktické a předpokládám, že existuje nějaká univerzální cesta...

Shrnutí: jak načíst a uložit obsah jakéhokoliv i "netextového" souboru?
Pokud o tom někdo něco víte, napište prosím...

(PS při načítání bitmapy se mi povedly načíst první tři znaky...)

C / C++ › Práce se soubory
16. 7. 2010   #131418

máš na mysli, že když už v souboru je nějaký obsah, tak se přepíše?

C / C++ › vector iterator not derefere…
30. 6. 2010   #130906

Palmik napsal:
Nebo, v případě že byl problém pouze v tom, že iterátory již neukazovaly tam kam by měli nebo již neukazovaly nikam, tak pokud dobře koukám (v první verzi nikde nevyužíváš random access přístupu), by jsi mohl použít std::list namísto std::vector, kde by měli iterátory "zůstat na místě" i pokud do listu něco pushneš nebo z něj naopak něco vymažeš (krom případu kdy vymažeš prvek na který ukazoval nějaký iterátor) .



Máš sice pravdu, nicméně random access využívat nejspíš budu, takže to nechám, jak to je... Ale díky za ochotu :)

C / C++ › vector iterator not derefere…
30. 6. 2010   #130897

Díky moc... Už to naštěstí funguje :)
Pro úplnost:

char appPath[MAX_PATH];

char* GetFN(char *fileName) {
GetModuleFileName(NULL,appPath,MAX_PATH);
string currentDir = appPath;
size_t i = currentDir.rfind("\\", strlen(appPath));
currentDir.resize(i + 1);
currentDir.append(fileName);
ZeroMemory(appPath,strlen(appPath));
strcpy(appPath,currentDir.c_str());
return appPath;
}
bool Tie(char start[MAX_PATH]){
vector<string> vList;
vector<string>::iterator itr;

vector<string> vDirs;
vector<string>::iterator itrD;
vDirs.push_back(start);
int maxD=1;
for(int i=0;i<maxD;i++){
char mem[1024];
WIN32_FIND_DATA wfd;
HANDLE hf;
sprintf(mem, "%s*", vDirs[i].c_str());
hf=FindFirstFile(mem, &wfd);
if(hf==INVALID_HANDLE_VALUE)
return 0;
do{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
if(strcmp(wfd.cFileName, ".")!=0 && strcmp(wfd.cFileName, "..")!=0){
sprintf(mem, "%s%s\\", vDirs[i].c_str(), wfd.cFileName);
vDirs.push_back(mem);
maxD++;
}
}else{
sprintf(mem, "%s%s", vDirs[i].c_str(), wfd.cFileName);
vList.push_back(mem);
}
}while(FindNextFile(hf, &wfd) != 0);
FindClose(hf);
}
ofstream fout;
fout.open(GetFN("cache.tmp"), ios::out);
for(itr=vList.begin();itr!=vList.end();itr++){
fout << itr->c_str() << endl;
}
fout.close();
return 1;
}

C / C++ › vector iterator not derefere…
29. 6. 2010   #130864

Ahoj všichni,

zase potřebuji vaši pomoc... Potřebuji zjistit všechny soubory v dané složce a ve všech subdirektoriích.
Tady mám zdrojový kód, který mi nefunguje...

char appPath[MAX_PATH];

char* GetFN(char *fileName) {//spojí název zadaného souboru a cestu k programu
GetModuleFileName(NULL,appPath,MAX_PATH);
string currentDir = appPath;
size_t i = currentDir.rfind("\\", strlen(appPath));
currentDir.resize(i + 1);
currentDir.append(fileName);
ZeroMemory(appPath,strlen(appPath));
strcpy(appPath,currentDir.c_str());
return appPath;
}
bool Tie(char start[MAX_PATH]){
vector<string> vList;//sem přijdou jednotlivé soubory
vector<string>::iterator itr;

vector<string> vDirs;//sem se ukáldají složky
vector<string>::iterator itrD;
vDirs.push_back(start);/*jako první se do seznamu přidá počáteční složka,
kterou získáme z parametru této fce*/
for(itrD=vDirs.begin();itrD!=vDirs.end();itrD++){//bude procházet celý seznam složek
/*při druhém průchodu debugger vyhodí chybu (viz přílohu)*/
char mem[1024];
WIN32_FIND_DATA wfd;
HANDLE hf;
sprintf(mem, "%s*", itrD->c_str());//do "mem" se uloží např.: "C:\Program Files\*"
hf=FindFirstFile(mem, &wfd);//začneme vyhledávání souborů první sloužkou v seznamu
if(hf==INVALID_HANDLE_VALUE)
return 0;
do{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
if(strcmp(wfd.cFileName, ".")!=0 && strcmp(wfd.cFileName, "..")!=0){
sprintf(mem, "%s%s\\", itrD->c_str(), wfd.cFileName);
vDirs.push_back(mem);/*pokud je nalezený soubor složkou,
přidáme ho do seznamu složek*/
}
}else{
sprintf(mem, "%s%s", itr->c_str(), wfd.cFileName);
vList.push_back(mem);//všechny soubory ukládáme do seznamu souborů
}
}while(FindNextFile(hf, &wfd) != 0);
FindClose(hf);
}
ofstream fout;
fout.open(GetFN("cache.tmp"), ios::out);
for(itr=vList.begin();itr!=vList.end();itr++){
fout << itr->c_str();//seznam souborů uložíme
}
fout.close();
return 1;
}


Podle mě je chyba v tom, že se ten seznam složek neustále mění... Nevím to ale určitě a už vůbec nevím, co s tím mám dělat..
Ještě jednou vás prosím, abyste mi s tím problémem pomohli...

C / C++ › HWND jako int
21. 6. 2010   #130490

díky... máš pravdu, že bude asi lepší najít jinou cestu...

C / C++ › HWND jako int
20. 6. 2010   #130456

KIIV napsal:
HWND je cislo .. akorat ted nevim jestli uint32 nebo 64 spis prvni



i tobě díky... :)

C / C++ › HWND jako int
19. 6. 2010   #130445

Ano, vím, že handle okna nezměním - o to tu ani nejde... jde mi jen o to, jestli s tím opravdu můžu pracovat jako s číslem... Pokud jsem vás správně pochopil, tak to možné je. Díky za odpovědi...

C / C++ › Chyba (nejspíš hloupá)
19. 6. 2010   #130438

ne to je v pohodě, ale měl by jsi projevit aspoň nějakou snahu... zkusit si tam ten cyklus dát sám a mi ti pak klidně opravíme, co máš špatně...

C / C++ › HWND jako int
19. 6. 2010   #130436

Ahoj, mám na vás dotaz:
Je tohle:

HWND hwnd;

hwnd=FindWindow("notepad", NULL);
int i_hwnd=(int)hwnd;
hwnd=(HWND)i_hwnd;
SendMessage(hwnd, WM_CLOSE, 0, 0);
stejné jako tohle:
HWND hwnd;

hwnd=FindWindow("notepad", NULL);
SendMessage(hwnd, WM_CLOSE, 0, 0);


a jestli je taky tohle stejné:
HWND hwnd;

hwnd=FindWindow("notepad", NULL);
char mem[100];
sprintf(mem, "%d", hwnd);
int i_hwnd=atoi(mem);
hwnd=(HWND)i_hwnd;
SendMessage(hwnd, WM_CLOSE, 0, 0);
jako tohle:
HWND hwnd;

hwnd=FindWindow("notepad", NULL);
SendMessage(hwnd, WM_CLOSE, 0, 0);


Pokud ne, tak jak by to mělo být. Jde mi o to, aby to bylo na 100% vždycky funkční.

C / C++ › Chyba (nejspíš hloupá)
19. 6. 2010   #130435

Myslím, že kdybychom ti i nadále dávali zdrojáky, tak by to tobě vůbec nepomohlo (nic by ses nenaučil)... Možná tak kdybys zkusil odměnu, ale jinak ti nikdo nebude dávat pořád a znovu a znovu kódy. Možná tě to překvapí, ale my jsme tu od toho, abychom ti poradili a popostřili tě (to jsme už udělali) - věř tomu nebo ne, ale drtivá většina z nás má už beztak dost problémů se svými vlastními programy, natož abychom ti zadarmo pořád psali tvoje programy...

C / C++ › Chyba (nejspíš hloupá)
19. 6. 2010   #130420

btw

#include <string.h>

C / C++ › Chyba (nejspíš hloupá)
19. 6. 2010   #130416

Z vlastní zkušenosti vím, že když ti to někdo předhodí, tak se to lépe nenaučíš... Ta podmínka if by pak měla vpadat například takto:

if(strcmp(odp, "ano")==0){

C / C++ › Chyba (nejspíš hloupá)
18. 6. 2010   #130405

možná jsem takhle večer už úplně vygumovaný nebo tam doopravdy žádný cyklus není. Možná jsi měl spíš na mysli podmínky?

možná bys měl zkusit tohle:

#include <iostream>  

using namespace std;

int main()
{
cout << "Ahoj.\n";
int vek;
char klad [] = "ano";
char zapor [] = "ne";
char odp[256];
cout << "Kolik je Ti let?\n";
cin >> vek;
cout << "To je hodně, že?\n";
cin >> odp;
if (odp == "ano"){
cout << "Souhlasím.\n";
return 0;
}

if (odp == "ne"){
cout << "Nesouhlasím, podle mě je to docela dost.\n";
return 0;
}

return 0;//v pripade nejake uplne jine odpovedi nez "ano" nebo "ne"
}

C / C++ › Morseova abeceda
12. 6. 2010   #130145

promin - takhle by to uz melo byt spravne,...

for (i = 0;i < strlen(str);i++)  {

char c[5];
strcpy(c, getMorse(str[i]));
if(i<strlen(str)-1)
if((str[i]=='c' || str[i]=='C') && (str[i+1]=='h' || str[i+1]=='H')){
strcpy(c, " ---- ");
i++;
}
int j;
for(j=0;j<strlen(c);j++)
switch(c){
case '-': Beep(FREQ, LONGBEEP);break;
case '.': Beep(FREQ, SHORTBEEP);break;
default:break;
}
}

C / C++ › Morseova abeceda
12. 6. 2010   #130140

a kdybys do tveho reseni chtel pridat "ch", tak by tam muselo by

for (i = 0;i < strlen(str);i++)  {

char c[5];
if(i<strlen(str)-1)
if((str[i]=='c' || str[i]=='C') && (str[i+1]=='h' || str[i+1]=='H')){
strcpy(c, " ---- ");
i++;
}
int j;
for(j=0;j<strlen(c);j++)
switch(c){
case '-': Beep(FREQ, LONGBEEP);break;
case '.': Beep(FREQ, SHORTBEEP);break;
default:break;
}
}

C / C++ › Morseova abeceda
12. 6. 2010   #130139

Kdybys do meho reseni chtel pridat treba zavinac, tak bys misto

char ma[28][5]={".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-.", "...-", ".--", "-..-", "-.--", "--..", "|", ""};

char str[80];
char c[5];
int i;
gets(str);
for(i=0;i<strlen(str);i++){
int j;
int pos;
if(je_male(str[i]) || je_velke(str[i]))
pos=(int)to_upper(str[i])-65;
else if(str[i]==32)
pos=27;
else
pos=26;

musel mit napriklad
char ma[29][5]={".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-.", "...-", ".--", "-..-", "-.--",

"--..", "|", "", "@"};
char str[80];
char c[5];
int i;
gets(str);
for(i=0;i<strlen(str);i++){
int j;
int pos;
if(je_male(str[i]) || je_velke(str[i]))
pos=(int)to_upper(str[i])-65;
else if(str[i]==32)
pos=27;
else if(str[i]==64)
pos=28;
else
pos=26;

C / C++ › Morseova abeceda
12. 6. 2010   #130126

Nevypise to, protoze tam ted neni zadan fce, ktera by neco vypisovala... Urcite ji tam ale dokazes pridelat sam, krome toho jsem ti nabidl druhe reseni, ktere vypisuje i pipa, je kratsi, jednodussi a funguje :)

C / C++ › Morseova abeceda
11. 6. 2010   #130114

PólBulva napsal:
To LJ1024 :
ted jsem to prepsal a pise mi to : switch quantity not an integer



dej sem zdroj (abych vedel, co konkretne myslis, protoze jsem sem dal dve moznosti) a rekni mi, na ktere radce je problem.

EDIT: tak uz asi vim
tohle
for(j=0;j<strlen(c);j++)

switch(c){
case '-': Beep(FREQ, LONGBEEP);break;
case '.': Beep(FREQ, SHORTBEEP);break;
default:break;
}
ma byt takhle
for(j=0;j<strlen(c);j++)

switch(c[j]){
case '-': Beep(FREQ, LONGBEEP);break;
case '.': Beep(FREQ, SHORTBEEP);break;
default:break;
}

C / C++ › Morseova abeceda
11. 6. 2010   #130111

A pokud ti nevadí jednodušší a kratší řešní, tak si zkopíruj tohle:

#include <stdio.h>

#include <string.h>
#include <windows.h>
#define je_male(c)((c)>='a' && (c)<='z')
#define je_velke(c)((c)>='A' && (c)<='Z')
#define to_upper(c)(je_male(c) ? (c)-'a'+'A' : (c))
#define LONGBEEP 750
#define SHORTBEEP 250
#define FREQ 450

int main(int argc, char** argv){
char ma[28][5]={".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-.", "...-", ".--", "-..-", "-.--", "--..", "|", ""};
char str[80];
char c[5];
int i;
gets(str);
for(i=0;i<strlen(str);i++){
int j;
int pos;
if(je_male(str[i]) || je_velke(str[i]))
pos=(int)to_upper(str[i])-65;
else if(str[i]==32)
pos=27;
else
pos=26;
strcpy(c, ma[pos]);
for(j=0;j<strlen(c);j++){
putchar(c[j]);
switch(c[j]){
case '-': Beep(FREQ, LONGBEEP);break;
case '.': Beep(FREQ, SHORTBEEP);break;
case '|': Sleep(600);
default:break;
}
Sleep(80);
}
putchar('|');
Sleep(700);
}
getchar();
return 0;
}

C / C++ › Morseova abeceda
11. 6. 2010   #130103

misto

void getMorse(char znak)
napis
char* getMorse(char znak)
misto
printf(" .- ");break;

bude
 return " .- ";

(a stejne tak u vsech dalsich caseu) a misto
default: putchar(' ');

napises
default: return "";


a pak upravis tohle
char str[80];

int i;
gets(str);
for (i = 0;i < strlen(str);i++) {
getMorse(str[i]);
}
na tohle
char str[80];

int i;
gets(str);
for (i = 0;i < strlen(str);i++) {
char c[5];
strcpy(c, getMorse(str[i]));
int j;
for(j=0;j<strlen(c);j++)
switch(c){
case '-': Beep(FREQ, LONGBEEP);break;
case '.': Beep(FREQ, SHORTBEEP);break;
default:break;
}
}

C / C++ › Morseova abeceda
11. 6. 2010   #130066

#define LONGBEEP 350

#define SHORTBEEP 100
#define FREQ 5000
(...)
char c[]="--..";
for(int i=0;i<strlen(c);i++)
switch(c){
case '-': Beep(FREQ, LONGBEEP);break;
case '.': Beep(FREQ, SHORTBEEP);break;
default:break;
}

C / C++ › Pomoc s for
1. 6. 2010   #129710

RePRO napsal:
(...)
Jinak jsem skoro vůbec nepochopil to porovnání či přiřazení celého pole a jednoho prvku druhého pole.

Pro programátory: Ono něco takového jde?



Technicky vzato: Ano jde to.
Prakticky vzato: Neexistuje pro to rozumný důvod.

C / C++ › Myš nad oknem
1. 6. 2010   #129705

Omlouvám se... Už jsem to našel

HWND WINAPI WindowFromPoint(

__in POINT Point
);
HWND WINAPI ChildWindowFromPoint(
__in HWND hWndParent,
__in POINT Point
);

C / C++ › Myš nad oknem
1. 6. 2010   #129704

Zdravím všechny,

narazil jsem na zajímavý problém: Potřeboval bych nějakým způsobem získat HWND okna (tlačítka, prvku static, ...), nad kterým je v určitou dobu myš. Samozřejmě to okno nemusí vůbec souviset s aplikací, která toto bude zjišťovat.

Nevím jestli jsem to napsal dost srozumitelně, ale pokud ano, tak mě prosím pomozte.

Možná by to šlo dělat přes háky, ale to by bylo moc složité a náročné, kromě toho mám pocit, že je na to přímo nějaká f-ce..

C / C++ › Jak rozdělit číslo v C++ po…
19. 5. 2010   #129132

Ještě na konci chybí

free(pole);

C / C++ › Jak rozdělit číslo v C++ po…
18. 5. 2010   #129077

int *pole;

int z=15648;
char mem[100];
sprintf(mem, "%d", z);
int len=strlen(mem);
pole=(int*)malloc(sizeof(int)*len);
for(int i=0;i<len;i++)
pole[i]=mem[i];


Nezkoušel jsem to, ale doufám, že ti to pomůže :)

C / C++ › Nejde podmínka
12. 5. 2010   #128848

Ano, až na to, že takto (jak napsal zdenda) máš dva stejné řádky pro tu úplně samou věc. Nebo ne?

C / C++ › chyba v jednoduchém programu
21. 4. 2010   #127479

while(strcmp(zadaneHeslo, spravneHeslo) != 0) //int funkce

C / C++ › Sočet řádků text. souboru v C
7. 4. 2010   #126482

Podruhe se omlouvam, misto mem ma byt radek

takze takto:

char radek[]="7.2154         54.54543543     64.2123145";

float soucet=0;
char *hledam;
hledam=strtok(radek, " ");
while(hledam!=NULL){
soucet+=atof(hledam);
hledam=strtok(NULL, " ");
}

////v promenne "soucet" je soucet cisel z pole "radek"

C / C++ › Sočet řádků text. souboru v C
7. 4. 2010   #126452

liborb napsal:
To LJ1024 : atof



Diky za upozorneni, ten kod jsem nezkousel... :)

C / C++ › Kalkulačka s libovolnou přes…
7. 4. 2010   #126451

Krychlik napsal:
To m->29 : Uz sem poradil jak resit omezenou presnost, jenom tvrdim ze zadani je nesplnitelne. Nevim o tom, ze bych psal nejake konspiracni teorie, ale rad se necham opravit.






Kdyby byly "chyby" v zadani pokazde, tak banalni :D

C / C++ › Sočet řádků text. souboru v C
7. 4. 2010   #126432

pokud by se ti nelibila fce strtod(), tak muzes zkusit tohle:



char radek[]="7.2154 54.54543543 64.2123145";
float soucet=0;
char *hledam;
hledam=strtok(mem, " ");
while(hledam!=NULL){
soucet+=atoi(hledam);
hledam=strtok(NULL, " ");
}
////v promenne "soucet" je soucet cisel z pole "radek"

C / C++ › Kalkulačka s libovolnou přes…
6. 4. 2010   #126409

vzhledem k tomu, ze to byl ukol na programovani a ne na sestavovani nejakeho pristroje, tak se mluvi o presnosti algoritmu... Pokud reknes nejake libovolne cislo (presnost), tak bude stale mensi nez nekonecno - tudiz lze vytvorit pocitac, ketry to zvladne.

C / C++ › Kalkulačka s libovolnou přes…
6. 4. 2010   #126394

pokud vyresis problem s delenim, tak to sem prosim dej, diky... :)

C / C++ › Kalkulačka s libovolnou přes…
5. 4. 2010   #126326

Krychlik napsal:
"libovolnou přesnost" ? To jako ze umi fakt libovolny pocet znaku? Treba i vic nez nacpes do vsech disku na svete? Treba i spocitat pi naprosto presne? To je dost tezke zadani.
Ale k reseni s omezene neomezenou presnosti- udelat si spojaky/nafukovaci pole, od nejmensi cifry po nejvetsi a pak s nima pocitat.Je to jednoduche, a vysledek je hned. Pak jeste neco na zjednodusovani zlomku.



pokud to bude udelane pres "nafukovaci pole", ma to skutecne libovolnou presnost - presnost nebude omezena programem, ale pocitacem a casem....

C / C++ › Kalkulačka s libovolnou přes…
5. 4. 2010   #126315

ale tech prvku by to pole klidne i ten milion mohlo mit :)

C / C++ › Kalkulačka s libovolnou přes…
5. 4. 2010   #126298

Nevím jestli je to úplně nejlepší řešení, ale co takhle si vytvořit pole znaků - každý prvek by byla jedna číslice:

112 + 35 = 147

1, 1, 2
0, 3, 5
-----
1, 4, 7

stejně řešit i násobení a odčítání - jen u dělění si nejsem jistý, protože mě nenapadá řešení, které by zahrnovalo dělit i např. 50 místným číslem...

Předpokládám, že to RPN nějak zvládneš, jediný problénm bude asi to dělení

C / C++ › fatal error LNK1104
16. 3. 2010   #125375

Pokud sem nedas kod, tak ti asi nemame jak pomoct....

C / C++ › fatal error LNK1104
15. 3. 2010   #125333

v tom pripade sem dej kod... mozna bys taky mohl zkusit ctrl+alt+f7 (rebuilt solution) (nejsem si jisty zkratkou)

C / C++ › fatal error LNK1104
15. 3. 2010   #125328

Zdá se mi to nebo jsi ten projekt pojmenoval "ahojsvěte" a soubor *.obj je "ahojsvet.obj"?
V nazvech souboru nepouzivat diakritiku (to same i o nazvech projektu (samozrejme)). Zkus to vytvorit znovu jako "AhojSvete" a rekni, jestli ti tohle pomohlo...

C / C++ › Manifest, MVS C++ 2008 Expre…
6. 3. 2010   #124865

Vyřešeno - vykašlal jsem se na nastavení a přidal jsem si ten manifest natvrdo do projektu (dokonce i bez *.rc). Takže se protentokrát budu řídit pravidlem "Dokud to funguje, tak to nechat být."

C / C++ › Odpočítavanie času
6. 3. 2010   #124857

Pokud zmacknes mezernik, tak by to melo skoncit...



#include<iostream>
#include<time.h>
#include <dos.h>
using namespace std;
int g_continue=1;
void vlakno(){
if(GetAsyncKeyState(VK_SPACE)){
g_continue=0;
return;
}
}
int main()
{
cout<<"Cas : ";
int d = 0;
int i;
cin>>i;
system("cls");
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) vlakno, NULL, 0, NULL);
do{

sleep(1);
system("cls");
i--;

d +=i;
cout<<i<<"\n";

}while(i!=0 && g_continue);

cout<<"Konec Soucet vsechsekund je "<<d;
system("pause");
}


EDIT...

C / C++ › Manifest, MVS C++ 2008 Expre…
6. 3. 2010   #124851

Zdravím, narazil jsem na takový zajímavý problém, se kterým si nevím rady a ni dokumentace mi nepomohla...
Nedaří se mi v projektu nastavit "NewLook" pomocí manifestu a to i přetože mám nastaveno Generate Manifest i Embed Manifets. Opravdu jsem se snažil aplikovat různé kombinace nastavení, leč se mi stále nedaří. Pokud víte, tak mi prosím poraďte..

C / C++ › Problem se debugem VIsual st…
6. 3. 2010   #124837

Ano, presne tak. V tomto nejjednodussim priladne to bude fungovat, pokud bys ale nekde nacital nejaky vstup z klavesnice, tak ti jedno cin.get() stacit nebude, protoze v klavesnicovem bufferu ti zustane znak '\n', takze to prvni cin.get() by ti to samo "odentrovalo" a az to druhy by zastavilo program pred ukoncenim. Tzn. musel bys pouzit cin.get();cin.get();.

Pokud nikde nenacitas zadny vstup (jako v tomhle prilkade, cos tady napsal), tak to je vporadku...

Pokud bych psal nejake hlouposti, tak me nekdo prosim opravte.

C / C++ › Problem se debugem VIsual st…
4. 3. 2010   #124758

Muzes zkusit treba lehce nestandartni

system("echo Press any key to continue&pause>nul");
nebo mozna beznejsi
system("pause");
(ani jedno z techto reseni nedoporucuji, protoze jsou systemove zavisla a je mozne pouzit jine rychlejsi a lepsi metody).


nasledujici reseni jsou asi nejpouzitelnejsi:
cin.get();

cin.get();
cin.ignore();

C / C++ › Problem se debugem VIsual st…
4. 3. 2010   #124754

delas to jako konzolovy program, ze?
pak to asi nebude proble v debuggeru, ale v tom, ze se program ukonci (zkus do fce main pripsat pred return napr cin.ignore(); )

C / C++ › strcpy a AnsiString
2. 3. 2010   #124676

Možná:

int error=1;

char vypis[50];
sprintf(vypis, "Chyba v souboru!\nŘádek: %d", error)

ale nezkoušel jsem to...


ediT: pozdě...

C / C++ › Zapis int do binarniho souboru
28. 2. 2010   #124619

když zapíšeš do souboru pomocí funkce write, tak (aspoň myslím) se za řádek napíše ještě '\n'

zkus tohle:

unsigned int num = 2560;

ofstream soubor("soubor.txt", ios::binary);
soubor << num;
close(soubor);

C / C++ › Otevirani soubru
25. 2. 2010   #124493

Zkus používat něco na tento způsob:

char appPath[MAX_PATH];

char* GetFN(char *fileName) {
GetModuleFileName(NULL, appPath, MAX_PATH);
string currentDir = appPath;
size_t i = currentDir.rfind("\\", strlen(appPath));
currentDir.resize(i + 1);
currentDir.append(fileName);
ZeroMemory(appPath,strlen(appPath));
strcpy(appPath,currentDir.c_str());
return appPath;
}
void nejakaFce(){
(...)
ifstream soubor(GetFN("soubor.txt"));
(...)
}

C / C++ › Názvy souborů s diakritikou
19. 2. 2010   #124196

Zdravím,

pokud chci zkontrolovat, jestli existuje soubor, který má ve svém názvu diakritiku (např. hjřčšěčřkg.txt), tak pokaždé dostanu negativní výsledek. Zkoušel jsem pomocí CreateFile, FindFirstFile, ifstream, wifstream, všechno s různými nastavením kódování projektu. Ani google nepomohl (to neznamená, že jsem hledal dobře). Na bezdiakritikové soubory všechno, co jsem zkoušel fungovalo bezchybně...

Poraďte mi prosím někdo nebo mi dejte nějaký odkaz, kde se už podobný problém řešil.
Předem díky za všechny odpovědi.

C / C++ › CD mechanika
3. 2. 2010   #123550

Zdravím všechny,

potřeboval bych poradit, jak zjistím, jestli jsou nebo nejsou otevřená dvířka od CD/DVD mechaniky.

Předem díky za všechny odpovědi!

C / C++ › chyba po spusteni
1. 2. 2010   #123481

Zkusil jsem to na mém VS08 a kompilace proběhla v pořádku, bez chyb. Co tě možná zarazilo, byly řádky typu

c:\(...)main.cpp(62) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

c:\program files\microsoft visual studio 9.0\vc\include\string.h(74) : see declaration of 'strcpy'

to je způsobeno tím, že funkce strcpy nekontroluje velikost cílového bufferu a může dojít k přetečení. To je podle Microsoftu kritická chyba. Pokud píšeš zdrojáky zodpovědně, pak by to neměl být problém (V tomto případě neexistuje ani reálné riziko, že by se někdo pokusil do tvého programu naočkovat škodlivý kód. :-D)

Pokud je to tohle, cos myslel, tak se tím nezabývej..

C / C++ › Kreslení ve win98
30. 1. 2010   #123399

Mockrát díky za tvůj čas!

C / C++ › Kreslení ve win98
30. 1. 2010   #123393

A nevíš prosím ještě, jak je to s funkcí GetTextExtentPoint32()?

C / C++ › Kreslení ve win98
30. 1. 2010   #123385

Tak to je skvělý!! Mockrát děkuju - opravdu jsi mi pomohl!

C / C++ › Kreslení ve win98
30. 1. 2010   #123372

To illioner : Zkoušel jsi to někdy na windows 98? V dokumentaci je psáno, že to funguje až od win2000...

C / C++ › Kreslení ve win98
29. 1. 2010   #123355

Zdravím všechny.

Potřebuji sehnat nějakou funkci na kreslení textu pres celou obrazovku (v nejhorsim pripade na kresleni obrazku) a neco na kresleni barevnych ploch. Ale pozor! Musi to fungovat i ve win98 (mozna se divite a kroutite hlavou - ja taky - ale porad se jeste najde nekdo, kdo pouziva win98).

Hledal jsem v dokumentaci MSDN, ale zatim jsem nenasel nic kompatabilniho...

Pripadne, pokud by fungovalo neco jako ze vlozim knihovny gdi.lib a gdi.dll do slozky, ve ktere je program a bude to fungovat, tak mi o tom prosim reknete....

Predem mockrat dekuji za vsechny odpovedi!

C / C++ › Funkcia PlaySound..
11. 1. 2010   #122558

Nejsem si úplně jistý, ale zkus doplnit

#include <mmsystem.h>

LJ1024
C / C++ › WinSock
9. 1. 2010   #122504

diky moc za radu!

C / C++ › WinSock
7. 1. 2010   #122411

Ačkoliv 1. metoda je velice zajímavá, myslím, že by to nebylo úplně šťastné řešení :-D, ten brodacast dotaz vypadá mnohem lépe. Nemohl bys mi prosím ještě poradit, jak na to?
Díky

C / C++ › WinSock
6. 1. 2010   #122364

Ahoj,
prosim, aby me nekdo z vas navedl, jak bych mel pomoci WinSock pod Windows zjistit IP adresy vsech pocitacu pripojenych v lokalni siti (LAN)
Diky moc.

P.S. Asi spatne hledam, ale porad nic nemuzu najit...

C / C++ › Instalator
2. 1. 2010   #122086

To kadakk : nejspis tak, ze uz nepouzivas nick joskoo. instalator by mel obsahovat to, co se ti hodi. (napr.: souhlas s podminkami, jake casti chce uzivatel instalovat, vlastni instalace a, jak uz napsal liborb, taky odinsatalce). Co vic bys chtel vedet?
To liborb : neco mi rika, ze dostal ban.

C / C++ › Pomoc prosim
1. 1. 2010   #122005

To Anonymní uživatel : Pokud používáš dev-cpp, tak si vytvoř projekt (soubor - nový - projekt) a vyber záložku multimedia. Něco tam vyber a vytvoř ten projekt. Případně si přím opřes prodtředí zjisti updaty a stáhni si potřebné knihovny. V jiném prostředí nevím...

C / C++ › Postfixový kalkulátor
15. 12. 2009   #121134

To KIIV : Aha... Tohle jsem vedel jen o scanf().... V tom pripade je "spravna" pouze moznost
fgets(str , 500 , stdin);

C / C++ › Postfixový kalkulátor
15. 12. 2009   #121131

Zkus použít:
fgets(str , 500 , stdin);//načtení max 500 znaků do pole znaků str ze vstupu konzole
(velikost je pak strlen(str); tu ale už nejspíš nebudeš potřebovat, když nemusíš převádět string > char...)
nebo můžeš zkusit:
strcpy(str, input.c_str());//naplnění pole znaku str retezcem input (ktery je preveden na pole znaku pomoci .c_str())
Doufám, že to je to, cos potřeboval...

C / C++ › Pole a třídění
17. 11. 2009   #119389

A co treba:

#include <stdio.h>

#include <stdlib.h>

int main(){
int a,b,c;
int max,str,min;
printf("Zadejte prvni cislo: ");
scanf("%i", &a);
printf("Zadejte druhe cislo: ");
scanf("%i", &b);
printf("Zadejte treti cislo: ");
scanf("%i", &c);

max=(a>b) ? a : b;
max=(max>c) ? max : c;
min=(a<b) ? a : b;
min=(min<c) ? min : c;
str=(a != max && a != min) ? a : ((b != max && b != min) ? b : c);
printf("Nejvetsi: %i\nStredni: %i\nNejmensi: %i\n", max, str, min);
system("PAUSE");
return 0;
}


Edit: pokud teda vis, ze
a = (x < y) ? x : y;
je stejne jako
if(x < y)
a=x;
else
        a=y;

C / C++ › Hledá se programátor
17. 11. 2009   #119382

LJ1024 (u) gmail.com

C / C++ › C++
17. 11. 2009   #119379

To radvis : pro joskuu (kadakka) nebo pro nas? (ale nevim, jestl umi google prevadet z polovicni cestiny do normalni cestiny)

C / C++ › C++
16. 11. 2009   #119283

Mozna by pomohlo nepovolit uzivatelum, jejichz mail obsahuje "kadedemon" a "@seznam.cz", psat prispevky.... (takovej multiban)

C / C++ › Chyba programu - switch
16. 11. 2009   #119230

To RobinP : S tim break: 1. jak jinak bys chtel udelat switch bez break? 2. Ja si naopak myslim, ze break program zjednodusi - bez breaku si programovani dokazu jen ztezi predstavit a pokud ho budes pouzivat, tak s tim nebudes mit problem..
Napr. : for(int i=0;i<10;i++){
//zdroj
if(a==b)//podminka pro vyskoceni z cyklu
i=10;//lepsi je break;
}

C / C++ › Google Go
13. 11. 2009   #119029

mne se taky moc nelibi...

C / C++ › Matematika
9. 11. 2009   #118754

To joskoo : Tys to asi nejsis stale nepochopil - je sice pekne, zes napsal "zaraz jazyk" a "s pozdravem joskoo", ale porad to neni ono. Plus jak rekl djanosik (), tak by sis to opravdu mel sezrat....

S pozdravem LJ1024.

C / C++ › Matematika
8. 11. 2009   #118685

To yaqwsx : 8-10

Ještě před pár dny jsem se joskem docela bavil, ted uz to ale zacina vypadat trochu trapne...

C / C++ › MCI: zobrazení záznamu z vid…
5. 11. 2009   #118542

Opravdu nikdo nevíte?

C / C++ › Forum
2. 11. 2009   #118367

To Curo : Mas pravdu: Jeste nedavno jsem si myslel, ze me uz nic neprekvapi...

C / C++ › hacking
1. 11. 2009   #118297

To SeraphCZ : A s tim Sluncem - za 9 mld. let uz budeme davno kolonizovat jine planetarni systemy (mozna i behem 10000 let)

C / C++ › hacking
1. 11. 2009   #118268

To z_moravec : Coz znamena, ze pohyb rychlosti svetla neni moc dobry zpusob "cestovani casem", nebot by ses musel zmenit na zareni a v minulosti by te nekdo musel premenit zpatky na hmotu (jak by asi nekdo mohl vedet, ze to ma udelat...)

To SeraphCZ : Bazinga! (viz BBT)

To Lordest : Nezapominej, ze i kdyby chladili na 0°K, tak to stejne nikdo nedokaze zmerit (nejsem si jisty, jak presna je metoda mereni teploty pomoci zjistovani vlnove delky svetla), protoze normalni teplomer by proste zatuhl (castice se nehybou a pri nepatrne vyssi teplote jen velice pomalu)

C / C++ › MCI: zobrazení záznamu z vid…
1. 11. 2009   #118264

Zdravim,
potreboval bych prosim pomoct se zprovoznenim nasledujiciho kodu:
//////////
HWND hwndCap = capCreateCaptureWindow("Webcamera", WS_CHILD | WS_VISIBLE, 10, 10, 352, 288, hwnd, 0);
capDriverConnect((HWND)hwndCap, 0);
capPreviewRate(hwndCap, 66);
capPreview(hwndCap, TRUE);
/////////
(hwnd je HWND hlavniho okna)

Po spusteni se mi zobrazi na hlavnim okne akorat cerny obdelnicek.
Mam nalinkovanou vfw.lib a vlozeny vfw.h.
Kamera je pripojena a sviti.

Uz jsem nad tim stravil hodne casu a ani google nepomohl.
Predem diky za odpovedi.

C / C++ › Forum
1. 11. 2009   #118261

Hodne stesti..

C / C++ › ruzne
27. 10. 2009   #117927

2 d.mostek: tu poruchu uz podle me zvladl docela slusne....
2 josko: Kdyby kazdej radoby "hacker"
     umel "vytvorit nedetektovatelnej vir aby ho nenašel žadny antivir",
tak by nikdo nepouzival internet...

 

 

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