Archiv der Kategorie: Programmieren

AstroBuild: Die Anwendungsmöglichkeiten sind unbegrenzt!

https://github.com/lhartikk/AstroBuild

„Jupiter und Saturn in Konjunktion? Ganz schlecht für’s Drucken.“ Also lieber eine Fehlermeldung ausgeben, und Drucken erst wieder 2 Wochen später erlauben.

„Mars steht bei Venus“?  Ui, da sind Anwender bestimmt abgelenkt, da sollte man bei jedem Versuch, ‚was ein zu geben, eine Fehlermeldung ausgeben 😛

Herrlich!

BigDecimal, toString, Locale und Präzision

Also, hierfür gehöre ich eigentlich in die siebte Programmiererhölle.Aaaaber: BigDecimal, Copy & Paste aus einem JTable und Locales – bei Erhalt voller Präzision (Deswegen kein NumberFormat… ) sind echt nicht schön, und zwingen mich zu dieser fiesen Maßnahme.Hat jemand eine bessere Idee?

/**
* author Brockhaus
*
since 2.2.1
*/
public class LocalizedBigDecimal extends BigDecimal {

static final char sepCharLocale = ((DecimalFormat)DecimalFormat.getInstance()).getDecimalFormatSymbols().getDecimalSeparator();
static final char groupCharLocale = ((DecimalFormat)DecimalFormat.getInstance()).getDecimalFormatSymbols().getGroupingSeparator();

static final char sepCharUS = ((DecimalFormat)DecimalFormat.getInstance(Locale.US)).getDecimalFormatSymbols().getDecimalSeparator();
static final char groupCharUS = ((DecimalFormat)DecimalFormat.getInstance(Locale.US)).getDecimalFormatSymbols().getGroupingSeparator();

/**
* param val the number as string in the current locale
*
throws ParseException
*/
public LocalizedBigDecimal(String val) throws ParseException {
super(val.replace(sepCharLocale,’\n‘).replace(groupCharLocale,’\t‘).replace(‚\t‘, groupCharUS).replace(‚\n‘, sepCharUS));

}

public String toString(){
return super.toString().replace(sepCharUS,’\n‘).replace(groupCharUS,’\t‘).replace(‚\t‘,groupCharLocale).replace(‚\n‘, sepCharLocale);
}

}

Eclipse und „Restricted Access“ auf rt.jar

Von: http://www.digizol.com/2008/09/eclipse-access-restriction-on-library.html

Wenn Eclipse jault, dass eine Klasse nicht im Zugriff liegt (access restriction on rt.jar), kann man die Fehlermeldung wie folgt auf eine Warnung reduzieren:

„Preferences“ > „Java“ > „Compiler“ > „Errors/Warnings“ > „Deprecated and restricted API“ > „Forbidden references (access rule)“ auf „Warning“ setzen.

Kein schöner Stil, aber hilft manchmal, Fremdcode zu kompilieren (oder -in meinem Fall- Zugriff auf sun.awt.image.ToolkitImage zu bekommen, um erheblich mehr Performance in Bildbearbeitung zu bringen…).

Hat mich etwas Forschungsarbeit gekostet, deswegen hier dokumentiert.

SQLServer Substring und Oracle Substr

Ich dachte ja eigentlich, dass, wenn man ein SQL-Skript aus einer Oracle-Anwendung auf den SQLServer migriert, man nur das „substr“ durch „substring“ ersetzen muss.

Klappt fast immer. Nur, wenn man den <startindex> von substr(‚text‘,<startindex>,<länge>) kleiner als 1 wählt (z.B.) substr(„abcdefg“,0,2) bekommt man bei Oracle „ab“ – beim Sqlserver aber nur „a“.

Grund: Der Sqlserver liefert *immer* einen String der Länge <startindex>+<länge>-1 (oder null, wenn das kleiner als 0 werden sollte). Oracle liefert immer einen String der Länge <länge>.

Quellen:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions162.htm
http://msdn.microsoft.com/de-de/library/ms187748.aspx