Autor Beitrag
blattlaus
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 17.01.03 15:02 
hallo, meine frage ist nicht leicht zu stellen, ich hoffe ihr versteht es trotzdem. wenn ich ein eingabefenster mit edit erstelle, ich nun den text eingegeben habe, der länger ist, als das eingabefenster und ich nun die löschtaste drücke, geht der cursor bis an die 5-6 stelle und zeigt den noch zu löschenden text an. das heißt: der cursor geht an die 5-6 stelle lösche den text(cursor geht zur 1. stelle dann wieder an die 5-6 stelle usw.)nachteil ist daher, man weiß nicht wie lang der text eigentlich noch ist, bevor ich an die 1. stelle wieder gelange. meine frage nun:
gibt es eine möglichkeit beim löschen, daß der cursor immer an der letzten stelle im eingabefenster bleibt, und erst dann wieder nach vorne geht, wenn der text kleiner wird als das eingabefenster.
vielen dank fürs verständnis.
ps. noch eine kleine frage: kann man den cursor im eingabefenster ändern, zum beispiel als blinkenden unterstrich, nicht der längsstrich(normal)
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Fr 17.01.03 15:24 
also zum Vertsändins .... der Text den du in ein Edit-Feld eingibst iss länger als das editfeld? unn du weist dann nicht, wie lange der Text ist? den du da eingefügt hast?

ich weis es nicht genau aber kann man nicht bei einem Editfeld auch einen scrollbalken hinmachen??
oder versteh ich dich nun komplett falsch :D

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Fr 17.01.03 15:25 
also zum Vertsändins .... der Text den du in ein Edit-Feld eingibst iss länger als das editfeld? unn du weist dann nicht, wie lange der Text ist? den du da eingefügt hast?

ich weis es nicht genau aber kann man nicht bei einem Editfeld auch einen scrollbalken hinmachen??
oder versteh ich dich nun komplett falsch :D

also wie ka bei ner listbox fsBoth
dann haste horz. und ein vertikaler balken .... weis aber nicht ob das bei nem edit auch geht must du ma versuchen

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 17.01.03 15:48 
Titel: edit
hallo, vielen dank für die antwort, das war aber leider nicht die frage.also nochmal langsam.du hast ein eingabefenster mit edit1 erstellt. nun gebe ich beim laufendem programm einen text ein der länger ist als das eingabefenster, soweit noch klar ?! so, und jetzt drücke ich die löschtaste, der cursor geht bei jedem drücken der löschtaste weiter nach vorne. wenn er an der 1. stelle ist und ich weiter die löschtaste drücke springt der cursor an die 5-6 stelle und zeigt den text an(aber nur 5-6 stellen). ich drücke weiter die löschtaste. der cursor geht wieder nach vorne und an der 1. stelle springt er wieder an die 5-6 stelle.
ich fragte, wie kann ich es programmieren daß der cursor immer an der letzten stelle bleibt, wenn ich die löschtaste drücke, und erst dann weiter nach vorne geht, wenn der text kleiner als das eingabefenster wird.
so, nun dürftest du es eigentlich verstanden haben.
danke im voraus
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 15:54 
ich hab verstanden, wa du meinst, aber meinst du mit der löschen taste die back oder die entf taste?
ich fermute die back
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 17.01.03 15:59 
hallo, ich meine die taste über der return-taste. eine längere taste mit einem pfeil nach links.
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 16:02 
ja, genau die meinte ich auch

ich werde mal probieren, eine lösung zu finden
bis dann
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 16:07 
tut mir leid, hab vorerst nüscht gefunden

da gibt es aber bestimmt eine eigene funktion des edit feldes
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 17.01.03 16:13 
@torsten: wenn Du verstanden hast, was er meint, kannst Du es mir erklären? Vielleicht fällt mir was ein...

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 16:22 
mein name ist torstenheinze und nicht torsten, torsten ist jemand anderes in diesem forum :wink:

