]> gitweb.factorcode.org Git - factor.git/blob - core/windows/utils.factor
more sql changes
[factor.git] / core / windows / utils.factor
1 ! Copyright (C) 2005, 2006 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien errors io kernel math namespaces parser prettyprint words ;
4 IN: win32-api
5
6 ! You must LocalFree the return value!
7 FUNCTION: void* error_message ( DWORD id ) ;
8
9 : win32-error ( -- )
10     GetLastError dup zero? [
11         drop
12     ] [
13         error_message
14         dup alien>char-string
15         swap LocalFree drop
16         throw
17     ] if ;
18
19 : win32-error=0 zero? [ win32-error ] when ;
20 : win32-error>0 0 > [ win32-error ] when ;
21 : win32-error<0 0 < [ win32-error ] when ;
22 : win32-error<>0 zero? [ win32-error ] unless ;
23
24 : lo-word ( wparam -- lo ) HEX: ffff bitand ;
25 : hi-word ( wparam -- hi ) -16 shift ;
26
27 : msgbox ( str -- )
28     f swap "DebugMsg" MB_OK MessageBox drop ;