AGB  ·  Datenschutz  ·  Impressum  







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

Memo Feld Eingabe

Ein Thema von renekr · begonnen am 1. Nov 2006 · letzter Beitrag vom 1. Nov 2006
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Memo Feld Eingabe

  Alt 1. Nov 2006, 10:11
Hallo,
Ich häng grad an einem Memo Feld und zwar will ich gerne folgendes machen:

Wenn der User Eingibt : '--' soll eine Meldung kommen.

Nun ist meine Frage.
Bei OnKeyPress kann ich ja auf das aktuell eingegebene Zeichen reagieren,aber wie ist es oder mache ich es in Verbindung mitdem letzten Zeichen?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Memo Feld Eingabe

  Alt 1. Nov 2006, 10:12
Merk dir doch das letzte Zeichen und dann vergleichst du, ob das aktuelle und das gemerkte deinen Kriterien entspricht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Memo Feld Eingabe

  Alt 1. Nov 2006, 10:16
Hi,
Danke das wäre ne Idee,aber sowas wie memo1.text -1 gibt es nciht ,oder?

Also ich kann ja im Memo nicht rausfinden ob er an Position 3 oder 6 steht mit der eingabe?

Weil ich will ev. das man auf der Meldung ja nein, und dann werden die Letzten 2 Zeichen gelöscht,
Oder wenn diese nciht am Anfang einer Line sind.


danke
  Mit Zitat antworten Zitat
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Memo Feld Eingabe

  Alt 1. Nov 2006, 10:35
Zitat von renekr:
Hi,
Danke das wäre ne Idee,aber sowas wie memo1.text -1 gibt es nciht ,oder?
doch fast:

Delphi-Quellcode:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = '-')
  and (Memo1.Text[Memo1.SelStart] = '-') then beep;
end;
Hier nur "Memo1.SelStart" (ohne -1), weil der Char ja zu diesem Zeitpunkt noch nicht "dazuaddiert" wurde.
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Memo Feld Eingabe

  Alt 1. Nov 2006, 10:59
Hi,
Danke,aber wenn ich als 1. Zeichen das - eingebe bekomm i ne Zugriffsverletzung.

Kann ich auch Prüfen ob das -- nicht an der 1. Stelle einer Line ist.
Weil mein memo sieht so aus.

------------------

--Test 1 linie
-- 2. Linie
-- 3 Linie

Und wenn dann man wo ein -- eingibt würde ich dieses gerne löschen.die -- am Anfang jeder Linie kommen wenn man Key #13 drückt.also Return.

danke
  Mit Zitat antworten Zitat
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Memo Feld Eingabe

  Alt 1. Nov 2006, 11:28
Zitat von renekr:
...aber wenn ich als 1. Zeichen das - eingebe bekomm i ne Zugriffsverletzung.
ok, kleiner Fehler meinerseits, weil: SelStart ist natürlich 0-basierend, während die .Text-Property ein ganz normaler String ist, also sein erster Char mit [1] beginnt. Von daher sollte es also in etwa so stimmen:

Delphi-Quellcode:
  // wären jetzt gerade 2 '-' -Chars hintereinander?
  if (Key = '-')
  and (Memo1.SelStart > 0)
  and (Memo1.Text[Memo1.SelStart] = '-') then
    // und wenn ja,
    // befinden diese sich NICHT am Text- bzw. an einem Zeilenanfang?
    if (Memo1.SelStart > 1)
    and (Memo1.Text[Memo1.SelStart-1] <> #10) then ....
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Memo Feld Eingabe

  Alt 1. Nov 2006, 13:10
Hi,
Vielen Dank.
Hab es nun hinbekomme.

noch nen Schönen nen Feiertag.
  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:19 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