![]() |
Simplen Texteditor als Konsole programmieren
Hi,
ich habe leider keine bessere Forenkategorie für meine Frage gefunden, da es sich um ein Konsolenprogramm handelt, bei dem mir einige Aspekte zur Realisierung nicht ganz klar sind: Ich möchte einen simpeln Texteditor als Konsolenprogramm schreiben (habe noch kein ganzes Jahr Delphi Erfahrung - Schule), mit dem man einen Text schreiben kann, der nach Fertigstellung in einer txt Datei gespeichert wird. Dabei sollte man auch text mit Strg + V einfügen können, wofür ich nach Hilfe aus dem Internet zu diesem Ergebnis gekommen bin (Programm soll zunächst nur in der Lage sein, auf Tastendruck vom Clipboard zu kopieren):
Code:
Ich habe erkannt, das ich auf diese Weise nicht mit der Strg taste arbeiten kann und nach Googlen bin ich auf die onkeydown Funktion gestoßen, mit der man das realisieren können soll, jedoch fand ich nichts über die Parameter der Funktion, weiß also nicht wie ich sie verwenden kann.
program clip;
{$APPTYPE CONSOLE} uses SysUtils, Windows, crt32, Clipbrd; var s: string; c: char; begin c:=readkey; if (ord(c)=22) // Strg-Taste then if (c='v') or (c='V') then if Clipboard.HasFormat(CF_TEXT) then begin s:= Clipboard.AsText; writeln(s); end else writeln('Clipboard leer oder kein Text'); readln; end. Kann mit jemand damit helfen - ich möchte realisieren, dass der Druck von Strg + V die Zwischenablage in das Konsolenfenster einfügt! Mfgn7 |
Re: Simplen Texteditor als Konsole programmieren
Halbwissen: Ist die Control-Taste nicht ein Steuerzeichen? Steuerzeichen produzieren 2 Byte im Tastaturpuffer: 1. Byte ist = #0 und 2. Byte das Steuerzeichen.
(Beantwortet natürlich nicht die Frage :D) |
Re: Simplen Texteditor als Konsole programmieren
Doh...
Aber noch eine Frage: wie kriege ich es hin, dass ich nach dem Springen in eine neue Zeile wieder mit RETURN zurück in die Zeile darüber springen kann? Mfgn7 |
Re: Simplen Texteditor als Konsole programmieren
Wie hast du denn bis jetzt das Editieren realisiert? Weil in einer Konsole kann man (soweit ich weiß) immer nur in der letzten Zeile schreiben. Lediglich Bildschirm löschen würde gehen.
|
Re: Simplen Texteditor als Konsole programmieren
Zitat:
OnKeyDown ist ein Event (Ereignis), dass von VCL Controls aufgerufen wird, wenn diese die entsprechende Message von Windows erhalten. Wenn Du Dich in einer Konsolenanwendung befindest, dann hast Du logischerweise keine Fenster, also auch keine Windows-Messages und somit auch keine OnWasAuchImmer Ereignisse die irgendwie mit Benutzereingaben zu tun haben. |
Re: Simplen Texteditor als Konsole programmieren
Zitat:
|
Re: Simplen Texteditor als Konsole programmieren
Zitat:
Dir fehlt zunächst die Kontrolle über das Ausgabefenster. Du kannst Text mit writeln ausgeben aber weder die Ausgabeposition noch die Farbe steuern. Es gibt zwar Units, mit denen man dies tun kann: ![]() aber das ist ein richtiges Gef....! |
Re: Simplen Texteditor als Konsole programmieren
Danke für die Antworten.
|
Re: Simplen Texteditor als Konsole programmieren
Zitat:
ist zwar in Vergessenheit geraten, aber das gab es alles schon unter DOS. Die Esc-Sequenzen für Cursor, Farben usw. waren so gut genormt, dass man wie mit Windows arbeiten konnte, eben nur mit einer Schriftgrösse. Mit einer DOS-ähnlichen ANSI-Steuerung oder mit einer Terminalemulation (VT100) kein Problem, ist nur die Frage, wofür sich das lohnen soll. Gruss Reinhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz