>> Hat jemand eine Routine, die Maidenhead-Koordinaten in Längen- und
>> Breitengrade umrechnet?

Keine Zeit dafür, aber ein paar Tipps, um den C-Source nach RB zu bringen:

Der "?"-Operator:

c = x ? a : b

In RB-Code:

if x then
  c = a
else
  c = b
end

(man kann da natürlich auch ne Funktion draus machen)

Die Zeile
  public struct LatLong : IComparable
ist eine Klassen-Deklaration mit Namenb LatLong, abgeleitet (oder
interface) von IComparable. In RB macht daraus ne Klasse und
implementiert CompareTo als Operator_Compare.
Die beiden Properties der Klasse heißen Lat und Long, wobei man bei RB
evtl. Long in Lon umbenennen sollte, um Konflikte zu vermeiden.

"static" kann man ignorieren. Ist bei Klassen und Method-Deklarationen
sowas wie "private".

Regex.IsMatch kann man mit der RB-Regex-Klasse lösen.

locator[n] greift auf das 1. Zeichen im String zu. In RB wäre das dann
locator.Mid(n+1,1)
Dabei wird das dann gleich noch in einen ASCII-Code verwandelt, also
noch ASC()-Funktion davon. Und 'A' wird zu ASC("A")

Der Operator += addiert den rechten Wert auf den Linken auf. Also:
  a += 2
entspricht in RB:
  a = a + 2

Was die verschiedenen Math-Funktionen, z.B. Math.IEEERemainder
liefern, mußt du ggf. googeln.

Viel Erfolg!

Thomas


-- 
Thomas Tempelmann, http://www.tempel.org/
Follow me on Twitter: http://twitter.com/#!/tempelorg

Antwort per Email an