Mehrsprachiges Programm mit $RESOURCE Statement

Micha

Mitglied
07. Juni 2007
57
0
6
Sprachen
Hallo zusammen,

ich habe mal ne Frage:

Wenn ich ein mehrsprachiges Programm schreiben möchte, bietet Bascom hierfür ein Statement an: $RESOURCE [DUMP] "Sprache 1","Sprache2"

Für dieses Statement benötigt man jedoch eine Library, die sich nennt: "ResourceLanguage.lib"

Diese ist aber offensichtlich nicht Bestandteil von Bascom (Vollversion 2.0.2.0).

In der Bascom-Hilfe steht hierzu, dass der Resource-Editor (in der IDE) Bestandteil eines sogenannten "RESOURCE ADD ON" sei und installiert sein muss.

Bei mir ist der Resource-Editor vorhanden und kann ihn auch verwenden. Aber die ResourceLanguage.lib ist nicht im LIB-Verzeichnis.

Woher bekomme ich nun diese LIB um mehrsprachige Programme zu schreiben?
Bei MCS-Elektronik konnte ich hierzu nichts finden, eine Support-Anfrage läuft.

Weis jemand von euch weiter?

Gruß Mitch.
 
Hallo Micha,

hast Du die gleiche Frage gestern im RoboterNetz nicht auch schon gestellt?

Grüße,
Markus
 
Ja stimmt,
aber jedes Forum hat eben seine eigene Gemeinschaft.

Da ich von Roboternetz noch nichts brauchbares erfahren habe, dachte ich, ich versuchs mal bei euch.

Doppelt gemoppelt hält eben besser. Und die Antwort dürfte auch schneller verfügbar sein.

:)

Nebenbei habe ich auch bei MCS-Electronics angefragt (Support) aber noch keine Antwort.

Im Web ist hierzu zu gut wie nichts zu finden.
Offensichtlich habe ich da mal wieder eine Wissenslücke entdeckt, der es Aufklärung bedarf!

Hast du ne Idee?

Gruß Mitch.
 
Neeee, eigentlich habe ich auch keine Idee. Ich habe auch etwas recherchiert und überhaupt nix verwertbares gefunden. Bei MCS selbst gibt es nix, in den Foren gibt es nix und im Download-Bereich von MCS wo man Add-On's laden können sollte gibt es auch nix.

Ic komme für mich zu der Schlussfolgerung, dass es hier vielleicht zukünftig mal was geben soll, dass aktuell aber nur die Hälfte umgesetzt ist. Ich fürchte, dass das, nach was wir sucen bei BASCOM noch garnicht existiert.

Anders kann ich mir jedenfalls das Fehlen von Informationen icht erklären.

Hmmmmm......


Grüße,
Markus
 
Na dann bedeutet dies doch in der Konsequenz, dann man künftig in einer Sprache programmiert, die alle Verstehen. Also für Software, die in Deutschland den Bestimmungsort haben soll am besten in türkisch oder russisch?

Soll keine Anspielung auf Rassismus sein. Ist aber fakt, dass über 50% der in Deutschland wohnenden Bevölkerung nicht deutsch sind.
 
Hallo zusammen!

Ein zweisprachiges Programm? :hmmmm:

Dazu würden mir spontan nur
#if
#else
#endif
einfallen.

(Bitte NICHT mit dem If, Else und End If verwechseln bzw. gleichsetzen!!!)

Zumindest habe ich in dieser Form schon mal etwas in der Hilfe gelesen. ;)


Schau doch mal HIER !



Nur mal ein Auszug aus der Hilfe darüber:

Code:
Conditional compilation allows you to create different versions of your program but that you keep one source file.

For example you could make a multi lingual program like this :


CONST LANGUAGE=1

'program goes here

#IF LANGUAGE=1
DATA "Hello"
#ENDIF

#IF LANGUAGE=2
DATA "Guten tag"
#ENDIF

Damit müsstest du doch auch ein "zweisprachiges" Programm realisieren können, oder?


Grüße,
Cassio
 
Hallo Cassio,

das Verfahren ist mir bekannt. Macht aber umfangreichen Code sehr unübersichtlich. Deshalb möchte ich die $RESOURCE Variante versuchen.

Wenn es keine andere Möglichkeit gibt, werde ich wohl oder übel deinen Vorschlag umsetzen müssen, weil das dann noch das vernünftigste ist.

Allerding muss ich das dann mit Variablen realieren, da das Programm zur Laufzeit die Sprache ändern können soll.

