# README-Datei zu ConvertAll

## Ein Programm zum Konvertieren von Einheiten

Geschrieben von Doug Bell
Version 0.6.0
1. Februar 2014

## Inhalt

- Hintergrund
- Features
- Rechtliches
- Systemanforderungen
  - Linux
  - Windows
- Installation
  - Linux
  - Windows
- ConvertAll benutzen
  - Grundlagen
  - Einheiten kombinieren
  - Abkürzungen
  - Einheitensuche
  - Optionen
  - Nichtlineare Umwandlungen
  - Verwendung auf der Kommandozeile
- Versionshistorie
- Fragen, Kommentare, Kritik?

## Hintergrund

Warum noch ein Einheiten-Konverter? Es gibt doch bereits jede Menge. Tja, ich konnte aber keinen finden, der so funktionierte, wie ich es mir vorstellte.

Mit ConvertAll kann man Einheiten auf beliebige Weise kombinieren. Wenn Sie von Zoll pro Dekade konvertieren wollen, in Ordnung. Oder von Meterpfund. Oder von nautischen Kubikmeilen. Die Einheiten müssen für niemand anderen einen Sinn ergeben.

Da ich nichts mit dem Software-Business zu tun habe, erlaube ich jedem, das Programm kostenlos zu nutzen, zu verteilen und zu modifizieren, so lange es nicht Teil eines proprietären Programms wird. Wenn Ihnen die Software gefällt, sagen Sie es ruhig weiter. Und teilen Sie mir mit, was Sie denken. Meine E-Mail-Adresse ist doug101 AT bellz DOT org.

## Features

- Die Basiseinheiten für die Konvertierung können eingetippt (mit Auto-Vervollständigung) oder aus einer Liste ausgewählt werden.
- Einheiten können sowohl mit ihrer Abkürzung als auch mit ihrem vollen Namen angegeben werden.
- Einheiten können mit den Rechenoperationen „*“ und „/“ kombiniert werden.
- Mit dem Operator „^“ können Einheiten zu einer Potenz erhoben werden.
- Einheiten im Nenner können mit Klammern gruppiert werden.
- Auch Einheiten mit nichtlinearen Skalen, wie Temperatur, können konvertiert werden.
- Eine Liste von Einheiten kann gefiltert und durchsucht werden.
- Die zuletzt benutzten Einheitenkombinationen können in einem Menü ausgewählt werden.
- Zahlen können sowohl auf der Seite der Quell- als auch der Zieleinheit angegeben werden, um in beide Richtungen konvertieren zu können.
- Anstelle von Zahlen können auch einfache mathematische Ausdrücke eingegeben werden.
- Die Formatierung der numerischen Ergebnisse kann durch Optionen festgelegt werden.
- Die Einheitendaten enthalten mehr als 500 Einheiten.
- Das Format der Einheitendatei macht es einfach, neue Einheiten hinzuzufügen.
- Mit Hilfe von Kommandozeilenoptionen können Umwandlungen ohne die GUI vorgenommen werden.

## Rechtliches

ConvertAll ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE. Details finden Sie in der Datei `LICENSE`, die mit diesem Programm ausgeliefert wird.

## Systemanforderungen

### Linux

ConvertAll benötigt die folgenden Bibliotheken:

- Python (Version 3.2 oder höher)
- Qt (Version 4.6 oder höher - siehe Trolltech für weitere Informationen)
- PyQt (Version 4.8 oder höher - siehe Riverbank für weitere Informationen)

Diese Libraries sind relativ neu - evtl. gibt es kein Paket für Ihre Distribution. In diesem Fall gibt es noch eine frühere Version von ConvertAll (0.3.2), die von älteren Versionen der Libraries abhängt. Diese steht aber leider nur in Englisch zur Verfügung.

### Windows

Wenn Sie die Dateien aus dem Binärpaket nutzen, sollte ConvertAll auf jedem Computer mit Windows XP, Vista, 7 oder 8 laufen.

## Installation

### Linux

Packen Sie die Quelldateien aus dem convertall tar-Archiv aus, wechseln Sie dann in einem Terminal in das Verzeichnis `ConvertAll`. Für eine einfache Installation führen Sie nur den folgenden Befehl als „root“ aus: `python install.py`

Um alle Installationsoptionen zu sehen, geben Sie ein: `python install.py -h`

Um ConvertAll unter einem anderen Verzeichnispräfix zu installieren (der Default ist `/usr/local`), geben Sie dies ein: `python install.py -p /prefix/pfad`

### Windows

Führen Sie einfach die heruntergeladene Installationsdatei aus (`convertall-x.x.x-install-all.exe`). Damit wird das Programm mit den Libraries installiert und optional werden Dateitypzuordnungen und Verweise angelegt.

