AGB  ·  Datenschutz  ·  Impressum  







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

Label erzeugen

Ein Thema von punker-lili · begonnen am 15. Mai 2008 · letzter Beitrag vom 16. Mai 2008
Antwort Antwort
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#1

Label erzeugen

  Alt 15. Mai 2008, 11:23
Hi Leute!

Ich arbeite gerade an einem Programm zurDarstellung von Noten. Für die Darstellung benötigt man natürlich auch Vorzeichen (Kreuz). Das habe ich mirals Schriftart besorgt und möchte es übers Label anzeigen. Leider weiß ich in vornherein nicht, wie viele LAbels ich brauche. Daher ist meine Frage; Wie kann ich Labels dynamisch erzeugen?
wenn das nicht geht, würde es mir reichen, wenn es möglich wäre ein vorhanenes LAbel zu kopieren und an einerbestimmten Stelle wieder einzugügen.
Oder habt ihr vielleicht eine andere Idee, um Vorzeichen darzustellen?

Mit freundlichen Grüßen
Anna
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Label erzeugen

  Alt 15. Mai 2008, 11:29
Moin,

das geht schon dynamisch - ein Label ist am Ende auch nur ein Objekt:

Delphi-Quellcode:
///
/// Angenommen, Dein Label soll auf Form1 (könnte auch Panel1 oder sonst ein Container sein) sitzen:
var myLabel : TLabel;
begin
  myLabel:= TLabel.Create( Form1 );
  myLabel.Parent:= Form1;
  myLabel.Left:= 10;
  myLabel.Top:= 50;
  myLabel.Caption:= 'Hallöle';
  // usw...
end;
Das kann man dann noch in ein Schleifchen packen und dann (mehr oder weniger) beliebig viele Labels erzeugen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#3

Re: Label erzeugen

  Alt 15. Mai 2008, 11:31
wie machst du denn die noten?
ich denke mal, es wäre sinnvoller das ganze zu malen (TCanvas), statt alles mit labels auszurichten.

aber zu der egentlichen Frage, du kannst natürlich labels dynamisch erzeugen:

Delphi-Quellcode:
//in einer form-methode:
label:=TLabel.create(self);//hier wäre self das form und es kümmert sich ums spätere freigeben
label.parent:=self;//das label soll auch auf dem form auftauchen
label.left:=10;
label.top:=10;
label.caption:='Test';
ansonsten kannst du zur designtime auch labels kopieren per markieren,strg+c,strg+v.zur laufzeit erzeugst du ein neues Label (s.o.) und kopierst die Einstellungen in die neue instanz (assign).

HTH Frank
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: Label erzeugen

  Alt 15. Mai 2008, 11:53
Warum nimmst du nicht für jeden Buchstaben ein eigenes Label?

Ziemlich sinnfrei oder?

Warum willst du dann für solche Sonderfälle Labels nehmen?

Wie schon vorgeschlagen: Mach dir ne Paintbox und schreib das per Canvas.TextOut drauf.
  Mit Zitat antworten Zitat
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#5

Re: Label erzeugen

  Alt 16. Mai 2008, 09:08
na die noten zeichne ich.. aber die Vorzeichen zu zeichnen wäre ein versuch wert.. es war halt meine erste idee die i ein label zu stecken.
ich brauch soviele labels, da die noten verschieden positioniert sind (schon einmal eine naotenpartitur angeguckt?!) und ich erst beim einlesen der Werte weiß, wo ein Vorzeichen hin muss... Daher dachte ich, das es mit Labels recht praktisch geht, denn da habe ich ein Rechteck, was ich präzise positionieren kann.
Also danke Leute für eure Hilfe!

MfG Anna
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Label erzeugen

  Alt 16. Mai 2008, 09:12
Das kann aber ungeheuer langsam werden, wenn du da hunderte Labels nutzt. Ich würde es auch intern in ein TBitmap zeichnen und dieses dann ausgeben. Dort kannst du auch pixelgenau Text positionieren und hast nebenbei den Vorteil, dass du das relativ leicht auch ausdrucken lassen oder als Grafik abspeichern kannst.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#7

Re: Label erzeugen

  Alt 16. Mai 2008, 09:15
Zitat von punker-lili:
ich brauch soviele labels, da die noten verschieden positioniert sind (schon einmal eine naotenpartitur angeguckt?!)
Wie wärs mit einem Bild zur Veranschaulichung?

Da ich denke, dass du mit Vorzeichen "+" und "-" meinst, kannst du auch in einem Canvas (TBitmap) mit Rechtecken arbeiten (MSDN-Library durchsuchenDrawText).
  Mit Zitat antworten Zitat
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#8

Re: Label erzeugen

  Alt 16. Mai 2008, 09:19
ähm wir reden gerade von unterschiedlichen vorzeichen.. ich meine gerade die musikalischen Noten und deren Vorzeichen (Kreuz bzw b), wie folgendes Bild z.b. zeigt (in Anhang verschoben):

Bisjetzt hab ich die Notenlinien und die Noten selbst gezeichnet. Daher fehlen mir noch die Vorzeichen.
Es tut mir leid, wenn ihrs etwas anders verstanden habt.. Sorry...

MfG Anna

[edit=SirThornberry]Bild in Anhang gepackt - Mfg, SirThornberry[/edit]
Miniaturansicht angehängter Grafiken
stave_131.gif  
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.095 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: Label erzeugen

  Alt 16. Mai 2008, 09:22
Hi,

Zitat von Nuclear-Ping:
Da ich denke, dass du mit Vorzeichen "+" und "-" meinst,
Nein, # und b (eigentlich sieht das noch etwas anders aus, geht hier aber nicht besser), dann gibt es noch spezuielle Vorzeichen für Vierteltöne und Doppelvorzeichen (x und bb). Hat nichts mit mathematischen Vorzeichen zu tun, außer, dass es vor der Note steht und das andere vor der Zahl.

[edit] Und natürlich noch das Auflösungszeichen. [/edit]

Mfg
FAlter
Felix Alter
Japanurlaub 2015
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#10

Re: Label erzeugen

  Alt 16. Mai 2008, 09:24
Ja, ich dachte Schulnoten ...

Wenn du so eine Noten-Font hast, dann nimm ein TImage / TBitmap (musst du erst erstellen, einem TImage / TPaintBox zuweisen, ...) und richte den Canvas (Canvas.Font.Name) so ein und zeichne per DrawText die Noten entsprechend.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:03 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