robert.schöbel.net

Excel Punkt statt Komma

November 3rd, 2010

Es kann vorkommen, das Excel plötzlich anstatt eines Kommas für Dezimalstellen einen Punkt verwendet.

d.h. 5.000.78 anstatt 5.000,78

Problem Summen in Teilergebnissen ergeben Null (0)

Lösung: Ursache hierfür ist das falsch eingestellte Dezimaltrennzeichen in den Sprach und Ländereinstellungen in Windows

Start –> Systemsteuerung–>Datum, Zeit, Länder und Sprache (oder Region und Spracheinstellung)

dann Dezimaltrennzeichen von Punkt (.) in Komma (,) ändern und Excel neuladen

Robert Schöbel | usefull stuff | No comments Jump to the top of this page

Codeigniter 2 mit Doctrine 2

October 28th, 2010

Ein neues Projekt steht ins Haus und ich strebe dafür die Nutzung von Codeigniter 2 mit Doctrine 2 an.
Beide liegen noch noch nicht in einer stable Version vor,  sind aber sicher bald erhältlich.

Um die Doctrine zum laufen zu bekommen wird der Ordner einfach unter applications/librarys/ entpackt,
der Rest ist auf der folgenden Seite erklärt (gute Erläuterung, aber leider schlecht bei Google zu finden)

http://wildlyinaccurate.com/integrating-doctrine-2-with-codeigniter-2/

Damit die Doctrine Console in Windows mit dem Xampp auszuführen geht, muss nur folgendes getan werden:
Windows –> Ausführen –> CMD
dann Xampp Pfad auswählen und dort die php.exe ausführen
X:\Anwendung\xampp\xampp\php\php.exe -f “X:\Anwendung\xampp\xampp\htdocs\Projektordner\application\doctrine.php” orm:schema-tool:create


Dies erzeugt das Tabellenschema und es kann losgehen

weitere Hinweise in meinem HOW-TO

Robert Schöbel | PHP | 1 comment Jump to the top of this page

HTML to UTF 8 form_submit

October 13th, 2010

Problem:

Nutzung der Codeigniter Language Class

gesamtes Projekt auf UTF-8

