AGB  ·  Datenschutz  ·  Impressum  







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

Label korrekt zur Laufzeit erzeugen?

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

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

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 23: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
 
#12

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 23: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
 
#13

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 23: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
 
#14

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 23: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
 
#15

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 23: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
 
#16

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 7. Feb 2013, 23: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
Furtbichler
(Gast)

n/a Beiträge
 
#17

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 8. Feb 2013, 08:21
Bzw. sich gleich darauf besinnen, das das Label eine bestimmte Information anzeigen soll. Nämlich den Namen des Autors, wenn der Name angegeben ist, bzw. etwas anderes, wenn der Autor nicht angegeben ist:

Delphi-Quellcode:
MyLabel.Caption := AuthorInfo(Tb);
...

Function AuthorInfo (aDataSet : TDataset);
Begin
  Result := aDataSet['aname'];
  if Result='then
    Result := 'Something else';
End;
Alternativ (und vermutlich noch besser) wäre es, dem Dataset ein berechnetes Feld 'AuthorInfo' zu spendieren. Dann ist die Logik dort, wo sie vermutlich hingehört und man kann diese info überall anzeigen.
  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
 
#18

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 8. Feb 2013, 10:15
Thx... läuft alles!
Und was war jetzt der Fehler?
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
 
#19

AW: Label korrekt zur Laufzeit erzeugen?

  Alt 8. Feb 2013, 12:05
Syntaktischer Natur!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!

Geändert von AlexII ( 8. Feb 2013 um 12:08 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:15 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