Um die Übersichtlichkeit des Source zu wahren wollte ich dann den $RESOURCE verwenden. Mir fehlt eigentlich nur eine Bezugsquelle für die Lib.

Vielleicht ist die ja aufm Rechner bereits drauf, wüßte aber nicht in welcher datei.

Mitch.
 
Hallo Micha!

Da ich noch nicht in die Verlegenheit gekommen bin ein zweisprachiges Programm zu erstellen, ist mir der Befehl "$resource" leider neu.

Allerdings....
In der Hilfe steht aber auch gar nichts von einer LIB. :hmmmm:

Meldet das BASCOM, wenn du dein Programm kompilieren möchtest..... oder wie kommst du darauf, dass es eine LIB geben müsste?


Grüße,
Cassio
 
Hallo !

Hier mal ein Auszug aus der Hilfe:

Code:
'------------------------------------------------------------------------------

'                         language.bas

'                 (c) 1995-2008 , MCS Electronics

'This example will only work with the resource add on

'resources are only needed for multi language applications

'By changing the LANGUAGE variable all strings used will be shown in the proper language

'------------------------------------------------------------------------------


'a few steps are needed to create a multi language application

'STEP 1, make your program as usual

'STEP 2, generate a file with all string resources using the $RESOURCE DUMP directive

'$resource Dump , "English" , "Dutch" , "German" , "Italian" 'we will use 4 languages

'STEP 3, compile and you will find a file with the BCS extesion

'STEP 4, use Tools, Resource Editor and inport the resources

'STEP 5, add languages, translate the original strings

'STEP 6, compile your program this time with specifying the languages without the DUMP option

 

$resource "English" , "Dutch" , "German" , "Italian"

'this must be done before you use any other resource !

'in this sample 4 languages are used

'this because all resources found are looked up in the BCR file(BasCom Resource)

Dim S As String * 20


Oben steht etwas von (c) 1955-2008......
Demnach kann der Befehl ja nicht soooo neu sein. :hmmmm:

Hast du es denn so gemacht, wie es dort beschrieben steht?

Grüße,
Cassio
 
In der Bascom-Hilfe steht nichts von der Lib, das ist korrekt.

Wenn man aber versucht, das zu kompilieren ($RESOURCE ohne DUMP), dann erhält man die Fehlermeldung: "Linrary resourcelanguage.lib not found"
 
Hallo!

Was bedeutet bei dir denn:
($RESOURCE ohne DUMP)
:confused: :hmmmm:


Wenn du deine Sprachdateien wie beschrieben erzeugt hast....
Code:
'STEP 1, make your program as usual 
'STEP 2, generate a file with all string resources using the $RESOURCE DUMP directive 
'[B]$resource Dump , "English" , "Dutch" , "German" , "Italian"[/B] 'we will use 4 languages 

'STEP 3, [B]compile and you will find a file with the BCS extesion[/B] 
'STEP 4,[B] use Tools, Resource Editor and inport the resources[/B] 
'STEP 5, add languages, translate the original strings 
'STEP 6, compile your program this time with specifying the languages without the DUMP option

dann gibst du anschließend doch bei "$resource" die Sprachen an....
Code:
[B]$resource "English" , "Dutch" , "German" , "Italian" [/B]
'this must be done before you use any other resource ! 
'in this sample 4 languages are used


Von einer LIB ist nirgends die Rede. :rolleyes:


Nun ja.... wird schon werden. ;)

Gruß,
Cassio
 
Nun ja.... wird schon werden.

Nun ja ..... da wäre ich mir nicht so sicher.

1. Ich habe mir das in BASCOM nun nochmals im Detail angesehen
2. Ich habe auch den Resource-Editor verwendet
3. Ich habe es ausnahmsweise mal genau so gemacht wie es BASCOM vorschreibt

Und ......

Ich komme zum genau gleichen Ergebnis wie Micha. :stupido3:

Übersetzt man exakt das Beispiel von BASCOM und macht alles so wie es beschrieben steht gibt es "Error : 206 Line : 41 Library file not found .... bla bla bla RESOURCELANGUAGE.LIB

Also Micha, es liegt garantiert nicht an Dir, ich scheitere nämlich an der gleichen Stelle.

Ich kann mich nur nochmals bzgl. meiner Aussage von heute Nachtmittag wiederholen. Ich glaube es funktioniert nicht weil es nicht funktionieren kann.

Soooo, nun werde ich gleich mal eine 2. Email an Mark schreiben, in der Hoffnung, dass er reagiert.

