AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Schrift- und Hintergrundfarbe von der Konsole auslesen?
Thema durchsuchen
Ansicht
Themen-Optionen

Schrift- und Hintergrundfarbe von der Konsole auslesen?

Ein Thema von Astartes · begonnen am 9. Okt 2009 · letzter Beitrag vom 9. Okt 2009
Antwort Antwort
Astartes
(Gast)

n/a Beiträge
 
#1

Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 00:27
Hi,

Könnt ihr mir einen Tipp geben mit dem ich die aktuellen Farbwerte, Schriftfarbe und Hintergrundfarbe, der Konsole auslesen kann. Ich weiß, wie man die Schrift und den Hintergrund der Konsole farbig gestaltet. Aber beim Auslesen dieser Attribute stehe ich grade aufem Schlauch.

Wäre für einen Tipp! Dankbar!

LG
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 00:59
Merk sie dir doch beim Setzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 01:00
Wie setzt du denn diese Farben?

Nimm diese Befehle und schau dort nach, wo du sie her hast ... es werden sich da mit großer Sicherheit auch die Umkehrfunktionen befinden

z.B. für bei den APIs einfach im MSDN nachsehn


[edit]
MSDN-Library durchsuchenSetConsoleTextAttribute
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 01:03
Ich werf mal GetConsoleScreenBufferInfoEx in den Raum...

http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

Aber ich frag mich immer, wie ich sowas in Delphi umsetzen kann, wenn ich das im MSDN lese...
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Astartes
(Gast)

n/a Beiträge
 
#5

Re: Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 01:05
Also, wenn jetzt keinen Fehler drin ist. Müsste das, die richtige Lösung für das Problem sein.

@Lukie Das ist genau mein Vorhaben

Habe inzwischen die Lösung über die MSDN rausgefunden! Danke für die Hilfe!

Delphi-Quellcode:
var
  lpScreenInfo: _CONSOLE_SCREEN_BUFFER_INFO;
  DefaultValues: WORD;
  hOutput: THandle;
begin
  Try
    hOutput := GetStdHandle(STD_OUTPUT_HANDLE);

    GetConsoleScreenBufferInfo(hOutput ,lpScreenInfo);
    DefaultValues := lpScreenInfo.wAttributes;

    SetConsoleTextAttribute(hOutput , 0 + 14);
    Write('Hallo Delphigemeinde!');
    SetConsoleTextAttribute(hOutput , DefaultValues);

  Except
    On E:Exception Do
      Writeln(E.Classname, ': ', E.Message);
  End;
End;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 01:06
Zitat von alleinherrscher:
Ich werf mal GetConsoleScreenBufferInfoEx in den Raum...

http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

Aber ich frag mich immer, wie ich sowas in Delphi umsetzen kann, wenn ich das im MSDN lese...
Ist doch nur ein Handle und ein Zeiger auf eine Struktur. Wo ist das Problem?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 01:09
die normale Version ohne EX kennt sogar Delphi, ansonsten mußt du einfach nur die Definitionen nach Delphi übersetzen


das MSDN sagt
Code:
BOOL WINAPI GetConsoleScreenBufferInfo(
  __in  HANDLE hConsoleOutput,
  __out PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
);
Requirements
DLL : Kernel32.dll

[equote="in Delphi sieht's dann so aus"]
Delphi-Quellcode:
function GetConsoleScreenBufferInfo(hConsoleOutput: THandle;
  lpConsoleScreenBufferInfo: PConsoleScreenBufferInfo): BOOL; stdcall;
  external 'kernel32.dll';
und etwas hübscher dann so
Delphi-Quellcode:
function GetConsoleScreenBufferInfo(hConsoleOutput: THandle;
  var lpConsoleScreenBufferInfo: TConsoleScreenBufferInfo): BOOL; stdcall;
  external 'kernel32.dll';
[/equote]
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Schrift- und Hintergrundfarbe von der Konsole auslesen?

  Alt 9. Okt 2009, 01:11
nix, nix... bin schon still und hab wieder was gelernt

Danke
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz