Announcement

Collapse
No announcement yet.

Kundenspezifische Label-Caption wie???

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kundenspezifische Label-Caption wie???

    Hallo,

    ich stehe vor dem Problem, das einige Kunden, bestimmte Labels andere bezeichnet(Label.Caption)haben wollen.
    Wie kann ich dieses Problem ,ohne das ich im Quellcode eine Variablenliste anlege, lösen.

    Resurcendatei??? Aber wie?

    Gruss Michael

  • #2
    Hallo Michael,

    liefere doch einfach eine INI-Datei mit. Die könnte z.B. so aussehen:

    [KundenForm]

    Label1=Name<br>
    Label2=Vorname<br>
    Label3=Ort<br>

    Im Formular KundenForm liest du dann die Werte aus. Dafür kann man eine allgemeine Funktion schreiben, die Formularnamen und Label-Namen als Parameter hernimmt.

    Beispiel:

    <pre>
    function TKundenForm.CustomCaption(FormName,LabelName,defau lt: string): string;
    var Ini : TInifile;
    sCaption : string;
    begin
    Ini := TInifile.create(ExtractFilePath(application.exenam e) + 'caption.ini');
    sCaption := ini.ReadString(Formname,LabelName,'');
    if sCaption <> '' then
    result := sCaption
    else
    result := default;
    Ini.free;
    end;
    </pre>

    Im OnCreate-Event des Formulares dann z.B.:

    <pre>
    Label1.caption := CustomCaption(self.name,Label1.name,label1.caption );
    Label2.caption := CustomCaption(self.name,Label2.name,label2.caption );
    </pre>

    Das kann man dann wiederum z.B. mit FindComponent in einer Schleife zusammenfassen und mit ein paar Zeilen Code alle Labels beschriften. Wenn keine Ini-Datei vorhanden ist, wird eben der Default-Wert benutzt.

    Viel Erfolg..

    Comment


    • #3
      INI-Datei würde ich auch empfehlen. Wenn Du die RX-Lib installiert
      hast, gibt es die FormStorage. Dort kannst Du jedes Label, Button etc.
      hinterlegen und nur noch den Namen der INI-Datei eingeben. Alles
      andere geht dann von selbst. Du brauchst dann nur noch die INI-Datei
      etitieren und andere Namen einschreiben.

      Ich praktitziere es so und bin sehr zufrieden damit, weil man sich
      dadurch viele Programmierzeilen sparen kann.

      Tschüß Steffe

      Comment

      Working...
      X