Grüße,
markus
 
Soooo, Email an MCS ist raus, nun warte ich mal ab ob sich jemand meldet!

Grüße,
Markus

PS: Alsooooo, ic muss schon sagen, dass die Qualität von BASCOM mir momentan überhaupt nicht gefällt. Der Ressourcen-Editor ist ja alles andere als Benutzerfreundlich .....

Ich glaube wenn das so weitergeht, steige ich für die AVR's demnächst komplett auf C um.
 
Ich dank euch mal für eure Hilfe.
Dachte schon ich hätte etwas vergessen zu installieren oder so.

Warten wir ab ob, und was MCS antwortet.

Micha.
 
Der Ressourcen-Editor ist ja alles andere als Benutzerfreundlich .....


Hallo Markus!

Ich habe nun auch mal nachgeschaut.....
Bei mir ist der gar nicht installiert. :rolleyes:
Tja und so auf die Schnelle habe ich ihn bei MCS auch nicht als AddOn gefunden. :hmmmm:


Habe ich etwas übersehen?

Gruß,
Cassio
 
Hallo !

Habe noch mal geschaut.....
Also ich finde bei mir keinen Editor dafür und bei MCS auch nicht. :hmmmm:


In der Hilfe steht:
The resource editor is pretty simple. The only task is allow you to edit the various strings. You can also use notepad or Excel to create the BCR file which is explained in the $RESOURCE topic.

Dann könnte man sich also einfach per Excel eine Tabelle machen und diese als BCR abspeichern?

Nun ja... damit wäre aber das Problem mit der LIB auch nicht behoben.
Habt ihr mal probiert dem System eine "vorzugaukeln"?
Einfach mal eine leere LIB (Mylib.lib ?) nehmen, umbennen und dann noch mal kompilieren. Vielleicht reicht das ja schon. ;)

Im Zweifel wird das sonst wohl mit RESOURCE nichts werden und man muss mit Variablen arbeiten. :rolleyes:


Grüße und viel Spaß beim tüfteln,
Cassio
 
Hallo Cassio,

natürlich gibts den Editor.
Der ist in der IDE im Menü Werkzeuge zu finden. Eintrag Resource Editor auswählen.

Und einfach nur ne Datei mit dem Namen Resourcelanguage.lib ins LIB-Verzeichnis reinmachen funktioniert nicht.

Da werden tatsächlich Routinen wie _RESOURCELANGUAGE und _RESOURCELANGUAGEORG aufgerufen.

Also die LIB wird in jedem Fall benötigt.
 
Hallo Micha !

Na, so ein Sch...... !
Dann ist das also nicht nur eine "liegen gebliebene" Anforderung.

Mag ja auch doch so sein, wie Markus schon geschrieben hat....
Es ist einfach noch nicht vollständig.

Finde es nur merkwürdig, dass in der Hilfe zu "$resource" 1995-2008 steht..... und nicht 2010.
Dadurch war ich der Meinung, dass es schon eine ältere Sache ist.



Zum Thema "Resource Editor":
Hier mal einen aktuellen Snapshot von mir......
BASCOM 2.0.2.0 => Bascom-Werkzeuge-Snapshot.jpg

Ich habe nur einen Font Editor.....
Wo soll da der Resource Editor sein? :hmmmm:
Der Plugin Manager gibt auch nichts weiter an.... nur den Font Editor.


Grüße,
Cassio
 
Hier mal ein Screenshoot von mir.
Da ist der Menü-Eintrag markiert für den Resource-Editor.
Der ist übrigens auch in der Bascomhilfe beschrieben.

Siehe Screenshoot2
 

Anhänge

  • Screenshot.jpg
    Screenshot.jpg
    180,8 KB · Aufrufe: 6
  • Screenshot2.jpg
    Screenshot2.jpg
    124,9 KB · Aufrufe: 5
Hallo Micha!

Danke, für den Snapshot.

Wie du aber sehen kannst, ist bei mir nichts weiter vorhanden......
Wenn ich mir deine Liste so ansehe, dann habe ich auch keinen "Export to HTML" oder "Device Manager". :hmmmm:

Das der Editor in der Hilfe beschrieben ist, hatte ich ja auch schon gefunden.....
Da steht ja drin, dass man ggf. auch einfach eine Excel-Tabelle nehmen kann.

Wie dem auch sei....
Mit einer LIB kann ich dann garantiert nicht dienen. ;)


Grüße,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)