ich werde mal ein bild machen, was das problem verdeutlicht, und dann schicke ich dir es mal per email.

oder du startest mal dein delphi und erstellst ein edit.
nun schreibst du einen seeeeeeeeehhr langeeeeeeeeeentest rein.
nun drückst du die backspace taste, und du bemerkst, das der cursor zurückgeht und gleichzeitig die buchstaben löscht, aber dein "blickfeld" das selbebleibt, bis du den anfang deines blickfeldes mit dem cursor überschreitest, dann siehst du 6 buchstaben in dein blickfeld reinragen und das spiel beginnt von forne.

man versteht es nur, wenn man ein edit erstellt, und einen lanngentext eingibt und wieder mit der zurücktaste löscht, du wirst dann schon die frage verstehen
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 17.01.03 17:15 
Hi!

Habe ein bisschen herumprobiert und glaube, dass dies eine gute Lösung ist. Erst habe ich nur das KeyUp-Ereignis verwendet, aber dann funktionierte es nicht, wenn die Backspace-Taste gedrückt blieb. So geht es, glaube ich, ganz gut. Das Application.ProcessMessages habe ich rein gemacht, weil man sonst ein Flackern des Cursors sieht. Kann aber auch sein, dass ich mir das nur eingebildet habe. Einfach mal ausprobieren, ob man das auch weglassen kann.

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
var
  Form1: TForm1;
  backspace : Boolean;

implementation

{$R *.dfm}

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=8 then backspace:=true;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  backspace:=false;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  if backspace then
  begin
    edit1.SelStart:=1;
    edit1.SelStart:=Length(edit1.text);
    Application.ProcessMessages;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  backspace:=false;
end;


MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 17:20 
hey, die lösung ist echt gut, lob :wink:
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 17:21 
das mit dem process message bewirkt auch net viel
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 17.01.03 17:24 
hallo, peter lustig (oder wie du auch immer heißen magst),
erstmal vielen dank für eine lösung, könntest du mir auch netterweise dazu noch antworten, wie ich den cursor im textfeld ändern kann, z.b. in einen blinkenden unterstrich(nicht der normale längsstrich)?
ich besitze delphi 3 und bin auch sehr zufrieden damit, habe auch einige bücher dazu, aber eine lösung niergends zu finden. wo lernt man das denn...oder von welchem buch, deine lösung muß ich erst mal verdauen....
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 17:25 
mache einfach:
edit1.cursor := clmycursor

den musst du vorher einbinden
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 17:29 
die methode die Perter aus der Serie angewendet hat, die kann man auch bei Spielen anwenden, die auf ner delphi-form sind.

ich hab auch an sowas gedacht, doch ich bin net draf gekommen
blattlaus Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Fr 17.01.03 17:34 
hi (hallo hatte ich schon so viele........) :D
erstmal vielen dank für lösungsmöglichkeiten, ich bin euch sehr dankbar, dachte nie, daß mir jemand helfen würde....
daß es auch klappt mit dem forum..alle hochachtung

ich möchte auch die jenigen danken die mir keine lösung bieten konnten....aber ich denke diese frage war jedenfalls eine frage wert, oder ?
man sieht es an den vielen usern, die sich dazu eingeklickt hatten !!
torstenheinze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 461



BeitragVerfasst: Fr 17.01.03 17:39 
Zitat:
aber ich denke diese frage war jedenfalls eine frage wert, oder ?


na sicher war diese frage es wert gestellt zu werden, und außerdem hilft hier jeder jedem. :wink:
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 17.01.03 18:03 
Hi!

Fragen sind es immer Wert gestellt zu werden! Und ich kann mich auch nicht erinnern, dass sich schon jemand damit hier im Forum beschäftigt hat.
Ich war überrascht, dass es noch ein Problem beim Edit-Feld gibt, dass noch nicht besprochen worden bzw. kaum bemerkt worden ist.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".