Geree Nice Posted March 22, 2007 Posted March 22, 2007 Hello! Szükségem lenne egy függvényre, a Perlben használatos Pack-re. Sajnos csak Delphiben tudok programozni, és nem találtam meg az itteni megfelelõjét, ha van egyáltalán. Keresgettem, hogy mi ez pontosan, hogy megírjam magamnak Delphiben, de nem nagyon lett tiszta a dolog "hogyan"-ja. Egy leírást találtam róla, de nem nagyon áll össze a kép ezzel sem: http://perldoc.perl.org/functions/pack.html Valaki esetleg nem tudná megmondani, hogyan tudom áthozni ezt a függvényt Delphibe, mutatni esetleg egy Delphi-s parancsot, ami ezt helyettesíti, esetleg megírni a függvényt Delphi alá? Bármiféle reakciót szívesen fogadok, köszönöm az esetleges segítséget elõre is : Geree
Calyd Posted March 22, 2007 Posted March 22, 2007 Jó lenne, ha leírnád, hogy mire szolgál ez a függvény. Úgy olvasom, hogy szövegek összefűzésére. Erre használhatod a "+" operátort is, de a Concat függvény is.
Geree Nice Posted March 22, 2007 Author Posted March 22, 2007 Egy MMORPG játék szerverével szeretnék kommunikálni, és néhány packet tartalmazza a függvényt. Nem tudom sajna mit csinál. Egy Perlben írt bot program forrásából olvasgattam 1-2 dolgot, azt tudom, mit kell tennem, ahhoz, hogy elérjem a szervernél amit akarok Csak a megvalósítás bajos. Írok 1 példát. $msg = pack("C*", 0x9f, 0x00, 0x12, 0x00, 0x00) . pack("S*", $ID) . pack("C*", 0x20, 0x60, 0xfb, 0x12, 0x00, 0x1c) . $targetID; Ezt a stringet össze tudnám rakni, mert a targetID-t és az ID-t ismerem, megvan a pack paramétere is. Csak maga a függvény hiányzik. Rosszul magyarázok, de remélem azért érthető volt
Calyd Posted March 23, 2007 Posted March 23, 2007 Ha konkatenálni akarsz, akkor arra ott a Concat. Én úgy értelmezem, hogy ezt szeretnéd csinálni.
arpsoft Posted March 23, 2007 Posted March 23, 2007 Ez olyan, mint a C-ben az sprintf. Delphi-ben pedig Format-nak hívják. Nem teljesen egyezik a pack-al (kevesebbet tud), de használható.
Geree Nice Posted March 24, 2007 Author Posted March 24, 2007 Átrágom a Formatot, remélem jó lesz. Köszi 1 kérdés még: Perl : pack("C*", 0x9f, 0x00, 0x12, 0x00, 0x00) Delphiben hogy kell meghívni a Formatot, hogy ugyanezt adja vissza? Próbálkoztam pár dologgal, de nem sok sikerélményem volt.
Calyd Posted March 24, 2007 Posted March 24, 2007 Nézd meg a helpet. Szerintem nagyon jól használható. Általában konkrét példát is ad a használatra.
Geree Nice Posted March 31, 2007 Author Posted March 31, 2007 Bevallom, hogy nem tudom, pontosan hogy mûködik a dolog, emiatt is írtam ide a kérdésem. Az az egy biztos, hogy ez a parancs így mûködõképes és helyes, mivel egy tökéletesen funkcionáló program forráskódjából másoltam ki. Sikeresen belevágtam ismét valamibe, ami túl magas nekem
arpsoft Posted April 1, 2007 Posted April 1, 2007 Nos, csatlakoznom kell Calyd-hoz. Egyszerûbb lene egyszerûen a hexadecimális kódokkal megadott karaktereket és a stringeket konkatenálni, azaz egymás után fûzni. Persze egyáltalán nem lesz értlemes a szöveg, maximum valamilyen adat-kommunikációhoz lehetne használni.
Geree Nice Posted April 1, 2007 Author Posted April 1, 2007 Próbáltam én már mindent, egyik se ment Talán kicsit mély vízre eveztem... Szórakozom vele még kicsit, aztán ha megy megy, ha nem, hát feladom. Mindenesetre köszi a segítséget, valamivel mindenképp elõrébb vagyok.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now