AGB  ·  Datenschutz  ·  Impressum  







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

TLabel durch TJVLabel ersetzen

Ein Thema von JonnyGuitar · begonnen am 10. Mai 2010 · letzter Beitrag vom 11. Mai 2010
Antwort Antwort
JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#1

TLabel durch TJVLabel ersetzen

  Alt 10. Mai 2010, 16:20
Hallo,

ich habe folgendes Problem, in meinem Programm sind durchgängig TLabel verbaut.
Kommen durch per DXGetText Sprachen wie griechisch dazu so kann das normale
TLabel die Sonderzeichen nicht richtig darstellen. Beim TJVLabel bestehen
diese Probleme nicht. Also war meine erste Idee in den .pas und .dfm Dateien
TLabel durch TJVLabel zu ersetzen. Kompilieren tut er danach, die Anzeige ist
trotzdem fehlerhaft. Erst wenn ich wirklich im GUI Editor die TLabel durch TJVLabel
ersetze ist der Fehler behoben. Leider ist der Aufwand dann natürlich dementsprechend
grösser.

Meine Frage, gibt es eine Möglichkeit das halbwegs zu automatisieren?
Ich arbeite mit Delphi 2007


Gruss Jonny
the only thing to fear is runnin' out of beer
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

Re: TLabel durch TJVLabel ersetzen

  Alt 10. Mai 2010, 16:23
Die GExperts bringen eine Funktion namens "Replace Components" mit, das könnte hilfreich sein.
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 HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#3

Re: TLabel durch TJVLabel ersetzen

  Alt 10. Mai 2010, 16:43
Der GExpert macht im Prinzip ja auch nichts anderes als ein Search&Replace im Source des Forms.

BTW:
Zitat:
Also war meine erste Idee in den .pas und .dfm Dateien
TLabel durch TJVLabel zu ersetzen
Das Ersetzen in den .pas Dateien hätte völlig gereicht. Den Rest hätte Delphi bzw. der Compiler automatisch angepasst sobald das Form im Designer geöffnet wird
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#4

Re: TLabel durch TJVLabel ersetzen

  Alt 10. Mai 2010, 17:12
Zitat von HeikoAdams:
Das Ersetzen in den .pas Dateien hätte völlig gereicht. Den Rest hätte Delphi bzw. der Compiler automatisch angepasst sobald das Form im Designer geöffnet wird
AFAIK andersrum - Ersetzen in der DFM. Und der Compiler ersetzt gar nix, es ist die IDE. Dazu muss allerdings die betroffene Form zum Speichern gezwungen werden, entweder manuell oder mit Andys Automatisch-auf-und-wieder-Zumach-Tool (DFMCheck).
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#5

Re: TLabel durch TJVLabel ersetzen

  Alt 11. Mai 2010, 08:28
Zitat von uligerhardt:
AFAIK andersrum - Ersetzen in der DFM. Und der Compiler ersetzt gar nix, es ist die IDE. Dazu muss allerdings die betroffene Form zum Speichern gezwungen werden, entweder manuell oder mit Andys Automatisch-auf-und-wieder-Zumach-Tool (DFMCheck).
Überredet
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TLabel durch TJVLabel ersetzen

  Alt 11. Mai 2010, 08:53
Ich mach sowas recht selten und da reichte mir die manuelle Methode bisher vollkommen aus:
- entweder über einen externen Texteditor die DFM und die PAS editieren
(vorallem nötig wenn man Komponenten ersetzen will, welche die eigene IDE nicht kennt)
- oder über die IDE mit "als Text anzeigen" die DFM und dann die PAS bearbeiten.
Bei Beidem einfach nur Suchen+Ersetzen.

Wenn man über einen externen Editor eine Unit (.pas) bearbeitet und dann wieder in die IDE wechselt, dann bekommt diese von der Änderung was mit und fragt, ob sie die geänderte Datei neu laden soll ... falls diese gerade in der IDE geladen ist.

Zitat von uligerhardt:
es ist die IDE
bei mir hatte die IDE noch nie was in der PAS ersetzt, nur weil ich was in der DFM geändert hab.

PS: Es ist nichtmal nötig, daß ein Feld in der Form für jede Komponente existiert.
Wenn man niemals auf diese Komponente zugreift (z.B. bei vielen Labels, welche einfach nur "statisch" etwas anzeigen), wozu braucht man dann dafür überhaupt einen "Zeiger" (die Objektvariable) dafür?
Diese Variable kann man sich also auch ganeusogut einsparen. (je 4 Byte weniger in der Formular-Instanz )
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#7

Re: TLabel durch TJVLabel ersetzen

  Alt 11. Mai 2010, 09:15
Zitat von himitsu:
Zitat von uligerhardt:
es ist die IDE
bei mir hatte die IDE noch nie was in der PAS ersetzt, nur weil ich was in der DFM geändert hab.
Dann hast du noch nicht das Richtige ausprobiert.
  • Such dir ein Formular mit bspw. einem Button.
  • Geh in den DFM-Textmodus (Alt-F12)
  • Ersetze den Klassennamen TButton durch tbitbtn.
  • Alt-F12 und speichern ==> Die IDE will die Klassendeklaration anpassen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TLabel durch TJVLabel ersetzen

  Alt 11. Mai 2010, 09:19
ahhhhhhh, grad ausprobiert ... war nur noch nie auf die Idee gekommen gleich danach zu speichern.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#9

Re: TLabel durch TJVLabel ersetzen

  Alt 11. Mai 2010, 09:31
Zitat von himitsu:
ahhhhhhh, grad ausprobiert ... war nur noch nie auf die Idee gekommen gleich danach zu speichern.
Ich find die Funktionalität sehr nützlich und benutze sie nahezu ausschließlich, wenn ich mal Komponenten austauschen will. Ansonsten bin ich ja eifriger GExperts-Nutzer, aber Replace Components ist nichts für mich - schmeißt z.B. die Reihenfolge der Komponenten durcheinander, was aufgeblähte Diffs im VCS zur Folge hat.
Uli Gerhardt
  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 06:13 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