AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VCL - spezielles Edit gesucht

Ein Thema von TurboMagic · begonnen am 27. Mai 2019 · letzter Beitrag vom 30. Mai 2019
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#1

VCL - spezielles Edit gesucht

  Alt 27. Mai 2019, 19:59
Hallo,

suche ein Tokyo kompatibles Edit mit
folgenden Fähigkeiten:
  • es soll immer im Überschreiben Modus sein
  • die Rücktaste muss deaktiviert werden können
    oder kein Zeichen löschen
  • es soll eine feste Textlänge (32 oder 64) definiert
    werden können
  • eingegebene Zeichen sollen gefiltert werden können
    um in einem Fall nur Hex Zeichen zu akzeptieren
  • Es soll im OnExit nicht meckern, wenn weniger als
    die maximale Zeichen Zahl eingegeben wurde
  • Vorzugsweise kostenlos aber nicht Voraussetzung

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: VCL - spezielles Edit gesucht

  Alt 27. Mai 2019, 22:41
Ich glaube kaum, dass es eine TEdit Komponente gibt, die dir genau das bietet. Aber mal ehrlich. Die Funktionen hast du doch in nicht mal einer Stunde mit einem normalen TEdit selbst programmiert.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#3

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 05:38
Wenn du mir sagst wie...
Habe im Keypressednach vkBack geschaut
und wenn gedrückt key auf #0
gesetzt, hat aber trotzdem
Zeichen gelöscht
  Mit Zitat antworten Zitat
jziersch

Registriert seit: 9. Okt 2003
Ort: München
240 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 06:10
Mit einem MaskEdit sollte sich das eigentlich realisieren lassen.

Für die Sondertasten abfrage musst Du OnKeyUp und OnKeyDown überschreiben.
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#5

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 07:28
Mit einem MaskEdit sollte sich das eigentlich realisieren lassen.

Für die Sondertasten abfrage musst Du OnKeyUp und OnKeyDown überschreiben.
Hallo,

TMaskEdit habe ich schon ausprobiert. Wird zuweing eingegeben gibt es immer eine
Ferhlermeldung im OnExit, ohne , dass ich vorher eingreifen konnte.

Ich werde aber Mal TEdit mit OnKeyDown/KeyUp statt KeyPressed ausprobieren.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#6

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 07:45
Hallo,

Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftSTate);
begin
  if Key = vk_Back then
    Key := 0;
end;
Das funktioniert nicht auch nicht im OnKeyUp.
Die Zeile mit der Zuweisung wird zwar erreicht (Breakpoint zeigt das), das
eingegebene Zeichen wird aber trotzdem gelöscht.

Und wie ich ein Edit dauerhaft in Überschreibenmodus umstelle, weiß ich auch noch nicht.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 07:52
.. das hilft Dir nicht? -> http://www.delphigroups.info/2/be/163347.html

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
721 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 08:49
Hast du's mit OnKeyPress versucht? Zum Beispiel so:

Delphi-Quellcode:
procedure TForm103.Edit1KeyPress(Sender: TObject; var Key: Char);
var cursorpos : integer;
begin
  // Filter:
  if not ( key in ['0'..'9', 'A'..'F', 'a'..'f'] ) then
  begin
    key := #0;
    exit;
  end;

  // Überschreibmodus:
(PeterBelow macht das in #9 [unten] viel besser ;-))
  cursorpos := Edit1.SelStart + Edit1.SelLength;
  if cursorpos < length(edit1.text) then Edit1.Text := Copy(Edit1.Text,1,cursorpos) +
  Copy(Edit1.Text,cursorpos+2,maxint);
  Edit1.SelStart := cursorpos;
end;
Michael Gasser

Geändert von Michael II (28. Mai 2019 um 11:17 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 10:12
Hallo,

suche ein Tokyo kompatibles Edit mit
folgenden Fähigkeiten:
Gehen wir mal der Reihe nach durch. Leider sind die Sepzifikationen, wie üblich, ziemlich unvollständig .
  • es soll immer im Überschreiben Modus sein

Das läßt sich erreichen, wenn man in OnKeyPress SelLength auf 1 setzt, wenn das Zeichen kein Steuerzeichen ist, SelLength nicht 0 ist und SelStart nicht gleich GetTextLength ist.
  • die Rücktaste muss deaktiviert werden können oder kein Zeichen löschen

Wie sieht es mit anderen Tasten aus, die auch Zeichen löschen? Entf, Strg-X? Wie mit Einfügen aus der Zwischenablage?
  • es soll eine feste Textlänge (32 oder 64) definiert werden können

TEdit hat eine Eigenschaft MaxLength, die man entspreched setzen kann.
  • eingegebene Zeichen sollen gefiltert werden können um in einem Fall nur Hex Zeichen zu akzeptieren

Das geht in OnKeyPress. Auch hier stellt sich die Frage, wie man Einfügen aus der Zwischenablage behandeln soll.
  • Es soll im OnExit nicht meckern, wenn weniger als die maximale Zeichen Zahl eingegeben wurde

Das ist der Default, da muss man nichts programmieren.
  • Vorzugsweise kostenlos aber nicht Voraussetzung

Selber machen kostet nix

Ich habe gerade ein Bißchen Zeit und werde mal sehen, was ich da zusammenschrauben kann.
Peter Below
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#10

AW: VCL - spezielles Edit gesucht

  Alt 28. Mai 2019, 10:49
Hallo,

das ermöglich zumindest dauerhaft Überschreibmodus zu aktivieren
und auch vk_delete kann im OnKeyDown gefiltert werden, nur vk_Back Filterung wird dort
ignoriert.

Danke schon mal für diese teilweise Hilfe!

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 10:15 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