AGB  ·  Datenschutz  ·  Impressum  







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

GetCursorPos in einem Edit

Ein Thema von BenjaminHelbig · begonnen am 6. Mai 2004 · letzter Beitrag vom 6. Mai 2004
Antwort Antwort
BenjaminHelbig

Registriert seit: 23. Okt 2003
Ort: Mannheim
80 Beiträge
 
Delphi 5 Professional
 
#1

GetCursorPos in einem Edit

  Alt 6. Mai 2004, 15:32
Hi DP'ler,

habe folgendes Problem. Ich möchte in einem TEdit in welches ich automatisch den aktuellen Zeitstempel reinschreiben lasse, verhindern, dass dieser wieder rausgenommen wird. Hinter den Zeitstempel kann der Benutzer noch normalen Text eintragen. Ich will den Zeitstempel aber auch nicht später setzen lassen, da ich verhindern möchte, dass der Benutzer meint er müsse ihn manuell eintragen.
Ich habe jetzt in das On KeyDown Ereignis von dem Edit Feld folgendes eingetragen

Delphi-Quellcode:
if (Key = VK_Delete) or (Key = VK_Back) then
 begin
 end;
So kann ich ja auf Delete und Backspace reagieren. Die länge von einem Zeitstempel beträgt auch immer Datum (10) + Uhrzeit (8) + ein Leerzeichen. Also eine Gesamtlänge von 19. Die ersten 19 Zeichen dürfen also nicht gelöscht werden. Um dieses zu verhindern muss ich aber die Cursorposition in dem Editfeld bekommen. Hat jemand von Euch eine Idee?


Grüßle

Ben
--------
Es ist schon über so viele Dinge Gras gewachsen, dass ich keinem Rasen mehr traue.
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#2

Re: GetCursorPos in einem Edit

  Alt 6. Mai 2004, 15:34
Hi,

die Eigenschaft SelStart sollte dir die Cursorposition in deinem Edit zurückliefern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: GetCursorPos in einem Edit

  Alt 6. Mai 2004, 19:42
Moin Benjamin,

Du könntest auch ein RichEdit dafür missbrauchen.
Hier kannst Du mit dem Attribut Protected (siehe: SelAttributes) einen Text vor Veränderung schützen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#4

Re: GetCursorPos in einem Edit

  Alt 6. Mai 2004, 19:49
Hallo,
versuch es doch mal so:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Edit1Enter(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    FTimeStamp : String;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FTimeStamp:=DateToStr(Now)+' '+TimeToStr(Now)+': ';
  Edit1.Text:=FTimeStamp;
end;

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  Edit1.SelStart:=Length(FTimeStamp);
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  If (Length(Edit1.Text)<Length(FTimeStamp)) or
     (Edit1.SelStart<Length(FTimeStamp)) then
    begin
    Edit1.Text:=FTimeStamp;
    Edit1.SelStart:=Length(FTimeStamp);
    end;
end;

procedure TForm1.Edit1Click(Sender: TObject);
begin
  If Edit1.SelStart<Length(FTimeStamp) then
    Edit1.SelStart:=Length(FTimeStamp);
end;

end.
I come from outer space to save the human race
  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 20:45 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