Function LocatorToLatLong(locator asString)AsString()dim grid()asStringdim formatter asStringdim lon, lat asDouble
grid = locator.Uppercase.Split("")
lon =((grid(0).Asc-Asc("A"))*20)-180
lat =((grid(1).Asc-Asc("A"))*10)-90
lon = lon +((grid(2).Asc-Asc("0"))*2)
lat = lat +((grid(3).Asc-Asc("0"))*1)if grid.Ubound>=5then'have subsquares
lon = lon +((grid(4).Asc)-Asc("A"))*(5/60)
lat = lat +((grid(5).Asc)-Asc("A"))*(2.5/60)'move to center of subsquare
lon = lon +(2.5/60)
lat = lat +(1.25/60)'not too precise
formatter ="%.5f"else'move to center of square
lon = lon +1
lat = lat +0.5'even less precise
formatter ="%.1f"endifreturnArray(Sprintf(formatter, lat), Sprintf(formatter, lon))EndFunction
Für ein internes Projekt benötigten wir die Möglichkeit, DTA-Dateien für den elektronischen Zahlungsverkehr mit Realbasic zu erzeugen. Da hierzu wohl noch keine OpenSource-Lösung zur Verfügung stand, stellen wir hiermit unsere eigene Lösung zum Download bereit:
Wie berechne ich die Entfernung (in Kilometern) zwischen zwei Orten? Sofern Längen- und Breitengrad für beide Punkte vorliegen, kann dies mit folgendem Code durchgeführt werden:
1
2
3
4
Function DegreeToRadian(angle AsDouble)AsDoubleConst PI =3.14159265358979323846264338327950Return angle /180* PI
EndFunction
Update:
Die obigen Funktionen berechnen den Abstand auf Basis einer Kugel. Da die Erde aber an den Polen leicht abgeflacht ist, benutzt man zur genaueren Berechnung der Abstände auf bis zu 50 Meter das WGS84-Ellipsoid. Die folgende Funktion bildet die Berechnung in Realbasic nach:
Function GetDistanceWGS84(Latitude1 AsDouble, Longitude1 AsDouble, Latitude2 AsDouble, Longitude2 AsDouble)AsDoubleConst EarthRadius =6378.137Const Flattening =0.003352811Dim F,G,l,S,C,w,R,D,H1,H2 asDoubleDim SinF2,SinG2,Sinl2,CosF2,CosG2,Cosl2 asDouble
F = DegreeToRadian((Latitude1 + Latitude2)/2)
G = DegreeToRadian((Latitude1 - Latitude2)/2)
l = DegreeToRadian((Longitude1 - Longitude2)/2)
SinF2 =Sin(F)^2
SinG2 =Sin(G)^2
Sinl2 =Sin(l)^2
CosF2 =Cos(F)^2
CosG2 =Cos(G)^2
Cosl2 =Cos(l)^2
S = SinG2 * Cosl2 + CosF2 * Sinl2
C = CosG2 * Cosl2 + SinF2 * Sinl2
w = ATan(Sqrt( S / C ))
D =2* w * EarthRadius
R =Sqrt( S * C )/ w
H1 =(3* R -1)/(2* C)
H2 =(3* R +1)/(2* S)Return D *(1+ Flattening * H1 * SinF2 * CosG2 - Flattening * H2 * CosF2 * SinG2)EndFunction
Update2:
Ergänzend zu der Kugel- und Ellipsoid-Berechnung noch eine sehr einfache Funktion mit der Pythagoras-Formel. Diese sollte allerdings nur für kurze Distanzen genutzt werden, da es hierbei aufgrund der Erdkrümmung zu Abweichungen kommt:
Bei der Programmierung einer kleinen Anwendung zum Upload von Dateien per POST auf einen Webserver stieß ich auf das Problem, dass die Fortschrittsanzeige innerhalb von HTTPSocket.Sendprogress falsche Werte liefert. Dies begründet sich dadurch, dass ein interner TCP Puffer vor dem Upload gefüllt wird und somit beim Upload kleiner Dateien unter 1 MB (unter Mac OS X) überhaupt keine Fortschrittsanzeige mehr möglich ist. Auf der Suche nach einer Lösung hat mir Brad Hutchings von Componentx.com in der englischen Mailingliste weiterhelfen können. Innerhalb des HTTPSocket.Connected Event’s muss folgender Code eingefügt werden:
Monkeybread Software hat mit einer Gruppe von Herstellern professionelle Werkzeuge für die Softwareentwicklung das Omega Bundle 2011 für REAL Studio zusammengestellt. In einem speziellen Angebot werden zehn Produkte rund um REAL Studio als Paket angeboten. Einzeln gekauft würden Sie $3200 kosten, aber für kurze Zeit gibt es dieses Paket für nur $399, eine Ersparnis von über 80%!
Das Omega Bundle 2011 für REAL Studio enthält:
Formatted Text Control: Ein Steuerelement für Textverarbeitungen in ihren REAL Studio Anwendungen. Einzelpreis $150.00.
Elastic Windows: Klassen für elegantes Vergrößern und Verkleinern von Fenstern in ihren Anwendungen. Einzelpreis $195.00.
Mask-R-Aid: Ein Grafikprogramm zum Erzeugen von Masken für Photorealistische Icons. Einzelpreis $19.95.
RB Code Reports: Analysiert ihre REAL Studio Anwendungen und erstellt Berichte zu Softwaremetriken. Einzelpreis $24.95.
REAL Studio Developer Magazine. Alle bisherigen Ausgaben und ein Jahresabo der Zeitschrift. Einzelpreis $261.00.
Aspen Icon Set. 80 professionelle Icons für ihre Anwendungen. Einzelpreis $179.00.
Valentina Office Server Unlimited. Datenbanksoftware für einen Server in ihrem Büro. Einzelpreis $1499.
Franklin 3D Game Engine. Einfach zu benutzende, Cross Platform 3D Umgebung für Spiele, Simulationen und 3D Anwendungen. Einzelpreis $299.
MBS Complete. Tausende von Funktionen, die REAL Studio erweitern. Einzelpreis $259.00.
Valentina ADK+ für REAL Studio. Schnelle Datenbank zum Einbetten in eigene REAL Studio Anwendungen für Windows, Mac OS X und Linux. Einzelpreis $399.00.
Vor einigen Stunden hat REALSoftware die Version 5 von REAL Studio sowie die neue Einzelversion von REAL Studio Web Edition veröffentlicht, mit welcher sich Web-Applikationen spielend leicht zusammenstellen und programmieren lassen. REAL Studio Web Edition ist einzeln für 475,00 EUR oder als Upgrade in REAL Studio Enterprise ab sofort erhältlich.
REAL Software stellte heute eine neue Plattform für ihr Entwicklungstool vor: REAL Studio Web Edition. Traditionelles Web-Development verlangt von Entwicklern das Erlernen von verschiedenen Sprachen, darunter HTML, CSS, JavaScript, AJAX, PHP und Java. REAL Studio Web Edition hingegen stellt einen Interface Builder zur Verfügung, bei welchem die verschiedenen Elemente per Drag & Drop positioniert werden können – dies spart Stunden an Entwicklungszeit, verglichen mit der manuellen Programmierung mit HTML und CSS. Entwickler müssen lediglich eine einzige, Objektorientierte Sprache nutzen welche in das REAL Studio Web-Framework integriert wurde.
Zur Zeit befindet sich REAL Studio Web Edition noch in der Betaphase, als Erscheinungstermin ist Herbst 2010 geplant. Zukünftig wird dieses Framework innerhalb von REAL Studio Enterprise Edition mit ausgeliefert, alternativ wird es aber auch für $599 einzeln erhältlich sein.
REAL Software hat am heutigen Tag REAL Studio 2010 Release 1 veröffentlicht. Mit dieser Release ändert sich der Name der IDE (der integrierten Entwicklungsumgebung) in REAL Studio. Die Programmiersprache heißt weiterhin REALbasic.
REAL Studio 2010 Release 1 bietet 46 Verbesserungen und 17 neue Funktionen, einschließlich einer verbesserten ActiveX-Unterstützung. Die meisten ActiveX-Steuerelemente können eingesetzt werden, ihre Einbindung gestaltet sich einfacher. Alle Events werden unterstützt. Außerdem wurde die Auto-Vervollständigung verbessert. Mit dieser Release steht als 9. Sprachversion auch eine koreanische Lokalisierung zur Verfügung. Außerdem wird die komplette Anleitung ab sofort in einem Wiki-Format bereitgestellt. Dies erlaubt es, eine verbesserte und ständig aktualisierte Anleitung verfügbar zu machen.
Heute wurde die neue REALbasic Version 2009 R3 zum Download freigegeben. Unter anderem wurde eine neue OpenGL-Engine umgesetzt, 94 Fehler behoben sowie 31 neue Features integriert. Das Editfield-Control wurde durch die zwei neuen Controls Textfield und Textarea ersetzt – bestehender Sourcecode mit Editfields funktioniert zwar weiterhin, allerdings wird dieses in einer künftigen REALbasic-Version entfernt. Beim Laden eines vorhandenen Projektes weist REALbasic auf diesen Umstand hin und bietet die automatische Konvertierung an.