AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Label korrekt zur Laufzeit erzeugen?

Ein Thema von AlexII · begonnen am 7. Feb 2013 · letzter Beitrag vom 8. Feb 2013
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:01
Thx! Es funkt, nur die Label Eingenschaften sind mal so mal so, also nicht immer die gleichen. Wie kann ich die Eigenschaften in beiden Fällen gleich setzen?
Ähhm, es so schreiben, dass diese Eigenschaften immer gesetzt werden, also nicht in den if ... then Teil?
Delphi-Quellcode:
       DetailsTitleLabel.Caption := tb.FieldAsString( tb.FieldIndex['mediatitle'] );

        if tb.FieldAsString( tb.FieldIndex['aname'] ) <> 'then
        begin
          // Label suchen
          MyLabel := TLabel( FindComponent( 'test1' ) );

          // Wenn kein Label gefunden wurde
          if MyLabel = nil then
          begin
            // dann müssen wir uns einen anlegen
            MyLabel := TLabel.Create( Self );
            MyLabel.Name := 'test1';
          end;

          // und ab hier haben wir gesichert eine MyLabel Instanz

          MyLabel.Parent := MediaGroupBox;
          MyLabel.WordWrap := True;
          MyLabel.Left := 8;
          MyLabel.Top := 178;
          MyLabel.Font.Style:=[fsItalic];
          MyLabel.Width := MediaGroupBox.Width - 15;

          MyLabel.Caption := tb.FieldAsString( tb.FieldIndex['aname'] );
       end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:09
Und wie und wo vernichte ich das Label wenn den Autor nicht mehr gibt?

Mit MyLabel.Free; verschwindet mein ganzes Programm.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:13
Und wie und wo vernichte ich das Label wenn den Autor nicht mehr gibt?
Also ein wenig nachdenken ist ja manchmal nicht schlecht ... und etwas mehr Information, wie du erkennst, dass es da was nicht mehr geben soll ...

aber ich tippe mal darauf
Delphi-Quellcode:
       DetailsTitleLabel.Caption := tb.FieldAsString( tb.FieldIndex['mediatitle'] );

        // Label suchen
        MyLabel := TLabel( FindComponent( 'test1' ) );

        // Gibt es einen Autor?
        if tb.FieldAsString( tb.FieldIndex['aname'] ) <> 'then
          begin
            // Wenn kein Label gefunden wurde
            if MyLabel = nil then
              begin
                // dann müssen wir uns einen anlegen
                MyLabel := TLabel.Create( Self );
                MyLabel.Name := 'test1';
              end;

            // und ab hier haben wir gesichert eine MyLabel Instanz

            MyLabel.Parent := MediaGroupBox;
            MyLabel.WordWrap := True;
            MyLabel.Left := 8;
            MyLabel.Top := 178;
            MyLabel.Font.Style:=[fsItalic];
            MyLabel.Width := MediaGroupBox.Width - 15;
  
            MyLabel.Caption := tb.FieldAsString( tb.FieldIndex['aname'] );
         end
       else
         // kein Autor, kein Label
         MyLabel.Free;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:18
Hm... hab ich so gemacht, und wenn es keinen Autor gibt wird das ganze Programm unsichtbar, es verschwindet irgendwohin, muss es dann über Task-Manager als Prozess beenden.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:21
Hm... hab ich so gemacht, und wenn es keinen Autor gibt wird das ganze Programm unsichtbar, es verschwindet irgendwohin, muss es dann über Task-Manager als Prozess beenden.
Glaube ich nicht ...

erst kommt
Delphi-Quellcode:
        // Label suchen
        MyLabel := TLabel( FindComponent( 'test1' ) );
und dann
Delphi-Quellcode:
        // Gibt es einen Autor?
        if tb.FieldAsString( tb.FieldIndex['aname'] ) <> 'then
          begin
            ...
          end
       else
         // kein Autor, kein Label
         MyLabel.Free;
Bei dir sieht es wohl noch so aus
Delphi-Quellcode:
        // Gibt es einen Autor?
        if tb.FieldAsString( tb.FieldIndex['aname'] ) <> 'then
          begin
            // Label suchen
            MyLabel := TLabel( FindComponent( 'test1' ) );
            ...
          end
       else
         // kein Autor, kein Label
         MyLabel.Free;
gelle
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:19
Mit MyLabel.Free; verschwindet mein ganzes Programm.
Das ist so schon korrekt, warum das würde jetzt zu weit führen ... kann man aber hier im Forum suchen

BTW:

Wenn du die Caption von einem Label mit '' befüllst, dann sieht keine S** ob da ein Label ist oder nicht.

Warum willst du also so eine Erzeugungs- und Vernichtungsorgie starten?

Meinetwegen setze Visible vom Label auf true oder false ... so ist das Murks
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:21
Weil anstelle dieses Labels ein anderes Label erstellt werden soll, mit anderen Infos.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:24
Weil anstelle dieses Labels ein anderes Label erstellt werden soll, mit anderen Infos.
Nun wenn es dich glücklich macht ... aber leg dir mal eine kleine Test-Projekt an und spiele ein wenig mit dem Visible herum
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:30
Thx... läuft alles!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 22:34
Ich würde ja ein Label Test1 fest anlegen und dann sieht der Code wie folgt aus:
Delphi-Quellcode:
// Gibt es einen Autor?
if tb.FieldAsString( tb.FieldIndex['aname'] ) <> 'then
  Test1.Caption := tb.FieldAsString( tb.FieldIndex['aname'] )
else
  Test1.Caption := 'Some other information with a DRY KISS';
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:17 Uhr.
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