Avatar billede razersedge Nybegynder
12. februar 2002 - 23:47 Der er 6 kommentarer og
1 løsning

C++ til Delphi

En hjælpsom fyr/kvinde som gider oversætte det stykke C++ kode til Delphi ?? :

  ::memcpy((void*)&fTotalTime, (void*)&m_pRecvBuff[nBuffIndex], sizeof(fTotalTime));
  nBuffIndex += 4;
Avatar billede cms Nybegynder
12. februar 2002 - 23:56 #1
Move(fTotalTime, Pointer(Integer(m_pRecvBuff)+nBuffIndex)^, SizeOf(fTotalTime));
Inc(nBuffIndex, 4);
Avatar billede razersedge Nybegynder
13. februar 2002 - 00:03 #2
kan du også give en forklaring? så ville det være helt fint
Avatar billede razersedge Nybegynder
13. februar 2002 - 00:47 #3
hmm hvordan vil du lave indholdet af de 4 bytes om til en string?
Avatar billede geek1011 Nybegynder
13. februar 2002 - 18:50 #4
SkopNavn.memcpy((var fTotalTime, PointerVar : TPointer; fTotalTime, PointerVar(Integer(m_pRecvBuff)+nBuffIndex)^, SizeOf(fTotalTime)); nBuffIndex := nBuffIndex + 4;

Forklaring:
SkopNavn.memcpy:
er en skop-opløsning.
memcpy er et objekt af class'en SkopNavn.

var fTotalTime, PointerVar : TPointer; betyder, at fTotalTime og PointerVar er variabler, ærkleret af typen TPointer.
Derefter tildeles de værdier.

Jeg kan ikke uden videre sige mere, da de mest af alt ligner abstract datatypes, men i bund og grund er det sådan set bare helt alm. variabler/funktioner, erklæret af typen TPointer, og som har endnu flere variabkler/funktioner og tildelinger af værdier inde i denne funktion.

Det var mit bud :-)
Avatar billede razersedge Nybegynder
13. februar 2002 - 22:49 #5
okay, kunne godt bruge lidt mere hjælp, her kommer lige lidt baggrund:

Jeg har gang i et lille program som kan connecte til en Half-life spilserver og hente nogle informationer, dette gøres via en udp connection hvorefter jeg skal sende diverse kommandoer til serveren hvorefter jeg for et svar,

En af kommandoerne hedder "players" og returnerer information omkring hvormange og hvilke spillere der er på serven, svaret kommer sådan her (taget fra sdk'en):

    "players"
    Server responds with the following packet:
    (int32)        -1
    (byte)        ASCII 'D' (players response, S2A_PLAYER)
    (byte)        active client count

    for each active client
        (byte)        client number / index
        (string)        player name
        (int32)        client's frag total
        (float32)        client's total time in-game

Jeg har kun problemer med at læse den tid klienten har været online, dette returneres som 4 bytes som skal konverteres til en streng, disse 4 bytes skal konverteres sammen for at få et resultat der passer, hvordan gør jeg det, Er mit spørgsmål. Jeg har snakket med en englænder som havde gjort dette, bare i C++ og han gav mig gladeligt det stykke kode, men da jeg ikke forstår C++ for jeg ikke så meget ud af det.

Hvis i har brug for flere hints så skriv, da jeg er ved at være desperat :O)

Hvis i kan hjælpe mig så jeg for mit problem løst kan i få lidt flere point :O)
Avatar billede cms Nybegynder
17. februar 2002 - 13:20 #6
ICQ# 145242780
Avatar billede razersedge Nybegynder
16. maj 2002 - 21:43 #7
Undskyld den længe svartid... men havde glemt spørgsmålet :/

cms fik pointne da han var først og summen af pointene var så små, men hvis du føler dig forurettet geek1011 så må du brokke dig, så skal nok få også

;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester