[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2006
    Beiträge
    132

    VARPG und Mehrsprachigkeit

    Hallo,

    ich versuche gerade ein VARPG Programm mehrsprachig zu machen. Ein RPG Programm liefert mir alle notwendigen Daten dazu, die dann per "eval %setatr" gesetzt werden. Mein Problem ist jedoch die Zeit die gebraucht wird um ein Fester umzusetzen(5-10sek). Meine Frage wäre ob es einen besseren Weg gibt, Mehrsprachigkeit umzusetzen als "showwin","visible=0", exsr UMSETZEN, "visible=1". Kann ich das Fenster vtl nur laden ohne das es angezeigt wird? Oder was kann ich tun damit die Umsetzung schneller vonstatten geht?

    Gruß Martin

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Normale Windows-Programme verwenden Ressourcen-DLL's, die die Sprachobjekte beinhalten.
    Auch ein Formular (Windows-Fenster) ist ein solches Ressourcen-Objekt. Je nach Sprach-Einstellung wird ganz einfach ein anders Formular, sprich das Sprachformular aus der anderen DLL geladen.
    Der Rest stimmt ja wieder.

    Der Vorteil ist eben, dass nicht immer das Programm umgewandlet werden muss wenns eine neue Sprache gibt.

    Vielleicht kannst du ja auch deine Display-Beschreibung / Formular auslagern ?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Sep 2006
    Beiträge
    132
    Zitat Zitat von Fuerchau
    Normale Windows-Programme verwenden Ressourcen-DLL's, die die Sprachobjekte beinhalten.
    Auch ein Formular (Windows-Fenster) ist ein solches Ressourcen-Objekt. Je nach Sprach-Einstellung wird ganz einfach ein anders Formular, sprich das Sprachformular aus der anderen DLL geladen.
    Der Rest stimmt ja wieder.

    Der Vorteil ist eben, dass nicht immer das Programm umgewandlet werden muss wenns eine neue Sprache gibt.

    Vielleicht kannst du ja auch deine Display-Beschreibung / Formular auslagern ?
    Hm...Also pro Sprache ein Formular. Der Nachteil wäre jedoch das man die sprachabhängigen Werte im Programm(Editor) setzen müsste, oder?
    Und in VARPG hat man doch keine Display Beschreibungen wie bei ILRPG, bzw. in welcher Datei stehen diese Werte?

    Was den Vorteil angeht, den habe ich ja auch da die Sprachabhängikeit durch AS400 Dateien abgebildet wird. Die Sprache könnte man dann zb. auch über ein Dropdownmenü auswählen.

    Gruß Martin

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Windows ist da eben anders.
    Wenn du natürlich für jeden Text des Formulars einen Zugriff auf die AS/400 machen musst, kannst du dir die Dauer zum Öffnen des Formulares ja ausrechnen.

    Ausserdem musst du in jedes Porgramm die Routinen für die Sprache einbinden.

    Aber egal.
    Der schnellste Weg wäre eigentlich dieser:
    Auf der AS/400 halt eine Datei mit dem Name des Formulars und Feldes als Key.
    Per SQL alle Texte des Formulares in einem Rutsch laden und dann per Select-Verteiler die Texte ins Formular schieben.

    In Windows gibt es ein FormLoad-Ereignis, da gehört dann diese Routine hin (onOpen, onLoad o.ä.).
    Damit beschränkt sich das Laden ausschließlich auf dieses eine Formular/Satzformat.

    Was man sich da alles für Nachteile durch VARPG einhandelt ...
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Sep 2006
    Beiträge
    132
    Zitat Zitat von Fuerchau
    Windows ist da eben anders.
    Wenn du natürlich für jeden Text des Formulars einen Zugriff auf die AS/400 machen musst, kannst du dir die Dauer zum Öffnen des Formulares ja ausrechnen.

    Ausserdem musst du in jedes Porgramm die Routinen für die Sprache einbinden.

    Aber egal.
    Der schnellste Weg wäre eigentlich dieser:
    Auf der AS/400 halt eine Datei mit dem Name des Formulars und Feldes als Key.
    Per SQL alle Texte des Formulares in einem Rutsch laden und dann per Select-Verteiler die Texte ins Formular schieben.

    In Windows gibt es ein FormLoad-Ereignis, da gehört dann diese Routine hin (onOpen, onLoad o.ä.).
    Damit beschränkt sich das Laden ausschließlich auf dieses eine Formular/Satzformat.

    Was man sich da alles für Nachteile durch VARPG einhandelt ...
    In einem Rutsch laden ist wieder die ein Sache. Ich mache es mit der Methode: pro call ein Satz. Ist eigentlich genauso schnell als wenn ich alles in ein Array lade und das zurückgebe.(Wobei hier wieder das Problem wäre wie groß muss ich dieses definieren?)

    Hm das FormLoad hatte ich noch nicht ausprobiert, ich hatte es bisher immer beim showwin(1. Aufruf des Formulars) gemacht.(2. Aufruf ist dann Visible=1)

    Ich werde das mit FormLoad einmal ausprobieren. Danke für die Informationen.

    Gruß Martin

    EDIT:
    Formload gibt es nicht als Ereignis. Meinten sie Create oder Active?(Ich mache es zzt im Create)

    PHP-Code:
    Gültige Ereignisse

        Activate     Close     Create
        DeActivate     Destroy     LClickTray
        Moved     RClickTray     ReSize
        ShutDown 

Similar Threads

  1. VARPG und Container
    By Squall in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 03-11-06, 12:12
  2. Embedded SQL in VARPG
    By Squall in forum NEWSboard Programmierung
    Antworten: 23
    Letzter Beitrag: 18-10-06, 12:01
  3. VARPG /COPY Auflösung funktioniert nicht
    By hteufl in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 21-08-06, 13:12
  4. Radio-Button in VARPG
    By Kampi4 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 24-04-06, 10:54
  5. DDE Datenaustausch zwischen VARPG und Excel
    By Spoldo in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 06-05-05, 10:48

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •