AGB  ·  Datenschutz  ·  Impressum  







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

Label => "Change"

Ein Thema von Tommy1988 · begonnen am 29. Jul 2007 · letzter Beitrag vom 9. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
Tommy1988
(Gast)

n/a Beiträge
 
#1

Label => "Change"

  Alt 29. Jul 2007, 12:15
Hallo alle.

Ein Edit hat eine "Change" eingeschaft.

Kann man soetwas "indirekt" auch irgentwie mit einem Label veranschaulichen?

Ich habe einen Timer der überprüfen sollte ob das Caption eines Labels sich ändert.
Nur habe ich keine Ahnung wie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Label => "Change"

  Alt 29. Jul 2007, 12:17
Merke dir doch den Inhalt und überprüfe den mit dem aktuellen.
Markus Kinzler
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#3

Re: Label => "Change"

  Alt 29. Jul 2007, 12:18
mhh.. ich probiers grade mal
Edit:

Hab nen kleinen Hänger, deswegen ist die Zeile X so doof:

Delphi-Quellcode:
if OldString = OldString then // Zeile X
 begin
  // Zeile Y , nix tun weil OldString immernoch gleich OldString ist
 end else
  begin
  ListBox1.Items.Add(OldString) // Das hier könnte ja wenn Zeile X nicht doof wär bei zeile Y stehen
  end;
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Label => "Change"

  Alt 29. Jul 2007, 12:37
Zitat von Tommy1988:
mhh.. ich probiers grade mal
Edit:

Hab nen kleinen Hänger, deswegen ist die Zeile X so doof:

Delphi-Quellcode:
if OldString = OldString then // Zeile X
 begin
  // Zeile Y , nix tun weil OldString immernoch gleich OldString ist
 end else
  begin
  ListBox1.Items.Add(OldString) // Das hier könnte ja wenn Zeile X nicht doof wär bei zeile Y stehen
  end;
Was Du uns da sagen möchtest verstehe ich ehrlich gesagt überhaupt nicht, aber was Dein Problem angeht versuch doch folgendes:

Delphi-Quellcode:
[...]
type
  TForm1 = class(TForm)
[...]
  public
    { Public-Deklarationen }
    OldCaption : String;
  end;

[...]
procedure TForm1.TimerTimer(Sender: TObject);
begin
 { Wenn Variable OldCaption noch nicht gesetzt }
 if OldCaption = 'Then OldCaption := Label1.Caption;

 { Neue Caption? }
if Label1.Caption <> OldCaption Then Begin;
  ShowMessage('Label1.Caption wurde geändert!!!');
  OldCaption := Label1.Caption; // Neue Caption der Variablen zuweisen...
End;

end;
[...]
end.
Michael Kübler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Label => "Change"

  Alt 29. Jul 2007, 12:51
Hallo,

der Trick ist immer der gleiche - eine nachträgliche Erweiterung des betreffenden Controls:

Delphi-Quellcode:
type
  TLabel = class (StdCtrls.TLabel)
  private
    FOnChange : TNotifyEvent;
    procedure CMTextChanged (var Message: TMessage); message CM_TEXTCHANGED;
  public
    property OnChange: TNotifyEvent read FOnChange write FOnChange;
  end;

  TForm1 = class (TForm)
    {...}
    procedure FormCreate (Sender: TObject);
  private
    procedure LabelChanged (Sender: TObject);
  end;

procedure TLabel.CMTextChanged (var Message: TMessage);
begin
  inherited;
  if Assigned(FOnChange) then
    FOnChange (Self);
end;

procedure TForm1.FormCreate (Sender: TObject);
begin
  Label1.OnChange := LabelChanged;
end;

procedure TForm1.LabelChanged (Sender: TObject);
begin
  Self.Caption := (Sender as TLabel).Caption;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#6

Re: Label => "Change"

  Alt 29. Jul 2007, 19:13
Delphi-Quellcode:
procedure TForm1.Timer4Timer(Sender: TObject);
var
a: Integer;
begin
// Wenn Variable OldSongTitel noch nicht gesetzt
{if OldSongTitel = '' then
begin  }
//
  OldSongTitel := InterpretTitel1.Caption;
// end;

// Neue Caption?
if InterpretTitel1.Caption <> OldSongTitel then
  begin
// ShowMessage('Titel wurde geändert!!!');
      for a := 1 to 2 do
       begin
        ListBox1.Items.Add(OldSongTitel);
       end;
   // Neue Caption der Variablen zuweisen...
   OldSongTitel := InterpretTitel1.Caption;
  end;
end;
Ich blicke da nicht mehr durch..
Der timer steht auf 1000 ms.
Der Timer schreibt aber alle 1000ms OldSongTitel in die ListBox. Aber er soll das doch nur machen
wenn InterpretTitel1.Caption sich geändert hat.....
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Label => "Change"

  Alt 29. Jul 2007, 19:40
Delphi-Quellcode:
procedure TForm1.Timer4Timer(Sender: TObject);
begin
  // Caption geändert?
  if InterpretTitel1.Caption <> OldSongTitel then
    ListBox1.Items.Add(OldSongTitel);
  // Caption merken
  OldSongTitel := InterpretTitel1.Caption;
end;
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#8

Re: Label => "Change"

  Alt 29. Jul 2007, 19:56
ohne es auszuprobieren behaupte ich jetzt mal, dass er dann aber alle 500 ms (timerintrval) den Text ins listBox macht.

ich habs jetzt UMSTÄNDLICH aber anders gemacht:

InterpretenText wird in ein edit gechrieben und wenn das edit 'gechanged' wird wid was in die listbox geschrieben.. so. umständlich, doof und blöd aber klappt.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Label => "Change"

  Alt 29. Jul 2007, 20:39
Zitat von Tommy1988:
ohne es auszuprobieren behaupte ich jetzt mal, dass er dann aber alle 500 ms (timerintrval) den Text ins listBox macht.
Dann probiers halt aus und überzeug dich davon, dass es nicht so ist
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Label => "Change"

  Alt 29. Jul 2007, 20:50
Was soll denn der Quatsch mit dem Timer
Hawkeye bietet doch die wunderbare Lösung. Also erstell dir eine neue Komponente, installier sie in ein Package und nutze diese neue Label.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:35 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