Skip to content

Archiv fuer den Monat Februar, 2014

7
Feb

Hände hoch Wochenende!

Wer das Bild kennt wird wahrscheinlich über den Titel lachen. Für den Rest: Einfach nix dabei denken 😉

Heute am Freitag starten wir wiedermal ins Wochenende. Da das Wetter ja schon Frühlingshaft ist, hab ich die Gelegenheit mal beim Schopf gepackt und mein Auto wieder mal gewaschen. Über die Zeit hat sich schon wieder ziemlich viel Flugrost angesammelt, der auch wiedermal runtermusste. Wenn das Wetter morgen auch noch durchhält, wird auch das Auto meiner Freundin wiedermal gewaschen.

War heute auch noch beim Autohaus, wegen meiner Steuerkette. So ganz weiß ich nämlich noch nicht ob die ausgetauscht gehört. Beim Kaltstart am morgen höre ich eigentlich schon immer kurz ein Rasseln. Außerdem habe ich währen der fahrt hin und wieder sporadische „Zündaussetzer“. Zündaussetzer in Anführungszeichen, da ich nicht weiß was es wirklich ist. Jedenfalls passiert es dann, dass während der Fahrt einfach keine Motor Leistung mehr da ist. Für ca. 0.5 Sekunden wird dabei kein Gas mehr angenommen, danach schon wieder. Jedenfalls muss ich meinen Wagen jetzt am Mittwoch zum Autohaus bringen und die sehen ihn sich am Donnerstag mal an. Bin ja mal gespannt was dabei rauskommt.

Seit dem letzten Wochenende gibt es ja auch den Chromecast-Dongle auf Amazon. Da hab ich gleich zugeschlagen. Für 34€ habe ich das „Gerät“ am Sonntag bestellt und am Dienstag bekommen. Wenn ich dieses Wochenende noch die nötige Zeit dazu habe, gibts auch zum Chromecast einen Blogeintrag mit einem kleinen Test.

Habe diese Woche auch so ziemlich einen ganzen Tag damit verbracht, wie man Outlook-Dateien (Mails u. Kontakte) aus der Zwischenablage in ein eigenes Programm einfügen kann (auch per Drag & Drop). Wie schon erwähnt hat mich das ca. einen Tag Suchen gekostet und einiges an Nerven. Zum Schluss habe ich es aber dann doch geschafft. Das Problem ist dabei eigentlich, dass z. B. Outlook-Mails in in Wirklichkeit in einer Datenbank liegen. Die Mails sind dann beim kopieren als eine Art virtuelle Kopie da. Jedenfalls müssen diese Dateien dann in anderer Art und Weise aus dem Zwischenspeicher kopiert werden, als wenn man z. B. nur eine PDF-, Word- oder sonstirgendeine Datei kopiert. Nun ja, jetzt funktionierts jedenfalls. Um dem ein oder anderen die über einen Tag dauernde Suche zu ersparen, wirds dazu auch diesen Monat noch ein Tutorial geben.

Kommen wir also zum nächsten und letzten Thema in diesem Blogeintrag: Musik.
Ich mag ja Peter Fox ganz gern. Auch sein Album Stadtaffe habe ich eine Zeit lang auf und ab gehört. Fand ich sehr gelungen.
Gestern als ich also meine Twitter-Timeline ein wenig durchgesehen habe, hat @sobaba21 schon ziemlich von dem neuen Album von Marteria geschwärmt.
So viel hab ich mir dabei noch nicht gedacht und habs mehr oder weniger „überlesen“.
Als dann auch @JensHerforth darüber geschrieben hat und was von wegen „könnte ein zweiter Peter Fox werden“ erwähnt hat, wurde ich Hellhörig, also habe ich mir gleich mal ein paar Titel von Marteria auf Youtube angehört. Finde Marteria nun auch ziemlich gut. Zwar finde ich Peter Fox besser, aber Marteria hat auch einige gute Titel dabei.
Also habe ich mir auch gleich mal die beiden Alben Zum Glück in die Zukunft und Zum Glück in die Zukunft II gekauft. Dank Amazon AutoRip habe ich die Alben auch gestern gleich anhören können 🙂

