![]() |
Konstanten/Variablen suchen und Werte ändern
Hallo,
wie der Titel hoffentlich schon erahnen lässst, suche ich eine Möglichkeit "const" Werte durch andere zu ersetzen. Ich bräuchte da einen Befehl, mit dem ich nach dem Namen eines "const" Ausdruck suchen, und dann dessen Wert ersetzen kann. Ziel ist es, ein Programm für mehrere Sprachen umzurüsten. Zum Beispiel:
Delphi-Quellcode:
da möchte ich dann z. B. statt 'Tage' den Wert 'Days' einsetzen. Gibt es sowas überhaupt? Wie könnte ich das bewerkstelligen? (das selbe bräuchte ich für variable Strings)
const
k_DaysLong = 'Tage'; Danke schonmal im Voraus. |
Re: Konstanten/Variablen suchen und Werte ändern
Stichwort "Multilizer".
suchen kannst du dann wohl selber... |
Re: Konstanten/Variablen suchen und Werte ändern
Oder wie wäre es mit
![]() |
Re: Konstanten/Variablen suchen und Werte ändern
danke für die tipps, aber meine frage war egtl. anders gestellt.
ich kenne diese diversen programme/tools. allerdings halte ich davon erstens weniger und zweitens denke ich, wäre das overkill für mein kleines programm. ich wollte egtl. nur wissen, wie ich const/var Werte (egtl. nur Strings) suchen und ändern kann. Falls das nicht möglich ist, muss ich mir logischerweise was anderes überlegen. eine möglichkeit wäre ja, alle const/vars in ein array zu packen und dann zur laufzeit die entspr. lokalisierten strings zu verwenden. @raven: arbeitest du bei diesem projekt mit? nach der suche "Multilizer" im forum gabst allein du ca. 3 mal den tipp ab, dieses teil zu verwenden. achja, und suchen kann ich selbst - danke! |
Re: Konstanten/Variablen suchen und Werte ändern
Der einfachste Weg ist es alle Stringliterale in zwei Files zu konzentrieren.
Das eine enthaelt die sprachabhaengigen Strings und das andere die restlichen nicht sprachabhaengigen Strings. Damit faellt erst mal das Handling der Uebersetzungen leichter. |
Re: Konstanten/Variablen suchen und Werte ändern
Zitat:
Bei uns in der Firma verwenden wir den Multilizer und haben durchweg nur positive Erfahrungen gemacht. gruessle |
Re: Konstanten/Variablen suchen und Werte ändern
probier doch folgendes:
Statt:
Delphi-Quellcode:
Konstanten im sinne von ID deklarieren:
const
Text1='bla'; Text2='sülz'; ...
Delphi-Quellcode:
dann kannst Du Dir eine Funktion schreiben, die mittels Text ID und eingestellter Sprache den eigentlichen String irgendwoher liest (inifile, Datenbank, csv, etc.) und zurückgibt.
const
Text1= 1; Text2= 2; z.b.:
Delphi-Quellcode:
function GetText(_iTextID: Integer): String;
Var sActualLabguage: String; Begin sActualLanguage:=oIniFile.ReadString('Language','currentLanguage','Illegal Language'); If sActualLanguage='Illegal Language' Then Result:=sActualLanguage Else Result:=oIniFile.ReaadString(sActualLanguage, IntToStr(_iTextID),'Text not defined'); End; |
Re: Konstanten/Variablen suchen und Werte ändern
Anstelle von Konstanten sollte man gleich resourcestring verwenden:
Delphi-Quellcode:
Damit stehen dir alle Wege offen, diese Texte nachträglich zu übersetzen.
resourcestring
SDaysLong = 'Tage'; SDayLong = 'Tag'; SMonth = 'Monat'; Borland verwendet übrigens für (Resource-)String-Konstanten den Prefix "S". |
DP-Maintenance
Dieses Thema wurde von "Daniel" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Konstanten/Variablen suchen und Werte ändern
wie wärs damit:
Delphi-Quellcode:
var
lang:byte; const german:byte=0; english:byte=1; string1:array[0..1] of string = ('Tage','Days'); [...] lang:=german; string1[lang] = 'Tage' |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 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