AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TDBmemo einfügen geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

TDBmemo einfügen geht nicht

Ein Thema von QuickAndDirty · begonnen am 19. Mai 2008 · letzter Beitrag vom 19. Mai 2008
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#1

TDBmemo einfügen geht nicht

  Alt 19. Mai 2008, 12:38
Datenbank: elevateDB • Version: ? • Zugriff über: native
Hallo,
Bei drücken von F5 soll ganz so wie im Notepad in eine TDBMEMO Komponente bei Cursor ein Datum und eine Uhrzeit eingefügt werden.
Der Cursor soll hinter den eingefügten Text plaziert werden.

Ich mache das so.
Delphi-Quellcode:
procedure Formular.DbMemoKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var s,sdt:string;
begin
  if key = VK_F5 then
  Begin
    s := TdbMemo(Sender).Text;
    sdt := DateTimetoStr(Now);
    system.insert(sdt,s,TdbMemo(Sender).Selstart);
    TdbMemo(Sender).Text := s;
    TdbMemo(Sender).Selstart := TdbMemo(Sender).Selstart+length(sdt);
  end;
end;
Ich weiß warum das nicht geht. (TdbMemo.Fdatalink.Edit wird nicht gefeuert)
Aber ich weiß nicht wie ich mache das es geht.

Das Symptom:
Wenn F5 getdrückt wird passiert genau was ich will!!!
Wird Anschließend Return gedrückt verschwindet der Text und das Return passiert da wo der Cursor vor dem F5 stand.

Wie mache ich es besser.
Direkt in die Tabelle schreiben? Aber das hilft mir dann immer noch nicht mit dem cursor
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#2

Re: TDBmemo einfügen geht nicht

  Alt 19. Mai 2008, 12:56
OK, sorry problem gelöst hatte ein Brett vorm Kopf
Delphi-Quellcode:
procedure Formular.DBMemoKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
var s,sdt:string;
begin
  if key = VK_F5 then
  Begin
    s := TdbMemo(Sender).Text;
    sdt := DateTimetoStr(Now);
    system.insert(sdt,s,TdbMemo(Sender).Selstart);
    TdbMemo(Sender).autodisplay := false;
    tabelle.edit;
    tabelle.FieldByName(TdbMemo(Sender).Field.Fieldname).asstring := s;
    tabelle.post;
    TdbMemo(Sender).Loadmemo;
    TdbMemo(Sender).autodisplay := true;
    TdbMemo(Sender).Selstart := TdbMemo(Sender).Selstart+length(sdt);
  end;
end;
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: TDBmemo einfügen geht nicht

  Alt 19. Mai 2008, 12:59
Hi,

das geht auch mit weniger Code:

Delphi-Quellcode:
procedure TDemoForm.DBMemoKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_F5 then
    with Sender as TDBMemo do
    begin
      Key := 0;
      DataSource.Edit;
      SelText := DateTimeToStr(Now);
    end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#4

Re: TDBmemo einfügen geht nicht

  Alt 19. Mai 2008, 13:27
Danke,
sieht ja echt sexy aus der code.
Andreas
Monads? Wtf are Monads?
  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 00:54 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