4
Feb

C++ Builder + iOS: Seitliche Einstellungsleiste + „modale“ Dialoge

Heute gibts mal wieder einen Blogeintrag aus dem Bereich C++ Builder + iOS. Und zwar gibt es ein kleines Tutorial wie man eine seitliche Einstellungsleiste erstellen kann und wie man fast genausoleicht „modale“ Dialoge in iOS nachbilden kann. Modale Dialoge wie z. B. beim Hinzufügen eines neuen Kontakts in der Telefon-App.

Nachdem wir eine Mobile C++-Builder Anwendung erstellt haben, beginnen wir mit dem Design. Als erstes legen wir ein Layout auf die Form. Dieses Layout setzen wir auf „alClient“, so dass es die gesamte Form einnimmt. In dieses Layout wiederum setzen wir eine ListBox wiederum mit „alClient“ und fügen ein paar Einträge mit dem Eintragseditro hinzu.

Danach legen wir eine zusätzliche ListBox auf die Form. Dieser weisen wir den Align „alLeft“ zu und auch hier fügen wir über den Eintragseditor ein paar Einträge hinzu. Bei mir heißen diese „Einstellung 1“, „Einstellung 2“ und „Einstellung 3“. Danach setzen wir die „Width“-Property dieser ListBox auf 0, so das diese nicht mehr sichtbar ist.

Zum Schluss legen wir noch ein Layout auf die Form, welches ich „layModal“ genannt habe. Dieses Layout bekommt als Align „alBottom“ und enthält ein Rectangle, welches wiederum einen Button und eind Label enthält. Das Rectangle setzen wir auf „alClient“, damit es den gesamten Bereich des Layouts einnimmt. Außerdem entfernen wir alle Haken bei „Corners“ und „Sides“ und setzen dann unter „Fill“->“Color“ die Farbe auf „White“.
Wozu brauchen wir das Rectangle überhaupt? Je nachdem welche Komponenten auf dem modalen Layout liegen, werden die darunter liegenden Komponenten nicht verdeckt. Durch ein weißes Rectangle umgeht ihr dies.
Zum Schluss setzen wir den „Height“-Wert des modalen Layouts auf 0, so dass auch dieses nicht mehr sichtbar ist.

In das erste Layout, in dem die „Haupt“-ListBox ist, fügen wir noch eine Toolbar ein, welche einen Button enthält. Den Button setzen wir mittels der Eigenschaft „StyleLookup“ auf „addtoolbutton“. Die Toolbar erhält auch noch einen zweiten Button, der als Align „alLeft“ hat und als StyleLookup „detailstoolbutton“.

Außerdem brauchen wir noch 2 Float-Animations. Eine muss in der 2en (Einstellungs)ListBox liegen, die andere im layModal. Die FloatAnimation für die Einstellungen erhält für die Eigenschaft „PropertyName“ den Wert „Width“, die für den modalen Dialog „Height“.

Damit sind wir mit der GUI fertig, diese sollte dann in etwa so aussehen:

Nun brauchen wir noch folgenden Code:

Der Button für die Einstellungsleiste:

if (this->ListBox2->Width == 200)
{
	this->FloatAnimationEinstellungen->StartValue = 200;
	this->FloatAnimationEinstellungen->StopValue = 0;
}
else
{
	this->FloatAnimationEinstellungen->StartValue = 0;
	this->FloatAnimationEinstellungen->StopValue = 200;
}
	
this->FloatAnimationEinstellungen->Start();

Der Button für den modalen Dialog:

this->FloatAnimationModal->StartValue = 0;
this->FloatAnimationModal->StopValue = this->Height;
this->FloatAnimationModal->Start();

Der Button im modalen Dialog:

this->FloatAnimationModal->StartValue = this->Height;
this->FloatAnimationModal->StopValue = 0;
this->FloatAnimationModal->Start();

Damit sind wir durch. Hier noch das (zugegeben nicht schönste) Ergebnis:

Falls ihr in Zukunft auch solche Tutorials als Videso haben möchtet hinterlasst mir einfach einen Kommentar 🙂