Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Textcursor (https://www.delphipraxis.net/72890-textcursor.html)

Orhan 10. Jul 2006 17:37

Re: Textcursor
 
Hallo marabu

So habe ich es nicht gemeint.

Ich habe ein Buchstaben Lernprogramm für Kinder gemacht.

Es muss so funktionieren: Z.B. das Wort ''Delphi''. Wenn der Cursor vor dem Buchstaben ''D'' steht,
muss dieser Buchstabe rot werden. Wenn aber der Cursor zum nächsten Buchstaben springt muss der Buchstabe ''e'' rot werden aber der vorherige Buchstabe ''D'' schwarz u.s.w.

Oder ''Wenn der Cursor blinkt wird der Buchstabe z.B. rot und
wenn der Cursor nicht mehr blinkt (verschwindet) wird der Buchstabe wieder schwarz.''

Die Kinder müssen merken, das die roten Buchstaben in der Zeile gelesen werden müssen.

Freundliche Grüße

marabu 10. Jul 2006 18:11

Re: Textcursor
 
Hallo Orhan,

Zitat:

Zitat von Orhan
Wenn der Cursor vor dem Buchstaben ''D'' steht, muss dieser Buchstabe rot werden. Wenn aber der Cursor zum nächsten Buchstaben springt muss der Buchstabe ''e'' rot werden aber der vorherige Buchstabe ''D'' schwarz u.s.w.

genau dieses Verhalten zeigt die Methode MoveCaret() nach meiner letzten Änderung, wenn ich sie in das Beispielprogramm einsetze. Was funktioniert denn bei dir nicht?

Zur generellen Funktionsweise: Würde es nicht ausreichen, wenn der jeweilige Buchstabe hervorgehoben wird? Wozu wird der automatisch bewegte Cursor denn zusätzlich gebraucht?

Zitat:

Zitat von Orhan
Die Kinder müssen merken, das die roten Buchstaben in der Zeile gelesen werden müssen.

Und das bei einer über den Timer fest vorgegebenen Geschwindigkeit? Und wie findet die Erfolgskontrolle statt?

Schöne Programmidee übrigens.

marabu

Namenloser 10. Jul 2006 18:27

Re: Textcursor
 
ich denke auch, dass es problematisch ist, jeden einzelnen buchstaben mit der gleichen geschwindigkeit hervorzuheben.
schließlich liest man normalerweise nicht jeden buchstaben, sondern die einzelnen silben.
Sprich:
Eigentlich müssten silben statt buchstaben markiert werden, und die zu erkennen dürfte knifelig werden :gruebel:

Orhan 11. Jul 2006 11:38

Re: Textcursor
 
Hallo marabu

''Was funktioniert denn bei dir nicht?''
Die Funktion funktioniert wunderbar.

"Der automatisch bewegte Cursor".
Weil die Kinder beim lesen immer wieder auf die rechte Pfeiltaste drücken müssen. Deswegen braucht man den automatisch bewegten Cursor.

Es geht nicht um die ''Geschwindigkeit''. Sondern ich wollte die einzelnen Buchstaben den Kindern farbig verdeutlichen.

Kann man nicht die Buchstaben vor dem automatisch bewegten Cursor farbig kennzeichnen? Ist das möglich?

Vielen Dank für ihre Hilfe!

marabu 11. Jul 2006 12:15

Re: Textcursor
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Orhan,

vielleicht hast du es garnicht bemerkt, aber mein Code in Beitrag #10 ist schon angepasst um die Farben zu wechseln. Du musstest ihn nur noch in das Beispielprojekt an die Stelle der alten Prozedur setzen um deine roten Buchstaben aufleuchten zu sehen. Ich habe das Projekt in geänderter Form nocheinmal für dich angehängt.

Grüße

marabu

RavenIV 11. Jul 2006 12:31

Re: Textcursor
 
Zitat:

Zitat von Orhan
Ich habe ein Buchstaben Lernprogramm für Kinder gemacht.

Die Idee finde ich gut.

hast Du einen Screenshot von Deinem Programm?
Kann man dieses Programm bekommen?

Orhan 11. Jul 2006 22:35

Re: Textcursor
 
Hallo marabu

Du hast recht.

Als erstes möchte ich mich bei dir entschuldigen.
Ich weis nicht wie ich dir danken kann!

Herzlichen Dank! :wall: :-D

Mackhack 12. Jul 2006 06:28

Re: Textcursor
 
Hallo marabu,

kannst du mir mal erklaeren was diese Zeile macht?

Zitat:

Zitat von marabu
Delphi-Quellcode:
iDelta := Ord(forth) shl 1 - 1;
Grüße vom marabu

Vielen Dank!

Ich habe mal eben die Zeile angetestet so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
  iDelta : Integer;
  forth : Boolean;
begin
  iDelta := 0;
  forth := False;
  iDelta := Ord(forth) shl 1 - 1;
  ShowMessage(IntToStr(iDelta));
end;
Wenn forth := True dann ist das Result = 1 wenn False dann -1. Bin aber immer noch net so ganz dahintergestiegen.

marabu 12. Jul 2006 08:12

Re: Textcursor
 
Hi Mackhack,

du hast es eigentlich schon herausgefunden - es handelt sich um eine Abbildungsfunktion f(False) = -1 und f(True) = 1. Ich steuere damit die Bewegung des Carets vorwärts (forth = altenglisch für forward) oder rückwärts (not forth).

Grüße vom marabu

Mackhack 12. Jul 2006 08:15

Re: Textcursor
 
Danke marabu!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz