Nachdem mir die zuletzt gepostete bat-Version zur automatischen Erstellung einer Build-Version in FlashDevelop nicht wirklich zugesagt hat, habe ich mich erneut damit auseinander gesetzt. Die letzte Lösung war ja nur ein Workaround mit einer pseudo-Build-Nummer, die aus dem Datum konstruiert wird. Die neue Version ist jetzt mit JavaScript geschrieben und läuft als hta-Anwendung. Das macht vieles in diesem Script imho erheblich leichter und die Build-Nummer wird jetzt ‘richtig’ inkrementiert. Das Script kann hier heruntergeladen werden. Eine readme-Datei ist auch dabei
.
Archive for the ‘Tools’ Category
Build Version Increment Script mit HTA
Alternative zum Remote Desktop
Mit dem WindowsXP-eigenen Remote-Desktop System gibt es meiner Erfahrung nach häufig Probleme. Gestern war es auch nach einem dreiviertelstündigen Versuch eine Verbindung herzustellen, nicht möglich das Tool zu verwenden. Ich habe dann die Alternative RealVNC gefunden und ausprobiert. Dieses Tool benötigt lediglich die IP-Adresse des hilfesuchenden PCs, um eine Verbindung aufzubauen. Eine kostenlose Version ist erhältlich.
Die Installation ist einfach und unkompliziert, allerdings wird standardmäßig der Server als Service angelegt und gestartet. Nachdem man das Tool normalerweise wohl nicht täglich braucht, ist dies eher unnütz. Startmenü-Einträge machen die Deaktivierung aber denkbar einfach.
JavaScript exe- und dll- Compiler
Wie ich neulich zufällig las, kann JavaScript mittels des frei verfügbaren Microsoft Compilers jsc in .net-Exe-Dateien und -DLLs kompiliert werden. Das kleine Progrämmchen wird offenbar mit einem Servicepack oder .net-Framework (das wiederum in Servicepacks enthalten ist) ausgeliefert, so dass man es wahrscheinlich schon längst auf dem eigenen Rechner hat. Eine kurzer Blick in die Eingabeaufforderung lässt sofort erkennen, ob das der Fall ist.
Quelle: Ausführlicher Artikel hier
Eingebettetes YouTube Video wird im IE 8 nicht gezeigt
Die Lösung liegt im Hinzufügen von Informationen, die den FlashPlayer direkt als zu verwendendes Plugin identifizieren. Dem <object>-Tag folgende Infos hinzufügen, um die embedded YouTube-Videos auch im Internet Explorer 8 anzuzeigen: classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/.
cabs/flash/swflash.cab#version=6,0,29,0"
Quelle: YouTube Help
AIR-Plugin für Aptana-Plugin installieren
Heute entdeckte ich zufällig Aptana, ein freies Plugin für Eclipse, mit dem man unter anderem auch AIR-Anwendungen erstellen könne. Da ich bereits eine komplette (und angepasste) Eclipse-Version laufen habe, wollte ich nicht das gesamte Studio-Bundle, sondern die Plugin-Version von Aptana installieren. Das hat soweit auch funktioniert, jedoch konnte ich das zusätzlich nötige Plugin zur Entwicklung von AIR-Anwendungen nicht installieren, da die MyAntana-Webseite, die den die Installation auslösenden Link enthält, leer blieb. Nach einigem rumprobieren habe ich dann entdeckt, dass man das Plugin auch direkt über das GUI installieren kann, in dem man die Antana-Plugins-View einblendet und dort in der Liste der verfügbaren Plugins via Kontextmenü die Installation startet.
Acrobat Pro: Standard-Name des Autors in Kommentaren ändern
Schreibt man in Adobe Acrobat Pro einen Kommentar in ein PDF-Dokument, wird automatisch der Anmeldename als Autorenkennung verwendet. Dieser Name entspricht dem des Windows-Anmeldekontos, der aber häufig von dem Namen abweicht, den man als Kommentarautor verwenden will. Zwar kann man über Optionen – Eigenschaften – Allgemein den Autor verändern, doch muss dies für alle Kommentare manuell gemacht werden, was recht nervig ist.
Die Einstellung, um den Namen des Vorgabenamen des Autors für Kommentare frei zu definieren, befindet sich etwas versteckt in Bearbeiten – Grundeinstellungen. Hier kann man im Bereich “Kommentieren” das Feld “Als Verfasser immer Benuterznamen verwenden” deaktivieren.
Danach lässt sich der gewünschte Standardname einstellen, in dem man in den Eigenschaften eines Kommentars den Namen ändert und das Feld “Eigenschaften als Standard festlegen” markiert.
Desktop-Icons speichern
Zwar hat sich heutzutage schon vieles verbessert, so dass es zumindest nach meiner Erfahrung nur noch sehr selten vorkommt, dass die mühsam zusammengebastelte Anordnung der eigenen Icons auf dem Desktop verloren geht. Dennoch gibt es Software wie ICQ, die es trotz langjähriger Entwicklung noch heute schafft, den Desktop mit vielen Icons durcheinander zu bringen. Offenbar versucht die Software die Dimensionen des Desktops um seine Größe zu verkleinern, so dass maximierte Fenster das ICQ-Fenster nicht überlappen sollen.
Wie dem auch sei, das Programm Desktop Icon Manager kann z.B. dazu verwendet werden, um die Position der Desktopicons zu speichern und wieder herzustellen.
IE-Versionen parallel installieren
Für Webentwickler ist es besonders ärgerlich, dass sich verschiedene Versionen des Internet Explorers nicht parallel installieren lassen. Das Entwickeln für verschiedene Zielbrowser wird so sehr umständlich.
Auf dieser Multiple IE-Seite wird ein Installer angeboten, der unterschiedliche Versionen des Internet Explorers parallel auf dem Rechner installiert. So können die Versionen 3 bis 6 auf dem Rechner gestartet und entsprechend getestet werden.
Ob diese “Bastelei” jedoch wirklich zuverlässig ist und keine (unsichtbaren) Nachteile mit sich bringt, ist unklar. Schließlich ist der Internet Explorer in viele andere Windows-Anwendungen verankert und wird auch an Stellen benutzt, an denen man es nicht unbedingt erwartet. Werden ‘falsche’ Dateien irgendwo hin kopiert, könnten schwerwiegende Fehlfunktionen die Folge sein.
Mein Tipp dazu: Einfach eine virtuelle Umgebung im kostenlos erhältlichen (ich berichtete) Virtual PC o.ä. installieren und die Multiple-IE-Installation dort ausführen. Dann hat man alle Browser zur Verfügung ohne die Verschmutzung der Windows-Arbeitsversion zu riskieren.
Alphakanal in PNG und TGA mit PS speichern
Wie üblich erfordert Photoshop wieder einige spezielle Umwege um die Bildtransparenz als Alphakanal in png- und tga-Dateien zu speichern. Hier ein mögliches How-To für CS3:
Für png ist es relativ einfach, da der Web-Assistent verwendet werden kann:
- “Datei” > “Für Web und Geräte speichern…”
- Eine PNG-Vorgabe wählen und Transparenz anhaken
Für tga kann man folgenden Weg gehen (ich kann nicht glauben, dass das nicht einfacher geht?!):
- Alle Ebenen ausblenden, deren Transparenz nicht einbezogen werden soll. Eigentlich logisch. Man stellt einfach alles so ein, dass das Bild so aussieht, wie man es haben will!
- Menü “Bild” > “Kanalberechnungen”
- Bei Quelle 1 und Quelle 2 jeweils das Bild einstellen bzw. lassen, bei “Ebene” “Zusammengefügt” einstellen und unter “Kanal” “Transparenz” wählen.
- Außerdem als “Ergebnis” “Neuer Kanal” auswählen.
- Bei beenden des Dialogs mit “Ok” sollte Photoshop einen Alphakanal hinzugefügt haben, der der Bildtransparenz entspricht.
- Daher kann man dann das Bild speichern unter… und als Format Targa/TGA auswählen. Dabei den Haken bei “Alpha-Kanäle” sicherstellen.
- Im nachfolgenden Fenster muss außerdem 32-Bit eingestellt sein.
Fantastisch! So einfach ging das! Was in nahezu allen anderen Bildbearbeitungsprogrammen von Haus aus beim Speichern funktioniert, muss hier mit schlappen sieben unintuitiven Schritten nachgebaut werden. Der kommerzielle Erfolg dieser Software wird mir für immer ein Rätsel bleiben…
An-Werte einer nicht markierten Checkbox per JavaScript in LiveCycle Designer ermitteln
Gerade habe ich nach einer Möglichkeit gesucht in Adobe LiveCycle Designer den angekreuzt-Wert einer Checkbox zu ermitteln, die im Moment aber nicht markiert ist. Ziel war es, in einem PDF-Formular neben der Summe der tatsäch erreichten Punkte (Summe der Checkbox-Werte via Number(chkBox1.rawValue), wobei An-Wert=1, Aus-Wert=0) mit den insgesamt möglichen (Summe aller An-Werte unabhängig vom Status) zu vergleichen.
Nach viel Rumprobieren brachte mich dieser Thread auf die Lösung mittels direkter Abfrage des Quell-XML-Baums, die wie folgt aussieht:
//liefert den Checked-Wert einer Checkbox
function getCheckedVal(obj)
{
var Items = obj.resolveNode("#items[0]").nodes;
return Items.item(0).value;
}
Will man nun die Summe mehrerer Checkboxen ermitteln, kann man so vorgehen:
//Liefert die Summe der An-Werte der übergebenen Checkboxen
function getCVSum(Arr)
{
var erg=Number(0);
for(var i=0; i<Arr.length; i++)
erg+=Number(getCheckedVal(Arr[i]));
return erg;
}
Aufruf z.B.: this.rawValue=getCVSum(Array(chkBox1,chkBox2));
Falls es auch Punktabzüge bei markieren einer Checkbox gibt (An-Wert=-1), muss man dies bei der Bestimmung der Höchstpunktzahl berücksichtigen:
//Liefert die maximale Summe der An-Werte der übergebenen Checkboxen
function getMaxCVSum(Arr)
{
var erg=Number(0);
for(var i=0; i<Arr.length; i++)
{
var n=Number(getCheckedVal(Arr[i]));
if (n>0) erg+=n;
}
return erg;
}
