Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Konsolenanwendung - crt.pas - Console Library (https://www.delphipraxis.net/213259-konsolenanwendung-crt-pas-console-library.html)

arcticwolf 26. Jun 2023 13:51

Konsolenanwendung - crt.pas - Console Library
 
Vielleicht kennen noch einige von Euch die Problematik, dass die gute alte crt.pas von Borland irgendwann in den neueren Delphi-Versionen einfach nicht mehr da war. Ich hatte diese Herausforderung vor etlichen Jahren zu meistern. Dazu kam dann noch die Thematik, dass die ERP-Software (Warenwirtschaft) für die ich als Programmierer verantwortlich war/bin, bis Mitte der 2010er-Jahre gleichzeitig unter MS-DOS und Windows laufen sollte. Also habe ich über die Jahre viel Zeit investiert um Code zu schreiben, der mir dies ermöglichte.

Ich habe diesen Code, der über die Jahre zusammengekommen ist, in den letzten Wochen etwas strukturiert und so zusammengefasst, dass er möglichst einfach von jedem eingesetzt werden kann.

Ich möchte den Code der Community als Open Source Projekt zur Verfügung stellen und habe ihn heute auf GitHub hochgeladen.

https://github.com/playcom-de/Console

Die Bibliothek umfasst heute natürlich einen deutlich größeren Funktionsumfang, als nur die crt.pas zu ersetzen. Zum Beispiel hat man die Möglichkeit dem Konsolenfenster eine beliebige Größe (nicht nur 80 x 25) zu geben, die Farben beliebig zu manipulieren, Unicode-Zeichen zu verarbeiten und sogar underline und outline von Text ist möglich. Die Schriftart und Schriftgröße des Konsolenfensters kann genauso geändert werden, wie die Position auf dem Desktop. Um nur einige Features zu nennen.

Ich habe zur Bibliothek auch einige Demos hinzugefügt, um die Anwendungsmöglichkeiten einiger Features zu zeigen.

Ich würde mich freuen, wenn ihr Euch das mal anschaut und mir ein Feedback gebt.

himitsu 26. Jun 2023 14:28

AW: Konsolenanwendung - crt.pas - Console Library
 
Vergiss es gleich wieder.

Diese API ist am sterben.
Es wird zukünftig nur noch die neuen Streammingfunktionen geben.

Vielleicht hättest du vorher mal die Dokumentation lesen sollen?
Sie strotzt hier nur noch so vor Warnhinweisen :stupid:,
ala
Zitat:

Important

This document describes console platform functionality that is no longer a part of our ecosystem roadmap. We do not recommend using this content in new products, but we will continue to support existing usages for the indefinite future. Our preferred modern solution focuses on virtual terminal sequences for maximum compatibility in cross-platform scenarios. You can find more information about this design decision in our classic console vs. virtual terminal document.
Zitat:

Tip

This API does not have a virtual terminal equivalent. Its use may still be required for applications that are attempting to draw columns, grids, or fill the display to retrieve the window size. This window state is managed by the TTY/PTY/Pseudoconsole outside of the normal stream flow and is generally considered a user privilege not adjustable by the client application. Updates can be received on ReadConsoleInput.
uvm.



Abgesehn davon, dass in aktuellen Windows 11 nun das neue Terminal standardmäßig genutzt wird, und nicht mehr die "veraltete" CMD.exe.

Der schöne Günther 26. Jun 2023 14:35

AW: Konsolenanwendung - crt.pas - Console Library
 
Also wenn ich sehe wie oft Microsoft schon etwas als "preferred modern solution" angepriesen hat und wie schnell es danach wieder von der Bildfläche verschwand...

Ich finds toll und werde es mir demnächst mal anschauen, auch wenn ich spontan noch keinen Anwendungsfall habe. Daumen hoch für anschauliche Bildchen auf der Github-Startseite, damit bekommt man direkt ein Feeling für das, was es ist. Ich finde das nehmen viele nicht wichtig genug.

arcticwolf 26. Jun 2023 14:54

AW: Konsolenanwendung - crt.pas - Console Library
 
@himitsu:
Zitat:

Vielleicht hättest du vorher mal die Dokumentation lesen sollen?
Wie kommst Du zu der Annahme, dass ich das nicht gemacht habe? Denkst Du ich habe den Delphi-Code einfach so geschrieben ohne in die MSDN zu schauen? :pale:

Ich gehe nicht davon aus, dass die API in den nächsten Jahre streben wird, Microsoft im übrigen auch nicht.
Zitat:

but we will continue to support existing usages for the indefinite future.
Es geht/ging mir ja auch nicht darum, mit der Bibliothek dem neusten Trend von Mircrosoft hinterher zu laufen.

@Der schöne Günther:
Vielen Dank! :-D

bernau 27. Jun 2023 09:00

AW: Konsolenanwendung - crt.pas - Console Library
 
So eine CRT-Unit wünsche ich mir für die Linux-Console.

Auf meine Linux-Server im RZ melde ich mich über Putty auf die Console an. Nutze z.B. dort den Midnight-Commander (mc). Würde mir gerne ein paar Tools schreiben, die sich wie der MC bedienen lassen. Kennt sich jemand damit aus?

Bbommel 27. Jun 2023 09:15

AW: Konsolenanwendung - crt.pas - Console Library
 
Zitat:

Zitat von bernau (Beitrag 1523785)
Auf meine Linux-Server im RZ melde ich mich über Putty auf die Console an. Nutze z.B. dort den Midnight-Commander (mc). Würde mir gerne ein paar Tools schreiben, die sich wie der MC bedienen lassen. Kennt sich jemand damit aus?

"Auskennen" wäre etwas übertrieben formuliert, weil es auch schon lange her ist, dass ich das mal gebraucht hatte. Aber das Stichwort, um so etwas unter Linux zu erreichen ohne alles neu zu erfinden, ist "ncurses". Emba liefert für ncurses leider offenbar standardmäßig keine passende Bibliothek mit, aber hier hat sich offenbar schon mal jemand die Mühe gemacht, einen passenden Wrapper zu schreiben. Wäre ja zumindest mal ein erster Ansatz, das zu testen.

Und: Respekt an die Arbeit für die crt.pas! Müsste mal gucken, ob mein Vokabeltrainer aus Schulzeiten noch funktioniert. ;-)

