Как разбить принятое сообщение

Тема в разделе "WASM.NETWORKS", создана пользователем Anvil, 29 июл 2008.

  1. Anvil

    Anvil New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2008
    Сообщения:
    24
    Как разбить принятое сообщение по сокету и каждое слово занести в свою переменную?
    Ну например я принемаю сообщение: "send Hello Test"
    сенд проверяется как команда а Hello и Test заносятся в переменые cmd и cmd1
    И у меня выводится :
    invoke MessageBox, 0, offset cmd,offset cmd1, MB_OK

    Если не сложно, приведите кто нибуть рабочий пример.
     
  2. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Код (Text):
    1. .data
    2. aStr db "send Hello Test",0
    3. aCmd db 30 dup(0)
    4. aSend db 30 dup(0)
    5. .code
    6.  
    7. START:
    8.     lea edi, offset aStr ;"send Hello Test"
    9.     invoke lstrlen,edi
    10.     mov ecx,eax ; ecx = длина строки
    11.     mov eax,' ' ; символ пробела который ищём
    12.     cld ;очищаем DirectionFlag
    13.     repnz scasb ;Сканируем до пробела
    14.     invoke lstrcpy, addr aCmd, edi ; копируем текст в переменную aCmd
    15.     sub edi,offset aStr ;вычисляем позицию пробела
    16.     invoke lstrcpyn, addr aSend,offset aStr,edi ; копируем команду в переменную aSend
    17.     invoke  MessageBox,0,addr aSend,addr aCmd,0
    Эксперементируй
     
  3. Prince

    Prince New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2008
    Сообщения:
    71