[python] Rozměry textového okna

zu1234 zu1234 na seznam.cz
Pondělí Březen 17 12:34:18 CET 2008


Děkuji Vám, jdu studovat.
ZU

Michal Molhanec napsal(a):
> zu1234 napsal(a):
>> Zdravím.
>>
>> Potřebuji přerušovat zobrazení delšího textu:
>> Kde by si mohl python program bežící pod windows-y v textovém okně 
>> zjistit jeho (aktuální) rozměny (počet řádků s sloupců)?
> 
> Pro Python s ctypes (od Pythonu 2.5 soucast standardni knihovny):
> 
> def getConsoleWindowSize():
>      """Return size of the console window on Windows as
>         a tuple (width, height) or (None, None) if ctypes
>         are not available or some error happens."""
>      try:
>          import ctypes
> 
>          class COORD(ctypes.Structure):
>              _fields_ = [("x", ctypes.c_short),
>                          ("y", ctypes.c_short)]
> 
>          class SMALL_RECT(ctypes.Structure):
>              _fields_ = [("l", ctypes.c_short),
>                          ("t", ctypes.c_short),
>                          ("r", ctypes.c_short),
>                          ("b", ctypes.c_short)]
> 
>          class CONSOLE_SCREEN_BUFFER_INFO(ctypes.Structure):
>              _fields_ = [("size", COORD),
>                          ("cursorPosition", COORD),
>                          ("attrs", ctypes.c_ushort),
>                          ("win", SMALL_RECT),
>                          ("maxWinSize", COORD)]
> 
>          info = CONSOLE_SCREEN_BUFFER_INFO()
> 
>          handle = ctypes.windll.kernel32.GetStdHandle(-11)
>          ctypes.windll.kernel32.GetConsoleScreenBufferInfo(handle,
>                                                ctypes.byref(info))
>          return (info.win.r - info.win.l + 1,
>                  info.win.b - info.win.t + 1)
>      except:
>          return (None, None)
> 
> print getConsoleWindowSize()
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 



Další informace o konferenci Python