Указатель на строку

Тема в разделе "WASM.BEGINNERS", создана пользователем Tiro, 16 окт 2006.

  1. Tiro

    Tiro New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2006
    Сообщения:
    49
    Адрес:
    Russia
    Код (Text):
    1. .data
    2. cbei  COMBOBOXEXITEM  <?>
    3.  
    4. ComboStruct STRUCT
    5.  iImage         dd ?
    6.  iSelectedImage dd ?    
    7.  iIndent        dd ?
    8.  pszText        dd ?
    9. ComboStruct ENDS
    10.  
    11. first   db "first",0
    12. second  db "second",0
    13. third   db "third",0
    14. fourth  db "fourth",0
    15. fifth   db "fifth",0
    16. sixth   db "sixth",0
    17. seventh db "seventh",0
    18. eighth  db "eighth",0
    19. ninth   db "ninth",0
    20. tenth   db "tenth",0
    21.  
    22. ITEMINFO typedef ComboStruct
    23.  
    24. IInf ITEMINFO  { 0, 3,  0, offset first}
    25.      ITEMINFO  { 1, 4,  1, offset second}
    26.      ITEMINFO  { 2, 5,  2, offset third}
    27.      ITEMINFO  { 0, 3,  0, offset fourth}
    28.      ITEMINFO  { 1, 4,  1, offset fifth}
    29.      ITEMINFO  { 2, 5,  2, offset sixth}
    30.      ITEMINFO  { 0, 3,  0, offset seventh}
    31.      ITEMINFO  { 1, 4,  1, offset eighth}
    32.      ITEMINFO  { 2, 5,  2, offset ninth}
    33.      ITEMINFO  { 0, 3,  0, offset tenth}
    34.  
    35. .code
    36.  
    37. mov ecx, 0
    38. .WHILE ecx<10
    39. mov cbei.iItem, ecx
    40. mov cbei.pszText,  IInf[?]???
    Как правильно указать в качестве операнда IInf указатель на строку?
    Возможно определить строку символов прямо в структуре ITEMINFO?
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    А так можно? В масме обычно < 0,3,0 >

    Как и указал, offset string.

    В общем случае нет.

    Думаю, ты хотел сделать так:
    Код (Text):
    1.     xor     ecx,ecx
    2.     mov     edx,offset IInf
    3.     .while ecx < 10
    4.         mov     [cbei.iItem],ecx
    5.         mov     eax,(ITEMINFO ptr [edx]).pszText
    6.         mov     [cbei.pszText],eax
    7.         add     edx,sizeof(ITEMINFO)
    8.         inc     ecx
    9.     .endw
     
  3. Tiro

    Tiro New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2006
    Сообщения:
    49
    Адрес:
    Russia
    ITEMINFO { 0, 3, 0, offset first}
    Масм не возражает. В приложении применяется такой способ.

    Именно так. Благодарю за подсказку

    используем тег [ quote ] для цитирования и не забываем про оверквотинг.
     
  4. Tiro

    Tiro New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2006
    Сообщения:
    49
    Адрес:
    Russia