Es soll ein Button mit folgendem Text erstellt werden
{code type=PHP}
<?php echo form_submit(‘change’,'Ändere Datensatz’); ?>
{/code}
Das Ä ist aber nicht akzeptabel, eine Änderung in &Auml; wird auf dem Button nicht in Ä umgewandelt

zusätzlich soll die Language Class genutzt werden d.h. es ergbit sich:
{code type=PHP}
<?php echo form_submit(‘change’, $this->lang->line(‘aendere_pw’)); ?>
{/code}
in der text_lang.php Datei steht der Text als HTML Tag

$lang['aendere_pw'] = "&amp;Auml;ndere Datensatz";

jetzt ist die Ausgabe kein Ä sondern &Auml;

deshalb muss die Ausgabe in UTF-8 umgewandelt werden
{code type=PHP}
<?php echo form_submit(‘change’, html_entity_decode($this->lang->line(‘aendere_pw’),ENT_COMPAT,’UTF-8′)); ?>
{/code}

Robert Schöbel | PHP | No comments Jump to the top of this page

SVN Add oder Import

July 31st, 2010

Heute habe ich nach langer Zeit mal wieder ein Ordner zu meinem SVN Repository hinzufügen wollen.
Da stellte sich die Frage: Wie bekomme ich einen bereits gefüllten Ordner in mein bestehendes Repository
dafür gibt es zwei Möglichkeiten mit TortoiseSVN

  1. SVN Add
  2. SVN Import

SVN Add

SVN ADD wird dann verwendet wenn der Ordner den ihr importieren wollt bereits unter einem Versionierten Ordner liegt

Ordner(versioniert)
Unterordner(versioniert)
Unterordner2(nicht versioniert)


Vorgehen:

  1. Rechte Maustaste auf den Unterordner –> SVN–>ADD (wie auf dem Bild)
  2. Das Adden bestätigen
  3. Der Ordner muss jetzt noch Committed werden
  4. Dazu Rechte Maustaste auf den Ordner und Commit des Ordners durchführen

SVN Import

Wird verwendet wenn sich der Ordner auserhalb eines versionierten Ordners  befindet


Order(versioniert)

Unterordner(versioniert)

Ordner2(nicht versioniert)

Vorgehen

Rechte Maustaste –> SVN Import

Pfad auswählen

Hierbei  ist zu beachten, dass der Pfadname den Ordnernamen des zu importierenden Ordners enthält

bei mir soll der Ordner Texmakerwin32USB importiert werden deshalb wird in den Ordner svn…/Texmakerwin32USB importiert

fehlt die Angabe des Ordners, werden alle Dateien in den Übergeordneten Ordner kopiert (das ist sicher nicht gewollt)

dann wird das ganze bestätigt

Achtung: der Ordner ist zwar im Repository, aber auf dem Laufwerk auf dem Ihr euch befindet ist er noch nicht unter Versionskontrolle.

Um dies zu erreichen wird vom Ordner eine Sicherheitskopie gemacht (falls Fehler auftreten, oder beim ersten Versuch)

Jetzt wird der zu versionierende Ordner von der Festplatte gelöscht.

Im nächsten Schritt wird der Ordner aus dem Repository ausgecheckt

Dazu im Übergeordneten Ordner auf Checkout klicken und  einen Ordner angeben

Nun steht dieser versioniert zur Verfügung

Wenn alles geklappt hat,  kann die Sicherheitskopie gelöscht werden

Robert Schöbel | SVN | No comments Jump to the top of this page

Silbentrennung Latex

July 25th, 2010

Die Silbentrennung in Latex erfolgt normalerweise automatisch.

Trotzdem kann es vorkommen, dass Latex über den Rand schreibt, weil es nicht umbrechen kann.

In meiner Diplomarbeit hatte ich ziemlich oft dieses Problem, weil ich viele Englische Wörter und IT-Fachbegriffe verwendet habe.

Ich verwende die Pakete

\usepackage[utf8x]{inputenc} %\UTF 8
\usepackage[T1]{fontenc} %damit Latex keine Probleme mit der Silbentrennung bei Worten mit Umlauten hat

Hier sind deshalb ein paar Tipps

Ausgabeziel Latexformatierung Beschreibung
Analyse- und Berichtsfunktion Analyse”~ und Berichtsfunktion Mit dem “~ bleibt der Aufzählungsbindestrich erhalten und es wird kein Umbruch an dieser Erstelle erzeugt
BI-Produkte BI”~Produkte “~ verhinder eine Trennung der Beiden Worte und der Bindestrich bleibt erhalten, das Wort Produkte wird weiterhin normal getrennt
Management-In|for|mations|system Management-In\-for\-mations\-system Ein normales - verhindert das die Worte Management und Informationssystem getrennt werden, deshalbt muss mit \- wieder die Trennungsmöglichkeiten eingebaut werden
Fragenkatalog Fragen”-katalog Latex kennt Beispielsweise das Wort Fragenkatalog nicht, deshalb muss es getrennt werden, mit “- wird es in Fragen und Katalog getrennt und wird wieder nach der richtigen Silbentrennung verarbeitet

Robert Schöbel | Latex, usefull stuff | No comments Jump to the top of this page

Neuigkeiten Speed.up.Work

July 5th, 2010

Es ist Zeit etwas über meine Bauberichtssoftware Speed.up.Work zu schreiben.

In der aktuellen Version gibt es folgende Auswertungsfeatures:

Visualisierung der Arbeiter je Firma,

einfache Zeitraumauswahl durch markieren des Bereiches

Firmenaus- und Abwahl durch setzen eines Hakens

Visualisierung der Arbeiter die sich pro Firma auf dem Bau befanden

Es können jetzt auch Mängel eingetragen werden (inklusive Bild).

Diese Mängel können dann als PDF (inklusive Bilder) oder als Excel (ohne Bilder) exportiert werden

weiter Infos

Robert Schöbel | usefull stuff | No comments Jump to the top of this page

Latex portable

June 24th, 2010

Um allen zu helfen, die den hohen Einarbeitungsaufwand für Latex umgehen wollen, biete ich hier ein Latex-Portable Zusammenstellung für Windows an.

Ich habe alles  in einer Zip-Datei zusammengestellt, was benötigt wird um ein Dokument (pdf) zu erzeugen.

Natürlich können die einzelnen Komponenten auch einzeln von den Anbietern geladen werden

  • Miktex (Bibliothekslader für Latex)
    • http://miktex.org/2.8/setup
  • texmaker (Schreibprogramm für Latex) (
    • http://www.xm1math.net/texmaker/download.html)
  • jabref  (Literaturdatenbank für die *.bib Datei)
    • http://jabref.sourceforge.net/
  • FoxitReader (PDF-Betrachter)
    • http://foxit-pdf-reader.softonic.de/

einfach die Datei extrahieren und lostexen :)

hier ist die Zusammenstellung als rar download

Das Beispiel Dokument (Typ article)  steht auch in einem Ordner bereit

Das Dokument ist als Diplomarbeit aufgebaut und besitzt dann folgende Komponenten

  • Inhaltsverzeichnis
  • Deckblatt
  • Abbildungsverzeichnis
  • Tabellenverzeichnis
  • Abkürzungsverzeichnis(\glossaries)
  • Glossar (\glossaries)
  • Literaturverzeichnis(bibtex)
  • Kopf und Fusszeilen
  • Grafiken (png)
  • Zitate
  • und viele Beispiele

Texmaker darf allerdings nicht mit der normalen texmaker.exe ausgeführt werden, dabei werden die Umgebungsvariablen nicht gesetzt. Es steht eine start_texmaker*.bat im texmaker Ordner zur Verfügung die dies erledigt.

Dazu einfach die im Archiv Ordner liegende readme druchlesen.

Normalerweise ist alles vorkonfiguriert aber evtl. müssen in Texmaker der Übersetzer angepasst werden

Ich habe es mit Windows XP und Vista getestet und es hat super funktioniert.

Option->texmaker konfiguriern->schnelles Übersetzen

{code type=text}

pdflatex -interaction=nonstopmode %.tex|bibtex %.aux|pdflatex -interaction=nonstopmode %.tex|makeindex -s %.ist -t %.alg -o %.acr %.acn|makeindex -s %.ist -t %.glg -o %.gls %.glo|pdflatex -interaction=nonstopmode %.tex

{/code}

Wenn das Übersetzen nicht geht müssen die Pfade zu den einzelnen Komponenten neu eingestellt werden.

Bei fragen steht das Board zur Verfügung

Robert Schöbel | Latex | No comments Jump to the top of this page

VMWare USB-Treiber nicht erkannt

June 11th, 2010

Die USB-Festplatte wird nicht erkannt oder die USB Geräte

The connection to the VMware USB Arbitration Service was unsuccessful. Please check the status of this service in the Microsoft Management Console.

Lösung:

Start->Ausführen->services.msc

Den Dienst:

VMware USB Arbitration Service

starten und auf automatisch umstellen stellen

Robert Schöbel | usefull stuff | No comments Jump to the top of this page

MySQL Dumper Cronjob

June 3rd, 2010

Dinge die beim Einrichten des Cronjobs für den MySQL-Dumper zu beachten sind

  1. pl oder cgi Datei in den Ordner /cgi-bin/ ablegen, dieser liegt oberhalb des normalen Webverzeichnisses welches oft “https” oder “web” heißt, allerdings trotzdem als http://deine_website/cgi-bin/ aufgerufen wird
  2. pl bzw. cgi Dateien müssen Rechte 755 besitzen
  3. in der datei crondump.pl ist folgendes anzupassen (my $absolute_path_of_configdir=”")

{code type=”text”}

my $absolute_path_of_configdir=”/var/www/……pfad………/web/mysql_dumper/work/config/”;

{/code}

die Pfad kann aus der MySQLDumperOberfläche entnommen werden

Die Url lautet dann

http://deine_webseite/cgi-bin/crondump.cgi?config=mysqldumper


Wenn die Mail nicht zu versendet geht, fehlt oft nur MIME-Lite. Dieses kann einfach mit in den cgi-bin Ordner kopiert werden

Ausführlich ist dies unter http://forum.mysqldumper.de/probleme-mit-sendmail-und-mime-lite-t3549.html

und http://forum.mysqldumper.de/features-perl-cronscript-einstellungen-von-konfiguration-cron-t502.html beschrieben

Robert Schöbel | usefull stuff | No comments Jump to the top of this page

amCharts width JSON and PHP howTo

May 10th, 2010

Dies soll eine kleines HowTo sein, wie man mittels JSON und PHP amCharts in einer Webseite einbindet

Ziel ist ein Chart wie hier abgebildet

Als erstes die Amcharts .js Dateien in den Header einbinden
<script src="deinewebseite/amcharts/amline/swfobject.js" type="text/javascript"></script>

Im HTML Code legt wird ein div-Tag angelegt. Dieses div-Tag bekommt eine ID, um später den Flash-Content einzuspielen zu können.

<div id="my_chart"> </div>

Nachfolgend die Javascript Funktion die ein FlashChart zeichnet

function draw(data,settings,print_id,width,height){

//mit jquery ist die base_uri auf der Seite hinterlegt und wird geholt

var main_path_on_server = $('#base_uri').val(); //  website url

var so = new SWFObject(
main_path_on_server + "/amcharts/amline/amline.swf", "amline", width, height, "8", "#FFFFFF");
so.addVariable("path", "amcharts/amline/");

//Chart Wertepaare einfügen
so.addVariable("chart_data", escape(data));
//Chart Settings einfügen
so.addVariable("chart_settings", encodeURIComponent(settings));
so.addParam("wmode", "opaque");
//flash in das div, mit der übergebenen id schreiben
so.write(print_id);
}

Die Funktion draw wird von der folgenden Funktion aufgerufen

//diese Funktion bekommt ein Json Objekt als Rückgabe einer AJAX-Anfrage vom Server

// dieses Objekt enthält die Member: xml,settings,flash_name,height,width

function prepare_draw(json_data){
var data = json_data.xml;
var settings = json_data.settings;

var flash_name = json_data.flash_name;

var height = json_data.height;

var width = json_data.width;
//call der draw funktion mit vorangestelltem xml- Syntax
draw("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + data,
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + settings,

flash_name, width, height);

}

Das JSON Objekt wird über ein Ajax Aufruf in PHP erstellt.

Um es zu füllen, ist  die JSON Funktion aus PHP 5 zu nutzen.

Die Amcharts XML wird mit  den Libraries von AmCharts-PHP 0.2.0 generiert.

in Pseudo Code sieht das ganze dann so aus

......

/*

* Die AMCHARTS-PHP libraries einbinden

* APPPATH = deine Website Url

*/


require_once( APPPATH . 'libraries/amxml_dateien.php');

......

$chart = new AmLineChart("Mychart");

//hole Daten aus der Datenbank in ein result

foreach ($query->result() as $row) {

//x-Achse

$chart->addSerie($row['id_x'],"titel");

//Array mit Wertepaaren

$werte_paare[  $row['id_x']  ] = $row['y_wert'];

}

//Graph zum Chart hinzufügen

$chart->addGraph("Wetter_id", "Wetter_name", $werte_paare);

//Titel setzen

$conf = array('text_size'=> '12', 'align' =>'center');

$chart->addLabel("<b>Wetter</b>", 10,25,$conf);

/* settings */

$chart->setConfig("column.balloon_text"," {title}: {value}");

$chart->setConfig("values.x.rotate","90");

$chart->setConfig("grid.x.approx_count","30");

$chart->setConfig("export_as_image.file","export");

$chart->setConfig("export_as_image.target","_blank");

//nun das JSON-Objekt befüllen

$json->data['xml'] = $chart->getDataXml();

$json->data['settings']= $chart->getConfigXml();

$json->data['width'] = 800;

$json->data['height']= 400;

$json->data['flash_name']= "my_chart";

//JSON-Objekt abschicken, hier dient als Beispiel ein einfaches echo

....

<code>echo json_encode($json);</code>

...

Ich hoffe es hilft jemandem.

$json->data['xml'] = $chart->getDataXml();

$json->data['settings']= $chart->getConfigXml();

Robert Schöbel | PHP | No comments Jump to the top of this page