AGB  ·  Datenschutz  ·  Impressum  







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

Edit.text 5 mal Blinken lassen

Ein Thema von Natcree · begonnen am 20. Feb 2014 · letzter Beitrag vom 20. Feb 2014
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 11:59
Wozu eigentlich eine Stringliste? Ich würde das ungefähr so angehen:
Delphi-Quellcode:
type
  TfrmBlinkDemo = class(TForm)
    edtBlink: TEdit;
    tmrBlink: TTimer;
    btnBlink: TButton;
    procedure tmrBlinkTimer(Sender: TObject);
    procedure btnBlinkClick(Sender: TObject);
  private
    { Private-Deklarationen }
    FOriginalString: string;
    FCounter: integer;
    procedure Blink;
  public
    { Public-Deklarationen }
  end;

...

const
  BLINKCOUNT = 5;

{ TfrmBlinkDemo }

procedure TfrmBlinkDemo.Blink;
begin
  FCounter := 0;
  FOriginalString := edtBlink.Text;
  tmrBlink.Enabled := true;
end;

procedure TfrmBlinkDemo.btnBlinkClick(Sender: TObject);
begin
  Blink;
end;

procedure TfrmBlinkDemo.tmrBlinkTimer(Sender: TObject);
begin
  inc(FCounter);
  if Odd(FCounter) then
    edtBlink.Text := ''
  else
    edtBlink.Text := FOriginalString;
  if FCounter >= BLINKCOUNT * 2 then
    tmrBlink.Enabled := false;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#12

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:01
Und seit 2009 kann man auch alles in Chinesisch schreiben, womit man dann mehr als nur 26 "Namen" zur Verfügung hat.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#13

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:01
lol Danke immer diese iron.......... .

Noch ne andere Frage

Ich erstelle in der FORM3 20 TEDIT Komponenten.
nun sollen diese bei keypress die Timer Komponenten auslösen

Delphi-Quellcode:
procedure TForm3.SpielerKeyPress(Sender: TObject; var Key: Char);
var
Spieler:TEdit;
begin
    Spieler:=TEdit(Sender);
    st:=Tstringlist.Create;
    st.Add(Spieler.text);
    if Key = #13 then
    begin
    key := #0;//schalt sound ab
    Timer1.Interval := 500;
    timer1.Enabled:=true;
    end;
end;
Delphi-Quellcode:
procedure TForm3.Timer1Timer(Sender: TObject);
begin
//habe es hier auch schon mit Spieler:=TEDIT(Sender)( versucht) und edit1 mit Spieler ersetzt
//klappt aber nicht
if Edit1.Text = st.Strings[0] then Edit1.text := ''  else
if Edit1.text = ''            then Edit1.Text := st.Strings[0];
timer1.Tag := Timer1.tag+1;
if timer1.Tag = strtoint(st.strings[0])*2 then timer1.Enabled := false;
end;
Wie Übergebe ich hier Statt edit1.text den sender der den Timer ausgelöst hat?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#14

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:09
Indem du dir den "Sender" merkst?

Zitat:
Delphi-Quellcode:
procedure TForm3.Timer1Timer(Sender: TObject);
begin
//habe es hier auch schon mit Spieler:=TEDIT(Sender)( versucht) und edit1 mit Spieler ersetzt
Kein Wunder.

Rate mal, wer dieses Ereignis auslöst und demnach in diesem Sender drin steht?

ShowMessage((Sender as TComponent).Name); .

Wenn du dir nicht sicher bist, daß der Typ stimmt, dann verwende niemals harte Konvertierungen ala TTyp(...) , sondern nur weiche Konvertierungen ala (... as TTyp)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Feb 2014 um 12:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:10
Selber merken? Und ist Dir aufgefallen, dass Du bei jedem Tastendruck eine neue Stringliste erzeugst, die nirgends freigegeben wird?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:18
Wenn ich das richtig verstanden habe: Deine Edits teilen sich alle den gleichen Handler (SpielerKeyPress). Jetzt möchtest du mit dem jeweiligen Edit direkt bei Tastendruck einmal direkt machen, was der Timer normalerweise periodisch macht, oder erst beim nächsten Timer-Tick?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:25
Wenn ich den Code richtig verstehe, soll mit einem "RETURN" im jeweiligen Edit der Timer aktiviert werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#18

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:36
Zitat:
Wenn ich den Code richtig verstehe, soll mit einem "RETURN" im jeweiligen Edit der Timer aktiviert werden.
Ja so ist es gemeint.

Habe jetzt den Sender in stringlist gespeichert.

und will ihm im Timer wieder nutzen

Delphi-Quellcode:
procedure TForm3.Timer1Timer(Sender: TObject);
var
Spieler:TEdit;
begin
Spieler.name:=st.strings[1];
if Spieler.Text = st.Strings[0] then Spieler.text := ''  else
if Spieler.text = ''            then Spieler.Text := st.Strings[0];
timer1.Tag := Timer1.tag+1;
if timer1.Tag = strtoint(st.strings[0])*2 then timer1.Enabled := false;
end;

Er gibt mir aber fehler aus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:41
Natürlich, denn Du tust nicht das, was Du eigentlich meinst. Im Moment weist Du der Eigenschaft Name der nicht erzeugten Instanz Spieler einen Wert zu, möchtest aber doch eigentlich die Instanz ermitteln, die den Namen hat. Das ginge z.B. mit FindComponent oder FindControl, aber ich würde mir überlegen, wieso man den Namen speichern sollte, wenn man sich auch die Instanz selbst merken kann.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#20

AW: Edit.text 5 mal Blinken lassen

  Alt 20. Feb 2014, 12:43
Zitat:
wenn man sich auch die Instanz selbst merken kann.
Wie mache ich das?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 23:58 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