Wenn Sie den Quellcode modifizieren wollen oder eigene PyQt-Programme für Windows schreiben wollen, dann folgen Sie nicht den gerade beschrieben Ablauf. Stattdessen müssen Sie Python und das Binary von PyQt installieren. Dann entpacken Sie den Sourcecode und die Daten-Dateien der Linux-Version (die convertall tar-Datei) in ein Verzeichnis Ihrer Wahl und führen die Datei `convertall.py` aus.

## ConvertAll benutzen

### Grundlagen

Geben Sie einfach einen Einheitennamen in das Eingabefeld „Ausgangseinheit“ ein. Während Sie tippen, verschiebt sich die Liste unter dem Eingabefeld, bis Einheitennamen angezeigt werden, die Ihrer Eingabe ähnlich sind. Geben Sie entweder das Einheitenkürzel bzw. den Einheitennamen komplett an oder drücken Sie die Eingabetaste, um die in der Liste hervorgehobene Einheit zu nehmen. Natürlich können Sie auch mit der Maus auf eine Einheit aus der Liste klicken, um sie in das Eingabefeld zu übernehmen. Sie können auch die Pfeiltasten nach oben und unten benutzen, um benachbarte Einheiten aus der Liste auszuwählen.

Wiederholen Sie die Einheiteneingabe im Eingabefeld „Zieleinheit”. Wenn Sie fertig und die Einheiten kompatibel sind, dann sehen Sie, dass die numerischen Eingabefelder unterhalb der Einheitenlisten aktiviert werden. Sie können in eines der beiden Felder einen Zahlenwert eingeben, und im anderen Feld wird das Ergebnis der Umwandlung stehen.

### Einheiten kombinieren

Die wahre Stärke von ConvertAll liegt in seiner Fähigkeit, mehrere Einheiten zu kombinieren. Geben Sie einfach die Einheitennamen mit einem ‚*‘ oder ‚/‘ dazwischen ein. Damit können Sie Einheiten wie „N*m” oder „km/hr“ ausdrücken. Das Symbol ‚^‘ kann für Exponenten genutzt werden, wie „m^3“ oder „kg*m/s^2”. Negative Exponenten sind erlaubt, um Einheiten wie „sec^-1“ (pro Sekunde) angeben zu können, aber es kann sein, dass sich dadurch Multiplikations- oder Divisionszeichen umkehren („m*s^-2“ wird zu „m/s^2”).

Multiplikation und Division haben die gleiche Präzedenz und werden daher von links nach rechts ausgewertet. Es können auch Klammern benutzt werden, um die Einheiten im Nenner zu gruppieren. Daher kann „m / sec / hr“ auch als „m / (sec * hr)“ eingegeben werden. Die Variante mit den Klammern ist möglicherweise weniger verwirrend.

Die Schaltflächen unter den Einheitenlisten („X“, „/“, „^2“, „^3“) fügen ebenfalls den jeweiligen Operator hinter der Einheit ein, die der Schreibmarke am nächsten steht. Die Schaltflächen für die Exponenten ersetzen den Exponenten der Einheit.

Auch wenn Sie auf eine Einheit aus der Liste klicken, wird im Allgemeinen die der Schreibmarke am nächsten stehende Einheit im Eingabefeld ersetzt.

Die Schaltfläche „Einheit löschen“ unter den Operator-Schaltflächen kann benutzt werden, um das Eingabefeld zu löschen und eine neue Einheit eingeben zu können.

### Abkürzungen

Wenn Sie Einheitennamen eingeben, werden Leerzeichen ignoriert. Sie können sie also weglassen. Wenn Sie einen Teil eines Einheitennamens bereits eingetippt haben, wird der entsprechende Eintrag in der Liste hervorgehoben. Durch Drücken der Eingabetaste wird der Name im Eingabefeld vervollständigt. Auch durch Betätigen der Tabulatortaste wird der Name vervollständigt und zum nächsten Eingabefeld gesprungen.

Die Schaltfläche „Zuletzt benutzte Einheit“ öffnet ein Menü der zuletzt verwendeten Einheiten und Einheitenkombinationen. Die aktuelle Einheitenkombination wird durch eine Auswahl in diesem Menü ersetzt.

Der zu konvertierende Zahlenwert kann entweder auf der „Ausgangs”- oder der „Ziel”-Seite eingegeben werden. Für die Eingabe kann Standard- oder wissenschaftliche Schreibweise benutzt werden, oder ein Ausdruck mit einfachen mathematischen Operatoren (+, -, *, /, **) und Klammern.

