AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Überschreib-Funktion von Zeichen im TEdit-Feld
Thema durchsuchen
Ansicht
Themen-Optionen

Überschreib-Funktion von Zeichen im TEdit-Feld

Ein Thema von Ginko · begonnen am 24. Okt 2009 · letzter Beitrag vom 25. Okt 2009
Antwort Antwort
Seite 2 von 3     12 3      
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#11

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 20:25
Ja genau so meinte ich es wie fkerber es schreibt. Also genau wie wenn man in Delphi mal ausversehen auf die "Einfg" Taste kommt und alles beim Tippen überschrieben wird und man sich furchtbar aufregt...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#12

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 20:31
Achso. Neue Idee:Edit1.Text := Copy(Edit1.Text, 1, Edit1.SelStart) + Key + Copy(Edit1.Text, Edit1.SelStart + 1, Length(Edit1.Text));
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 20:42
Mit SelStart bekommt man nur die Position wenn ein Zeichen auch selektiert ist, klappt also nicht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#14

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 20:43
Sicher? Ich hab gerade kein Delphi zur Hand, aber war der Meinung, dass man damit die Cursorposition innerhalb des Edits bekommt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#15

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 20:45
Ja sicher habs getestet ohne das was markiert ist steht SelStart immer auf der Endnummer des Strings, also auf Length(Edit1.Text).
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 20:48
Auch, wenn Du vorher mal die "Pos1" bzw. "HOME"-Taste drückst?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#17

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 20:55
Nein bringt auch nix, ich denk nochmal drüber nach

Hab es, es ist doch einfacher als ich dachte trotzdem danke :

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  keybd_event(VK_DELETE, 0, 0, 0);
  keybd_event(VK_DELETE, 0, KEYEVENTF_KEYUP, 0);
end;

das wars schon...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#18

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 21:00
Das wäre durch Einfügen und Löschen aber auch gegangen, statt in den Tastaturpuffer zu schreiben. Aber meinetwegen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
24. Okt 2009, 21:19
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "VCL / WinForms / Controls" verschoben.
Scheint eine VCL-Frage zu sein
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#20

Re: Überschreib-Funktion von Zeichen im TEdit-Feld

  Alt 24. Okt 2009, 23:12
Hallo,
Zitat von Ginko:
Ja sicher habs getestet ohne das was markiert ist steht SelStart immer auf der Endnummer des Strings, also auf Length(Edit1.Text).
dann war Dein Testansatz falsch

Der imho beste Weg das Überschreiben zu realisieren, ist es in OnKeyDown eine entsprechende Selektion vorzunehmen:
Delphi-Quellcode:
if (Key > 31) and (Edit.SelLength = 0) then
  Edit.SelLength := 1;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 02:06 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