Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


unhappy
спасибо за сабж... очень неплох, жаль небесплатный
насколько понял из справки пурибасик поддерживает передачу сруктур (в функции и процедуры) только "по ссылке", а SetConsoleScreenBufferSize принимает структуру "по значению".
Цитата:
You must pass a pointer to this variable as you cannot pass structured variables directly.
...тем не менее удалось его обмануть заменив структуру на число двойной длины:
Код: Выделить весь код
If OpenConsole()    
  stdout.l=GetStdHandle_(#STD_OUTPUT_HANDLE)  
  NewSize.SMALL_RECT
  NewSize\top = 0
  NewSize\left = 0
  NewSize\bottom=50
  NewSize\right=50
  SetConsoleWindowInfo_(stdout,1,@NewSize)
  
  mySize.l
  mySize = (51 << 16) + 51
  SetConsoleScreenBufferSize_(stdout, mySize) 
  Debug(Str(GetLastError_()) ) 
EndIf
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:51, 23-11-2006 | #2