### Einheitensuche

Die Einheitensuche kann benutzt werden, um Einheiten nach Typ zu filtern und/oder mit einem Textstring nach Einheiten zu suchen. Sie zeigt in einem neuen Fenster eine separate Einheitenliste. Die Liste wird anhand des Filters und der Sucheingabe aktualisiert.

Mit Schaltflächen weiter unten im Suchfenster kann die ausgewählte Einheit zu den Einheiten in einem Eingabefeld im Hauptfenster hinzugefügt werden. Die „Ersetzen”-Schaltflächen ersetzen die gesamte Eingabe durch die ausgewählte Einheit. Die „Einfügen”-Schaltflächen ändern nur den Teil einer kombinierten Einheit, der aktiv ist (bei der Schreibmarke im jeweiligen Eingabefeld des Hauptfensters).

### Optionen

Die Schaltfläche „Optionen...“ öffnet ein Fenster, in dem sich verschiedene Voreinstellungen ändern lassen. Diese werden automatisch gespeichert, ConvertAll startet das nächste Mal automatisch mit den zuletzt gewählten Einstellungen.

Die erste Option bestimmt die Anzeige numerischer Ergebnisse, einschließlich der Verwendung einer wissenschaftlichen Zahlennotation und der Anzahl der dargestellten Dezimalstellen. Setzen Sie die Zahl der Dezimalstellen nicht zu niedrig, da hierdurch die Genauigkeit stark leiden kann. Sechs oder mehr Stellen sind empfohlen (acht ist die Voreinstellung).

Es gibt eine Option, um festzulegen, wie viele der zuletzt benutzten Einheiten gespeichert werden sollen. Setzt man die Zahl auf Null, dann werden die Schaltflächen für den Zugriff auf die zuletzt benutzten Einheiten deaktiviert.

Ein Option dient dazu, die Schaltflächen mit den Operationen („X“, „/“, „^2“, „^3“, „Einheit löschen“ und „Zuletzt verwendete Einheit“) zu verstecken. Durch diese Option kann man Platz sparen, falls Sie die Operatoren nur mit der Tastatur eingeben.

Weitere Schaltflächen im Optionsdialog dienen dazu, die Farben der Textfelder zu ändern.

### Nichtlineare Umwandlungen

Bei einigen Einheiten ist die Umwandlung nichtlinear. Dazu gehören zum Beispiel die Temperaturenskalen für Fahrenheit und Celsius (da der Nullpunkt einen Offset hat) und für American Wire Gauge (amer. Kodierung für Drahtdurchmesser, logarithmische Skala). Die nichtlinearen Einheiten sind in der Kommentarspalte (rechts von der Typ-Spalte) als solche gekennzeichnet.

Diese Einheiten können nur umgewandelt werden, wenn sie nicht mit anderen Einheiten kombiniert werden und keinen Exponenten tragen. Andernfalls wäre die Umwandlung nicht sinnvoll.

### Verwendung auf der Kommandozeile

Umwandlungen können auf der Kommandozeile (Linux-Konsole oder Windows/DOS Befehlsaufforderung) ausgeführt werden, ohne die grafische Benutzerschnittstelle aufzurufen. Geben Sie den Befehl („convertall“ unter Linux, „convertall_dos“ aus dem Windows-Binäarpaket), gefolgt von der Zahl, der Ausgangseinheit und der Quelleinheit an, getrennt durch Leerzeichen. Wenn Einheitennamen Leerzeichen enthalten, müssen sie in Anführungszeichen gesetzt werden. Alternativ können Sie auch die Option „-i“ auf der Kommandozeile verwenden („convertall -i“ unter Linux, „convertall_dos -i“ unter Windows), die Angaben werden dann interaktiv eingegeben.

Wenn die Umwandlung erfolgt ist, fragt ConvertAll nach einer neuen Zahl für die gleiche Umwandlung. Mit „n“ wird eine neue Umwandlung gestartet, mit „r“ kann die Konversion umgekehrt werden, mit „q“ wird das Programm beendet.

Mit der Option „-h“ auf der Kommandozeile („convertall -h“ unter Linux, „convertall_dos -h“ unter Windows) bekommen Sie eine ausführlichere Liste der Optionen.

## Versionshistorie

Die vollständige Versionshistorie befindet sich in der englischen Version der README-Datei.

## Fragen, Kommentare, Kritik?

Man kann mich per E-Mail erreichen unter: doug101 AT bellz DOT org
Ich freue mich über jedes Feedback, einschließlich Mitteilung über Fehler, die Sie finden. Schauen Sie auch regelmäßig unter www.bellz.org nach Updates.