C++] Výpis se upakuje – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++] Výpis se upakuje – C / C++ – Fórum – Programujte.comC++] Výpis se upakuje – C / C++ – Fórum – Programujte.com

 

_Daffy_0
Newbie
17. 4. 2010   #1
-
0
-

caute, mám menší problém, když chci vypsat data hráčů, tak mi to stále vypisuje data jednoho hráče ID 0, je jich tam 6, tak to vypíše 6x, nevím už kde dělám chybu ..


if(OnlinePlayers > 0)

{
array<String^,2>^ data = gcnew array<String^,2>(OnlinePlayers,4);
udpClient->Connect(serverIP, serverPORT);
array<Byte>^sendBytes = Encoding::ASCII->GetBytes( packet );
udpClient->Send(sendBytes, sendBytes->Length );
IPEndPoint^ RemoteIpEndPoint = gcnew IPEndPoint( IPAddress::Any,0 );
array<Byte>^receiveBytes;
receiveBytes = udpClient->Receive( RemoteIpEndPoint );

for(int i=0; i<OnlinePlayers; i++)
{

data[i,0] = Convert::ToString(ord(Encoding::ASCII->GetString(receiveBytes,11,4)));
int nl = Convert::ToInt32(ord(Encoding::ASCII->GetString(receiveBytes,14,2)));
data[i,1] = Encoding::ASCII->GetString(receiveBytes,15,nl);
MessageBox::Show(""+ret[i,1]+"", Text, MessageBoxButtons::OK, MessageBoxIcon::Error);
// message box vypise NICK hráče ..ale porad vypisuje stejneho :(
}
}

Nahlásit jako SPAM
IP: 89.176.203.–
KIIV
~ Moderátor
+43
God of flame
17. 4. 2010   #2
-
0
-

nevypada ze by ses jakkoliv posouval v tom receiveBytes ...

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
_Daffy_0
Newbie
17. 4. 2010   #3
-
0
-

mno a jak v něm mám posouvat ..? s udp dělám chvilku ..dík

Nahlásit jako SPAM
IP: 89.176.203.–
KIIV
~ Moderátor
+43
God of flame
17. 4. 2010   #4
-
0
-

nejde o udp.. jde o to ze mas data za sebou v pameti
neco blabla dalsi lala ...... .... .... ..... ....
no a ty natvrdo vykopirujes to "neco" a "blabla" ale kdyz prictes ve for cyklu tak opet nacitas to same protoze ses nikam neposunul

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
_Daffy_0
Newbie
17. 4. 2010   #5
-
0
-

aha, ale pořád mě nenapadá jak to udělat :(

Nahlásit jako SPAM
IP: 89.176.203.–
_Daffy_0
Newbie
17. 4. 2010   #6
-
0
-

mohl by někdo poradit jak na to ? jsem se do toho nějak zamotal :(

Nahlásit jako SPAM
IP: 89.176.203.–
liborb
~ Redaktor
+18
Guru
17. 4. 2010   #7
-
0
-

Musíš pokračovat tam, kde si v předchozím průchodu skončil.

Nahlásit jako SPAM
IP: 91.203.96.–
_Daffy_0
Newbie
17. 4. 2010   #8
-
0
-

mno to je mě jasný, jen nevim jak pokračovat .....

Nahlásit jako SPAM
IP: 89.176.203.–
KIIV
~ Moderátor
+43
God of flame
17. 4. 2010   #9
-
0
-

kdyz to nechapes tak si to nakresli .. pokud to nejsi schopen nakreslit tak studuj co pouzivas.. (nemusis nutne studovat ten udp reader.. ale to pole znaku to bude chtit pochopit, aby si dokazal pokrocit)

proc ti tu nikdo neda reseni? protoze by ti to akorat ublizilo.. bud na to musis prijit sam, nebo se pust do oboru na ktery mas..

takze
krok 1. pohopit pole!!
krok 2. jak se posunout v poli o dejme tomu 20 prvku dal (nebo dokonce ruzny pocet prvku) a brat vse jako by to byl novy zacatek..

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
liborb
~ Redaktor
+18
Guru
17. 4. 2010   #10
-
0
-

Nebo získej native pointer a vyřeš to jako v klasickém C.

Nahlásit jako SPAM
IP: 91.203.96.–
_Daffy_0
Newbie
17. 4. 2010   #11
-
0
-

jej mě prdne :D, poslední věc co mi chybý a ...

Nahlásit jako SPAM
IP: 89.176.203.–
_Daffy_0
Newbie
17. 4. 2010   #12
-
0
-

no mám se posouvat v poli, receiveBytes,,, ja uz fakt nevim,,,docela to potrebuji .......skousim neco takoveho

if(OnlinePlayers > 0)

{
array<String^,2>^ data = gcnew array<String^,2>(OnlinePlayers,4);
udpClient->Connect(serverIP, serverPORT);
array<Byte>^sendBytes = Encoding::ASCII->GetBytes( packet );
udpClient->Send(sendBytes, sendBytes->Length );
IPEndPoint^ RemoteIpEndPoint = gcnew IPEndPoint( IPAddress::Any,0 );
array<Byte>^receiveBytes;
receiveBytes = udpClient->Receive( RemoteIpEndPoint );
int posun = 0;

for(int i=0; i<OnlinePlayers; i++)
{
receiveBytes = receiveBytes >> posun;
posun = posun+sizeof(data);

data[i,0] = Convert::ToString(ord(Encoding::ASCII->GetString(receiveBytes,11,4)));
int nl = Convert::ToInt32(ord(Encoding::ASCII->GetString(receiveBytes,14,2)));
data[i,1] = Encoding::ASCII->GetString(receiveBytes,15,nl);
}
}

Nahlásit jako SPAM
IP: 89.176.203.–
KIIV
~ Moderátor
+43
God of flame
17. 4. 2010   #13
-
0
-

probuh.. bitovej posun nad pointerem.. kde todle skonci :D (napoveda: jedine v neplatne casti pameti)

napadlo te neco jako pricist pocet znaku, o kolik se posunout? tj. operace + ?

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 101 hostů

Podobná vlákna

Vypis... — založil Pavel

C# vypis — založil celi

Výpis z DB — založil MiMi

[db] výpis — založil ceska_fojak

Výpis z řetězce — založil Dzanek

Moderátoři diskuze

 

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