Best place to see examples of WinAPI examples for Delphi
well i have been experimenting with the Win32 API in Delphi and I'm unsure on where to look on examples to use them..seeing how the MSDN only show's C++ examples.
I have dug through Delphi 7's help file and well... im a little confused so i will just paste my working code i found and the code the help files shows me, i dont understand how it translates into my working code...unless the code im using is some how butchered up.
so here is the code im experimenting with now using the SetConsoleTextAttribute function
----My code that i know works and changes color----
Code:
begin
SetConsoleTextAttribute(GetStdHandle(
STD_OUTPUT_HANDLE),
FOREGROUND_RED OR
BACKGROUND_BLUE);
Writeln('Red text on a blue background !');
ReadLn;
end.
----------End working code---------------------
--------Now here is a snip from the official delphi documentation-----
Code:
BOOL SetConsoleTextAttribute(
HANDLE hConsoleOutput, // handle of console screen buffer
WORD wAttributes // text and background colors
);
Code:
Parameters
hConsoleOutput
Identifies a console screen buffer. The handle must have GENERIC_READ access.
wAttributes
Specifies the foreground and background color attributes. Any combination of the following values can be specified: FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY. For example, the following combination of values produces white text on a black background:
FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
------End Delphi help------
Can someone please tell me what cylinder in my head is not firing on this?
Re: Best place to see examples of WinAPI examples for Delphi
Your code matches the official delphi documentation. The first parameter to SetConsoleTextAttribute is a handle to the console screen buffer. This is what GetStdHandle(STD_OUTPUT_HANDLE) provides - a handle to the standard output. The second parameter to SetConsoleTextAttribute is the character attributes. In your case you are setting the foreground red and the background blue by or'ing the two values.
If you are using many of the console functions in one program, normally you would obtain the output handle only once, store this in a variable and then use this variable whenever the documentation requires a handle to console output.