4 Jahre
Delphi-PRAXiS
Liebe DPler,
liebe Gäste,
mit großer Freude erlebe ich heute den 4. Geburtstag unserer Community, der Delphi-PRAXiS. 4 Jahre sind für eine Internet-Seite eine lange Zeit - aber ist die
DP nur eine Internet-Seite? Gewiss nicht. Sie ist alles andere als das:
Die Delphi-PRAXiS ist eine lebendige Gemeinschaft von Delphi- und .NET-Entwicklern. Viele heute noch aktive Mitglieder sind von Anfang an dabei gewesen, andere sehr aktive Mitglieder sind im Laufe der Zeit hinzugekommen, manche sind gegangen. Insgesamt schauen pro Monat etwa 100.000 sog. "unique visitors" hier herein. Zieht man die Bots von Suchmaschinen davon ab, so bleiben immer noch genug Besucher übrig, die zusammen genommen eine Kleinstadt bevölkern könnten. Sie alle sind auch Teil der Delphi-PRAXiS, auch wenn sie - leider - nur zum stöbern vorbeischauen. Aber auch das ist selbstverständlich in Ordnung.
Meine Güte, was ist in diesen 4 Jahren alles passiert... mittlerweile haben wir die zweite Ausgabe der Delphi-Tage organisiert und viele von uns, die sich bis dahin stets nur gelesen hatten, lernten sich persönlich kennen. Delphi-Entwickler waren schon immer ein recht netter, wenngleich oft auch leicht schräger
aber stets liebenswerter Haufen. Dies spiegelt sich eigentlich 1:1 in der
DP wieder - ich denke da zum Beispiel auch an unsere "Shoutbox".
Und genau dieser "liebenswerte Haufen" ist es, für den das Team der
DP seine Freizeit gerne verwendet, um Delphi-Fragen zu wälzen und sich in die verschiedenen Diskussionen einzubringen. Von kleinen Reibereien (für die Letzte war ich leider selber verantwortlich) einmal abgesehen, macht die Arbeit in so einem lebhaften Forum natürlich großen Spaß.
Meine eigene Arbeit an der
DP wird sich in der nächsten Zeit außerhalb dieser
DP abspielen. Manche von Euch werden das Schlagwort "DP2006" bereits gehört haben. "DP2006" ist nur ein Arbeitstitel für unsere nächste Software für dieses Forum. Hier sind größere Schritte geplant. Wir werden das phpBB als Plattform verlassen und in Zukunft auf die Software "vBulletin" aufsetzen. Das hat rein pragmatische Gründe, das vBulletin ist von seiner Architektur her einfach besser für unsere Belange geeignet. Aktuell bin ich dabei, die Funktionalität der jetzigen
DP in die DP2006 zu integrieren und komme dabei auch sehr gut voran. Die Datenbank wird dann als Ganzes konvertiert werden (auch schon mehrfach erfolgreich getestet). Wir werden also nicht nur mit Mann & Maus, sondern auch mit der gesamten Funktionalität umziehen. Aus Anwender-Sicht wird sich nicht viel ändern. Das "Look & Feel" wird ähnlich sein, hier werden wir das vBulletin an unsere Bedürfnisse anpassen. Ich gehe davon aus, dass die tatsächliche Migration etwa gegen Jahresende passieren wird. Dies hat hauptsächlich damit zutun, dass ich bis Herbst an meiner Abschlussarbeit für das Studium schreiben werde und in dieser Zeit einfach andere Prioritäten zu setzen habe. Unsere aktuelle Software ist jedoch sehr ausgereift und hält uns den Rücken frei, so dass keinerlei zeitlicher Druck für den Umzug existiert.
Trotzdem habe ich es nicht lassen können, ein kleines Feature der DP2006 in diese Software zu portieren. Und zwar einen
BBCode extra für C-Sharp. Dieser unterscheidet sich von unseren bisherigen BBCodes für C und C-Sharp darin, dass er Gebrauch von einem Webservice von Borland macht: Dem sog. "BabelCode". Dieser Webservice übersetzt kompilierbaren C#-Code nach Delphi. Zugegeben - mit den automatischen Übersetzungen ist es immer so eine Sache, aber es wird einem viel Arbeit erspart, wenn man Code in diese Richtung portieren möchte oder aber falls man Delphi besser lesen kann als C#, so kann man sich einen Eindruck davon verschaffen, was ein Code-Schnipsel eigentlich tut. BabelCode hat nicht den Anspruch, jeden Code fehlerfrei zu übersetzen, BabelCode hat den Anspruch, eine Hilfestellung zu sein.
Zur Demonstration hier ein Code aus dem Demo-Ordner des
BDS (man beachte den neuen Link "nach Delphi übersetzen"):
Code:
using System;
/// <summary>
/// ByteBitWise, WordBitWise, DWordBitWise are classes to support
/// shl and shr operations at byte, word (UInt16) or DWORD (UInt32) level not
/// defined for C#'s .cs by default.
/// made by Endre I. Simay,
/// Hungary
/// </summary>
public class ByteBitWise {
byte [] ext;
public ByteBitWise () {
ext =new byte [8];
ext[0]=1;
for (int i=1; i<8; i++) // {1, 2, 4, 8, 16, 32, 64, 128};
{
ext[i]=(byte)(ext[i-1]*2);
}
}
public byte shr (byte basic, byte n) {
return (byte)(basic/ext[n & (8-1)]);
}
public byte shl (byte basic, byte n) {
return (byte)(basic*ext[n & (8-1)]);
}
}
public class WordBitWise {
UInt16 [] ext;
public WordBitWise () {
ext =new UInt16 [16];
ext[0]=1;
for (int i=1; i<16; i++) // {1, 2, 4, 8, 16, 32, 64, 128...};
{
ext[i]=(UInt16)(ext[i-1]*2);
}
}
public UInt16 shr (UInt16 basic, UInt16 n) {
return (UInt16)(basic/ext[n & (16-1)]);
}
public UInt16 shl (UInt16 basic, UInt16 n) {
return (UInt16)(basic*ext[n & (16-1)]);
}
}
public class DWordBitWise {
UInt32 [] ext;
public DWordBitWise () {
ext =new UInt32 [32];
ext[0]=1;
for (int i=1; i<32; i++) // {1, 2, 4, 8, 16, 32, 64, 128...};
{
ext[i]=(UInt32)(ext[i-1]*2);
}
}
public UInt32 shr (UInt32 basic, UInt32 n) {
return (UInt32)(basic/ext[n & (32-1)]);
}
public UInt32 shl (UInt32 basic, UInt32 n) {
return (UInt32)(basic*ext[n & (32-1)]);
}
}
Und was kommt jetzt? Ja - jetzt kommt das, worauf Ihr vermutlich am meisten gewartet habt: Unser diesjähriges Gewinnspiel. Wir haben es dieses Jahr mit einer Suche zutun. Unser Franzose im Keller hat das Design der
DP ein wenig durcheinander gebracht und es sind kleinere Unstimmigkeiten bzw. Fehler entstanden. Diese gilt es zu finden - und zwar bis morgen. Die Details zur Suche findet Ihr direkt auf unserer
Gewinnspiel-Seite.
Natürlich haben wir auch Belohnungen für Euch. Unsere Sponsoren waren sehr großzügig und ich möchte mich an dieser Stelle ganz herzlich bei better-office, Borland, iAnywhere, dem Software und Support-Verlag sowie Jeremy North für die Bereitstellung von Preisen bedanken. Die Liste ist wirklich beeindruckend:
1 x BDS2006 Architect
1 x BDS2006 Enterprise
3 x BDS2006 Professional
1 x Advantage Database Server 5 User License
1 x Schulung von better-office samt Hotel-Übernachtung
2 x BDS2006 Handbuchsatz
1 x Jahresabo "Entwickler-Magazin"
1 x Buch "XML.NET. XML und Web Services mit dem .NET-Framework"
3 x Buch "NET 2.0 - die Neuerungen. schnell + kompakt"
3 x VisualForms von JeremyNorth
Mehr dazu auf unserer
Sponsoren-Übersicht..
Mit bleibt eigentlich nur noch, mich bei Euch allen ganz herzlich für die 4 Jahre Delphi-Community mit Euch zu bedanken - selbstverständlich schließt dies mein Team ausdrücklich mit ein.
Daniel R. Wolf
mit Grüßen aus Hamburg