AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

Ein Thema von PeterPanino · begonnen am 13. Dez 2010 · letzter Beitrag vom 22. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#1

Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 01:17
Hallo,

ich benötige ein mehrzeiliges TEdit, d.h. ein TEdit mit WordWrap, wobei der umgebrochene Text natürlich kein LineBreak (#13#10) enthalten soll.

Da ich keine entsprechende Komponente gefunden habe, habe ich versucht, eine solche mit einem TMemo zu simulieren, bei dem das Einfügen eines LineBreak verhindert wird:
Delphi-Quellcode:
mmo1.WordWrap := True;

procedure TForm1.mmo1Change(Sender: TObject);
var
  CP: Integer;
begin
  if Pos(#13#10, mmo1.Text) > 0 then
  begin
    CP := mmo1.SelStart;
    mmo1.Text := StringReplace(mmo1.Text, #13#10, '', [rfReplaceAll]);
    mmo1.SelStart := CP - 2;
  end;
  mmo1.Width := mmo1.Width + 1;
  mmo1.Width := mmo1.Width - 1;
end;
Das ist aber nur ein umständlicher Workaround. Hat jemand eine bessere Idee?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 01:34
Benutze visuelle Komponenten nicht zur Datenhaltung. Wenn du den Text ohne Zeilenumbrüche brauchst nimm eine normale Variable vom Typ String.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 01:41
Ich brauche das nicht zur Datenhaltung, sondern der User soll das zur Dateneingabe benutzen.

LG
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 01:50
Dann ist es doch egal. Er guckt sich die Daten nur an und bei einem Zeilenumbruch sieht man ja nicht die Steuerzeichen. Deswegen verstehe ich jetzt nicht, was du willst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 01:58
Deswegen verstehe ich jetzt nicht, was du willst.
Verhindern, dass der User ein LineBreak eingibt.
  Mit Zitat antworten Zitat
Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 10. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#6

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 02:12
Delphi-Quellcode:
procedure TSchöneForm.SchönesMemoKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = Chr(VK_RETURN) then
    Key := #0;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 02:56
Entferne doch die Zeilenumbrüche wieder, wenn du die Daten weiterverarbeitest.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 07:04
Was Luckie meint,

wäre z.B. sowas...

http://www.delphipraxis.net/17346-wi...-loeschen.html

zu diesem Thema findest Du hier im Forum viel Beiträge.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 09:01
Delphi-Quellcode:
procedure TSchöneForm.SchönesMemoKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = Chr(VK_RETURN) then
    Key := #0;
end;
Danke, das funktioniert aber nicht beim Einfügen aus der Zwischenablage - deswegen habe ich ja OnChange verwendet.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Mehrzeiliges TEdit bzw. LineBreak in TMemo verhindern?

  Alt 13. Dez 2010, 09:03
Verhindern, dass der User ein LineBreak eingibt.
Das war etwas ungenau ausgedrückt. Das trifft es besser:

Ein TEdit mit WordWrap oder ein Verfahren, das ein solches simuliert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:24 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