Andreas13 27. Jun 2023 09:26

AW: Konsolenanwendung - crt.pas - Console Library
 
Hallo Wolfgang,
zunächst vielen Dank für Deine Mühe & die Console Library! :thumb:
Bei mir beschwert sich allerdings mein etwas betagter XE5-Compiler:
Zeile 254:
class operator Equal(Lhs, Rhs: TCoord) : Boolean;
[dcc32 Fehler] Ply.Types.pas(254): E2123 PROCEDURE, FUNCTION, PROPERTY oder VAR erwartet

Ab welcher Delphi-Version ist die Console Library verwendbar?

himitsu 27. Jun 2023 10:12

AW: Konsolenanwendung - crt.pas - Console Library
 
"class operator" eigentich schon seit D2006. :gruebel:

dummzeuch 27. Jun 2023 11:40

AW: Konsolenanwendung - crt.pas - Console Library
 
Zitat:

Zitat von bernau (Beitrag 1523785)
So eine CRT-Unit wünsche ich mir für die Linux-Console.

Auf meine Linux-Server im RZ melde ich mich über Putty auf die Console an. Nutze z.B. dort den Midnight-Commander (mc). Würde mir gerne ein paar Tools schreiben, die sich wie der MC bedienen lassen. Kennt sich jemand damit aus?

Es gab sowas mal für Perl (bzw. gibt es vermutlich noch). Aber ich vermute, das ist nicht die Programmiersprache, für die Du das suchst. ;-)

bernau 27. Jun 2023 11:51

AW: Konsolenanwendung - crt.pas - Console Library
 
Zitat:

Zitat von Bbommel (Beitrag 1523786)
Wäre ja zumindest mal ein erster Ansatz, das zu testen.

Ja cool. Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr.
Seite 1 von 5  1 23     Letzte »    

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