AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Simplen Texteditor als Konsole programmieren
Thema durchsuchen
Ansicht
Themen-Optionen

Simplen Texteditor als Konsole programmieren

Ein Thema von Delphi_gn7 · begonnen am 21. Mai 2009 · letzter Beitrag vom 28. Mai 2009
Antwort Antwort
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#1

Simplen Texteditor als Konsole programmieren

  Alt 21. Mai 2009, 16:14
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:
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.
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.

Kann mit jemand damit helfen - ich möchte realisieren, dass der Druck von Strg + V die Zwischenablage in das Konsolenfenster einfügt!

Mfgn7
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von BackOrifice
BackOrifice

Registriert seit: 6. Jun 2005
74 Beiträge
 
Delphi 2007 Architect
 
#2

Re: Simplen Texteditor als Konsole programmieren

  Alt 21. Mai 2009, 16:20
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 )
Henning
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#3

Re: Simplen Texteditor als Konsole programmieren

  Alt 26. Mai 2009, 14:20
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
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jakob Ullmann
Jakob Ullmann

Registriert seit: 17. Feb 2007
218 Beiträge
 
Lazarus
 
#4

Re: Simplen Texteditor als Konsole programmieren

  Alt 26. Mai 2009, 14:36
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.
Jakob
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.610 Beiträge
 
#5

Re: Simplen Texteditor als Konsole programmieren

  Alt 26. Mai 2009, 14:38
Zitat von Delphi_gn7:
nach Googlen bin ich auf die onkeydown Funktion gestoßen, mit der man das realisieren können soll
... aber nicht kann. Zumindest nicht in Deinem Anwendungsfall.

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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Simplen Texteditor als Konsole programmieren

  Alt 26. Mai 2009, 14:39
Zitat von Delphi_gn7:
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
Bitte erstell für eine neue Frage einen neuen Thread.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Simplen Texteditor als Konsole programmieren

  Alt 26. Mai 2009, 15:09
Zitat von Delphi_gn7:
Ich möchte einen simpeln Texteditor als Konsolenprogramm schreiben
Damit bist du eigentlich schon zum Scheitern verurteilt.
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:
http://www.swissdelphicenter.ch/de/showcode.php?id=1941
aber das ist ein richtiges Gef....!
Andreas
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#8

Re: Simplen Texteditor als Konsole programmieren

  Alt 27. Mai 2009, 20:09
Danke für die Antworten.
Andreas
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#9

Re: Simplen Texteditor als Konsole programmieren

  Alt 28. Mai 2009, 13:27
Zitat von shmia:
Damit bist du eigentlich schon zum Scheitern verurteilt.
Dir fehlt zunächst die Kontrolle über das Ausgabefenster.
Du kannst Text mit writeln ausgeben aber weder die Ausgabeposition noch die Farbe steuern.
...
Hallo,

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
  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 23:01 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