Zitat von
marabu:
Herzlich willkommen in der Delphi-PRAXiS, Thomas.
(1) Application.Handle steht dir nur in einer fensterorientierten Anwendung zur Verfügung.
(2) Deine Zeichenketten-Konstanten hast du unter Windows mit der CodePage 1252 erfasst. Die Konsole interpretiert die Zeichen aber anhand der CodePage 850. Du kannst die Ausgabe an die Konsole anpassen:
Delphi-Quellcode:
function AnsiToOem (const s: string): string;
begin
SetLength(Result, Length(s));
if Length(s) > 0 then
CharToOemBuff(@s[1], @Result[1], Length(s));
end;
(3) "Einfache Lösung" ist gewiss relativ. Durch ein Verbiegen der STDIO Handles sollte möglich sein, was du dir vorstellst.
Freundliche Grüße vom marabu
Danke für die nette Begrüßung!
Code wurde integriert und funktioniert natürlich!
Damit sind zwei von drei Fragen erledigt, das geht ja extrem schnell, herzlichen Dank!
Zur dritten Frage: Das würde jetzt (ich beschreibe es mal, wie ich es mir denke, programmieren könnte ich es noch nicht) wahrscheinlich so laufen: Versteckte Kommandokonsole o. ä., liest über Stream oder so Daten in z. B. ein Stringarray und anschließend muss ich diesen dann mit writeln auf der angezeigten (gewollten) Konsole) ausgeben, oder?
Das wollte ich umgehen, dachte ich könnte Delphi hier als eine Art Super-Batch-Sprache ausnutzen...
Ist nicht so wichtig, ich will das Ding sowieso später mit Formularanwendung laufen lassen, dachte nur, auch mal in die Konsolenprogrammierung reinzuschauen schadet nichts
Viele Grüße,
Thomas