AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie kann ich ein Return aus Memo entfernen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich ein Return aus Memo entfernen?

Ein Thema von geronilsmo · begonnen am 14. Apr 2004 · letzter Beitrag vom 14. Apr 2004
Antwort Antwort
Benutzerbild von geronilsmo
geronilsmo

Registriert seit: 31. Mär 2004
Ort: Oldenburg in Holstein
7 Beiträge
 
Delphi 7 Architect
 
#1

Wie kann ich ein Return aus Memo entfernen?

  Alt 14. Apr 2004, 09:30
Hallo und Hilfe!

Ich habe eine Anwendung, bei der sich auf der linken Fensterseite eine TMemo befindet,
in die der Anwender ein Sql-Statement eingeben kann.
Auf der rechten Seite wird dann das Ergebnis angezeigt.

Nun soll die Query gestartet werden wie beim TOAD (Tool for Oracle Application Developer),
d.h.: entweder mit F9 oder [Shift]+[Return] (ursprünglich [Strg]+{Return], aber egal!).

Mein Problem:
im Memo erzeugt der Return eine neue Zeile, bzw. wenn das Statement selektiert ist,
wird es durch die Return-Eingabe überschrieben.

Wie kann ich das verhindern?

Habe schon im KeyDown bzw. KeyUp-Event herumprobiert, aber keinen Erfolg gehabt.

Delphi-Quellcode:
procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  IF ( Key = VK_F9 )
  OR ( ( Shift = [ssShift] ) AND ( Key = VK_RETURN ) ) THEN
  BEGIN
      IF ( ( Shift = [ssShift] ) AND ( Key = VK_RETURN ) ) THEN
          // wie bekommt man nachtraeglich den Return wieder
          // aus dem Memo-Feld heraus ???
          Key := VK_BACK; // Backspace fuehrt nicht zum gewuenschten Ergebnis

      // Routine zum Ausfuehren des SQL-Statements von Memo1
      Form1.ExecSql;
  END;
end;
Was mach ich falsch?

Gruß
Gero
die klage ist der gruss des kaufmanns

Freundschaft!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Wie kann ich ein Return aus Memo entfernen?

  Alt 14. Apr 2004, 09:56
Di könntest ja mitIF ( ( Shift = [ssShift] ) AND ( Key = VK_RETURN ) ) THEN Key := 0; den Zeilenumbruch unterdrücken.


Wenn überhaupt keine Zeilenumbrüche in den Text reinsollen, dann könntest du ja auch die Eigenschaft WantReturns des Memo's auf False setzen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Tryer

Registriert seit: 16. Aug 2003
200 Beiträge
 
#3

Re: Wie kann ich ein Return aus Memo entfernen?

  Alt 14. Apr 2004, 10:27
Das 'Return' lässt sich in OnKeyPress unterdrücken:
Delphi-Quellcode:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = Char(VK_RETURN)) and (GetKeyState(VK_SHIFT) < 0) then
  begin
    Key := #0;
    // DoSomething;
  end;
end;
Der Druck auf 'F9' ruft kein OnKeyPress hervor, dessen Behandlung ist also in OnKeyDown gut aufgehoben.

MfG,
Tryer
  Mit Zitat antworten Zitat
Benutzerbild von geronilsmo
geronilsmo

Registriert seit: 31. Mär 2004
Ort: Oldenburg in Holstein
7 Beiträge
 
Delphi 7 Architect
 
#4

Re: Wie kann ich ein Return aus Memo entfernen?

  Alt 14. Apr 2004, 10:59
Hallo zusammen.

Ich danke Euch. Problem geloest.

himitsu: funzt leider nicht - hatte ich schon versucht. Dropsden Danke

tryer: Excellent. Shift+Return im KeyPress, F9 im Up - laeuft.

gero
die klage ist der gruss des kaufmanns

Freundschaft!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Wie kann ich ein Return aus Memo entfernen?

  Alt 14. Apr 2004, 11:33
Ist schon OK - aber wenn du 'ne Taste unterdrücken willst, dann macht sich Key := 0 (in OnKeyUp und OnKeyDown) und Key := #0 (in OnKeyPress) besser.

Ich hatte nur vergessen, das Return und einiges andere nicht über OnKeyUp und OnKeyDown geblockt werden können
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 15:33 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