Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Memo1 feld (https://www.delphipraxis.net/106560-memo1-feld.html)

lbccaleb 12. Jan 2008 20:57

Re: Memo1 feld
 
vllt solltest du noch mal genau erklären was du meinst??!!

also das hier:
Delphi-Quellcode:
procedure TForm1.speedbutton1Click(Sender: TObject);
  begin
    memo1.lines.text := memo1.lines.text + #13#10;
  end;

//sollte eigentlich den ein "enter" nach deinem text einfügen
aber vllt verstehen wir dich auch nur falsch??


und willst du nur den cursor noch am ende gleich sehen?? dann vllt auch so:

Delphi-Quellcode:
procedure TForm1.speedbutton1Click(Sender: TObject);
var
carpos: tpoint;
  begin
    memo1.lines.text := memo1.lines.text + #13#10; //fügt nach dem text ein "enterzeichen" ein
    memo1.SetFocus; //setzt den focus wieder auf memo

    carpos.x := 0; //setzt die variable carpos.x auf den zeilenanfang im memo
    carpos.Y := memo1.Lines.Count; //setzt die variable carpos.y auf das memo text ende
    memo1.CaretPos := carpos; //weißt dem memo cursor die variable carpos zu
  end;
edit:
beschreibung eingefügt

Bernhard Geyer 12. Jan 2008 21:02

Re: Memo1 feld
 
Zitat:

Zitat von Blackheart
Selstart

Stimmt :wall: SelStart ist das Zauberwort.

lbccaleb 12. Jan 2008 21:05

Re: Memo1 feld
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Blackheart
Selstart

Stimmt :wall: SelStart ist das Zauberwort.

selstart setzt den cursor aber nicht ans ende sondern an start ;-)
und auch das focus aufs memo wird damit nicht gesetzt!!

mfg

Blackheart 12. Jan 2008 21:07

Re: Memo1 feld
 
Delphi-Quellcode:
Memo1.SelStart:=Length(Memo1.Text)-1;

DeddyH 12. Jan 2008 21:08

Re: Memo1 feld
 
Zitat:

Zitat von lbccaleb
selstart setzt den cursor aber nicht ans ende sondern an start

SelStart setzt den Cursor an die zugewiesene Position. Und ein Memo1.SetFocus ist ja auch schnell getippt ;)

B2-STEALTH 12. Jan 2008 21:15

Re: Memo1 feld
 
Hey DeddyH & lbccaleb

Also unsere normale Tastatur die jeder hat: Da schreibt man ein Wort und Drückt auf Eingabe und der Cursor springt ein Reihe Tiefer so.

Ich habe ein ein Memofeld:

Vor dem Memofeld sind 8 Speedbutton jeder der Speedbutton hat diesen Befehl Memo2.Text := Memo2.Text + 'T';
Dazu habe ich einen weiteren Speedbutton gebaut der unsere Reale Eingabetaste ersetzt auf unserer Realen Hardwaretastatur drückt man da drauf springt der Cursor runter. Das gleiche soll im Memofeld der Speedbutton machen.

Man schreibt ein Wort: Hund als Beispiel: Drückt man auf den Speedbutton Enter muß der Cursor eine Reihe weiter runter springen.

[ B2-STEALTH ]

lbccaleb 12. Jan 2008 21:24

Re: Memo1 feld
 
ja schau dir mal den code an den ich vorher gepostet hab, der erledigt dir diese aufgabe ;-)

Blackheart 12. Jan 2008 21:26

Re: Memo1 feld
 
Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  Memo1.SetFocus;
  Memo1.SelStart:=Length(Memo1.Text)+1;
end;

DeddyH 12. Jan 2008 21:28

Re: Memo1 feld
 
Ich bin nicht sicher, ob ich Dich verstanden habe, aber versuch mal dies:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
  s := Memo1.Text;
  Insert(#13#10,s,Memo1.SelStart);
  Memo1.Text := s;
  Memo1.SelStart := Memo1.SelStart + 2;
end;

lbccaleb 12. Jan 2008 21:30

Re: Memo1 feld
 
Zitat:

Zitat von Blackheart
Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  Memo1.SetFocus;
  Memo1.SelStart:=Length(Memo1.Text)+1;
end;

du hast die enterzeile vergessen ;-)


Delphi-Quellcode:
procedure TForm1.SpeedButton1Click(Sender: TObject);
  begin
    memo1.Lines.Text := memo1.Lines.Text + #13#10;
    Memo1.SetFocus;
    Memo1.SelStart:=Length(Memo1.Text)+1;
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.
Seite 2 von 3     12 3      

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