folder-generic

PHP Directory Lister script with download count

0

Directory Lister is a very nice PHP script to list the content of a directory. But it doesn’t have a download counter so I took dScript and ported the download counter part of this script to Directory Lister. No SQL required. Only PHP.

You can get the source here: https://github.com/Obihoernchen/DirectoryLister

Hope you like it :)

You can find a demo here: http://downloads.obihoernchen.net

webbrowser

Hello World!

0

Die Seite ist wieder online

Leider hab ich meine Backups etwas vernachlässigt xD Und wie es nunmal ist hat man genau wenn es hart auf hart kein aktuelles zur Verfügug :D
Immerhin hatte ich ein Backup von November 2011, welches ich erstmal eingespielt habe.
Neuer Content wird in nächster Zeit wieder kommen!

google+ 256

How to invite other people to Google+

7

Just a short how to.

Google disabled invites but there is another way to invite people.

  1. Click on “Share” (top right corner)
  2. Write something in the text field
  3. Add an EMail and click on it
  4. Share :)

 

Now this person will get an EMail with the invite.

EDIT:
Google has opened Invitations. Add a new person and drop this person in a circle and you can invite this person.

facebook-vs-google-plus

Google+ das neue Facebook?

1

Auch Google will auf den Social Network Zug aufspringen.
Das ganze läuft unter dem Name Google+. Zur Zeit befindet sich alles noch in der frühen Beta Phase. Hinein kommt man nur per Invite.

Das Privacy Management ist viel besser wie bei Facebook. Es gibt Kreise, in welche man seine Kontakte, Freunde usw. einteilen kann. Verfasst man nun einen Post kann man auswählen, welche dieser Kreise diesen Post sehen dürfen.
Meiner Meinung nach super praktisch. Somit kann man auch seine Privaten Sachen super über Google+ abwickeln.
Der “Gefällt mir” Button wurde durch einen +1 Button ersetzt.

Da sich das ganze allerdings noch in der Betaphase befindet fehlen natürlich noch die ein oder andere Kleinigkeit.
Ich würde mir z.B. noch folgendes wünschen:

  • API
  • Möglichkeit für Firmen sich zu präsentieren
  • Veranstaltungen usw. aber das kommt sicherlich noch…

Vielleicht ist einiges davon ja schon längst in der Entwicklung ;)
Google+ wirkt schon jetzt viel reifer und nutzt die Web 2.0 Fähigkeiten voll und ganz aus. Bemerkenswert finde ich auch die Checkbox bei der Anmeldung. Hier kann man wählen, ob Google die Daten für personalisierte Werbung usw. nutzen darf oder nicht. Schon mal ein gewaltiger Fortschritt.
Auch die Android Unterstützung ist schon jetzt viel besser im Vergleich zu Facebook und das ist ja schließlich eh das wichtigste :P

Ich hoffe das sich Google+ durchsetzen wird und nicht ähnlich wie Google Wave oder Buzz scheitert.

1-Hangman

Hangman

1

Mich überkam die Langeweile und da bin ich auf die Idee gekommen mal schnell ein kleines Hangman Spiel zu coden ;)
Ist nichts besonderes, aber vielleicht braucht ja der ein oder andere eine Anregung wie man so was realisieren könnte.
Das ganze ist in Delphi geschrieben und kann bestimmt noch optimiert werden. Kommentare gibt es nicht, da es einfach genug zu verstehen sein sollte.
Eine Datei “datenbank.txt” muss erstellt werden, in der die Wörter eingetragen werden.

unit Unit1;

interface

uses
  Windows, SysUtils, Classes, Graphics, Forms,
  Dialogs, StdCtrls, Menus, ExtCtrls, Controls;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Start1: TMenuItem;
    Beenden1: TMenuItem;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    procedure Beenden1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Start1Click(Sender: TObject);
    procedure zeigeChar(Buchstabe: char);
    procedure setLoesungswort;
    procedure drawHangman;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    Button: array[1..26] of TButton;
  procedure disableButton(Sender:TObject);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Loesungswort: string;
  LoesungswortList: Tstringlist;
  DateiEintraege: integer;
  FehlVersuche: integer;
  f: text;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
  help: string;
begin
  RANDOMIZE;
  Canvas.Pen.Width := 3;
  Canvas.Pen.Color := clRed;
  DateiEintraege := 0;
  FehlVersuche := 0;
  loesungswortlist := TStringList.Create;

  if fileexists('datenbank.txt') then
    begin
      Assignfile(f,'datenbank.txt');
      Reset(f);
      while not Eof(f) do
        begin
          inc(DateiEintraege);
          ReadLn(f, help);
          loesungswortlist.Add(help);
        end;
      CloseFile(f);
    end;

  for i:=1 to 26 do
    begin
      Button[i]:=Tbutton.Create(Form1);
      Button[i].Parent:=Form1;
      Button[i].Caption:=chr(64+i);
      Button[i].OnClick:=disableButton;
    end;
  for i:=1 to 13 do
    Button[i].SetBounds(-10+i*41,360,41,41);
  for i:=14 to 26 do
    Button[i].SetBounds(-10+(i-13)*41,400,41,41);

  setLoesungswort;
End;

procedure TForm1.disableButton(Sender:TObject);
begin
  TButton(Sender).visible := false;
  zeigeChar(TButton(Sender).Caption[1]);
end;

procedure TForm1.zeigeChar(Buchstabe: char);
var
  I,J: integer;
  labeltext: string;
  help: boolean;
begin
  setLength(labeltext,length(Loesungswort));
  help := false;

  for I:= 1 to length(Loesungswort) do
    begin
      if (Loesungswort[I] = Buchstabe) then
        begin
           help := true;
           labeltext := Label1.Caption;
           labeltext[I] := Buchstabe;
           label1.Caption := labeltext;
        end
      else if Loesungswort[I] = chr(ord(Buchstabe)+32) then
        begin
          help := true;
          labeltext := Label1.Caption;
          labeltext[I] := chr(ord(Buchstabe)+32);
          label1.Caption := labeltext;
        end
    end;

  if help = false then
  inc(FehlVersuche);

  drawHangman;
end;

procedure TForm1.drawHangman;
begin
 case FehlVersuche of
  1: begin
      Canvas.MoveTo(200,250);
      Canvas.LineTo(250,200);
     end;
  2: Canvas.LineTo(300,250);
  3: begin
      Canvas.MoveTo(250,200);
      Canvas.LineTo(250,50);
     end;
  4: Canvas.LineTo(375,50);
  5: Canvas.LineTo(375,100);
  6: Canvas.LineTo(325,150);
  7: begin
      Canvas.MoveTo(375,100);
      Canvas.LineTo(425,150);
     end;
  8: begin
      Canvas.MoveTo(375,100);
      Canvas.LineTo(375,175);
     end;
  9: Canvas.LineTo(325,225);
  10:begin
      Canvas.MoveTo(375,175);
      Canvas.LineTo(425,225);
     end;
 end;

 if FehlVersuche < 10 then
  begin
    if label1.Caption = Loesungswort then
      showmessage('Gewonnen');
  end
 else
  begin
    showmessage('Verloren');
    setLoesungswort;
  end;
end;

procedure TForm1.setLoesungswort;
var
  I: integer;
begin
  Repaint;
  Loesungswort := loesungswortlist[Random(DateiEintraege)];
  Label1.Caption := '';
  FehlVersuche := 0;
  for i:=1 to 26 do
    Button[I].visible := true;
  for I := 1 to length(Loesungswort) do
    Label1.Caption := Label1.Caption + '#';
  Label3.Caption:=inttostr(length(Loesungswort));
end;

procedure TForm1.Beenden1Click(Sender: TObject);
begin
 Close;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = Char(VK_RETURN) then
    if Edit1.Text = Loesungswort then
      showmessage('Gewonnen!')
    else
      begin
        showmessage('Falsch!');
        inc(FehlVersuche);
        drawHangman;
      end;
end;

procedure TForm1.Start1Click(Sender: TObject);
begin
  setLoesungswort;
end;

end.

Alles kann frei und ohne Einschränkungen verwendet werden von mir aus auch für kommerzielle Zwecke :D

Hier noch der Formcode (ALT + F12)

object Form1: TForm1
<pre>  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 458
  ClientWidth = 587
  Color = clBlack
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  Menu = MainMenu1
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 40
    Top = 270
    Width = 6
    Height = 25
    Color = clWhite
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWhite
    Font.Height = -21
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentColor = False
    ParentFont = False
    Transparent = True
  end
  object Label2: TLabel
    Left = 435
    Top = 270
    Width = 129
    Height = 13
    Caption = 'Anzahl der Buchstaben'
    Color = clNone
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWhite
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentColor = False
    ParentFont = False
    Transparent = True
  end
  object Label3: TLabel
    Left = 490
    Top = 290
    Width = 5
    Height = 19
    Color = clNone
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWhite
    Font.Height = -16
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentColor = False
    ParentFont = False
    Transparent = True
  end
  object Label4: TLabel
    Left = 40
    Top = 307
    Width = 55
    Height = 13
    Caption = 'Vorschlag'
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWhite
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    Transparent = True
  end
  object Edit1: TEdit
    Left = 101
    Top = 304
    Width = 121
    Height = 21
    TabOrder = 0
    OnKeyPress = Edit1KeyPress
  end
  object MainMenu1: TMainMenu
    Left = 32
    Top = 16
    object Datei1: TMenuItem
      Caption = 'Datei'
      object Start1: TMenuItem
        Caption = 'N'#228'chstes Wort'
        OnClick = Start1Click
      end
      object Beenden1: TMenuItem
        Caption = 'Beenden'
        OnClick = Beenden1Click
      end
    end
  end
end
pacman

Pacman 3D [Update 2]

0

Das Gemeinschaftsprojekt Pacman 3D von x23b5 und mir ist weiter voran geschritten. Die Performance wurde verbessert und eine Minimap zur besseren Orientierung wurde eingefügt.
Die erste spielbare Version könnt ihr hier herunterladen.

Spiel:
- die Steuerung funktioniert ähnlich wie in CS: Bewegungen mit W, A, S und D
- um ein Spiel zu starten, muss einfach über “Map” und “Öffnen” eine Map geladen werden (Das Menü erreicht man mit ALT)
- nach dem Aufsammeln einer roten Pille, lassen sich mit der linken Maustaste Kugeln abfeuern

Viel Spaß =)

Walkabout

Test: Walkabout

0

  Getestete Version: Walkabout 1.00 auf Samsung Galaxy mit Gaosp (Android 2.2)

Kategorie: Rätsel & Denksport
Verwendbar ab: Android 1.6
Größe: ~5 MB
Preis: 0,69 €
Apps2SD: Ja

 

Kurzbeschreibung

Heute will ich euch eine ganz neue App vorstellen. Oder besser gesagt ein Spiel.
Es ist eine Art Rätsel & Denksport Spiel. Man steuert Spieler, welche sich auf einer Map bewegen und alle Sterne einsammeln müssen. Die Schwierigkeit besteht darin, dass Felder, welche einmal berührt wurden sofort verschwinden. Daher muss genau überlegt werden, wie das jeweilige Level zu absolvieren ist.

Spielspaß & Bedienung [xrr rating=5/5]

Wer sein Gehirn auf Trab halten will sollte Walkabout unbedingt testen.

Die Schwierigkeit steigt von Level zu Level und immer es kommen neue Items hinzu, sodass es nie langweilig wird.
Einige Level bestehen aus bis zu 5 Etagen um die Schwierigkeit in späteren Leveln zusätzlich zu erhöhen.
Zudem erhält man 1-3 Sterne pro absolviertem Level, sodass man sich stetig verbessern will.
In einigen Leveln gibt es versteckte Schlüssel, welche zusätzliche Bonuslevel freischalten.

Die Bedienung erfolgt per Touchscreen. Durch wischen in eine Richtung läuft der Spieler in diese.
Außerdem gibt es an der Seite ein Menü um zu zoomen, zwischen Spielern zu wechseln und die Standardfunktionen wie Pause, Restart und Home.

Es mach unheimlich Spaß Walkabout zu spielen. Hier noch ein kleines Video für einen Einblick in die ersten Level.

httpv://www.youtube.com/watch?v=jpeHTRFM1_8

Grafik & Sound [xrr rating=5/5]

Die Grafik ist im Comic Stil und passt perfekt zu diesem Spiel. Auch die Sounds sind gut und passend.
Sogar Tablets werden unterstützt, denn dafür bring das Spiel extra Grafiken in hoher Auflösung mit.

Speed & Stabilität [xrr rating=4/5]

Getestet habe ich das Spiel mit meinem Samsung Galaxy. Es läuft relativ flüssig und stürzte nicht ein mal ab. Lediglich in den komplexen Leveln kann es zu kleineren Rucklern kommen, welche aber den Spielfluss nicht stören. Da das Galaxy eines der ersten Android Handys ist, ist das durchaus zu verkraften. Auf neueren Androiden sollte es ohne jegliche Probleme sehr flüssig laufen.

Preis / Leistung [xrr rating=5/5]

72 Level voller Spaß und Denken für gerade mal 1,00€ ist super. Zusätzlich soll es noch weitere Levels per Update geben.

Walkabout ist für 0,69€ im Android Market zu erhalten. Eine kostenlose Demo steht ebenfalls zur Verfügung.

Fazit [xrr rating=5/5]

Absolute Kaufempfehlung! Vor allem Knobel Fans werden auf Ihre Kosten kommen ;)

pacman

Pacman 3D [Update 1]

0

Das Gemeinschaftsprojekt von x23b5 und mir ist weiter voran geschritten. Die Ghosts (Computergegenspieler) wurden implementiert und durch die Powerups ist es nun möglich diese nicht wie in der Classic-Version aufzufressen sondern abzuschießen. Außerdem wurden Sounds eingebaut und das Userinterface verbessert. Auch ist ein Splashscreen dazugekommen. Ab jetzt arbeiten wir an noch zu behebenden Performanceproblemen bei älteren Grafikkarten und den restlichen geplanten Erweiterungen, wie einer Minimap und Nebel / Partikeleffekten.

pacman

Pacman 3D

0

Zusammen mit meinem Kumpel x23b5 bin ich zur Zeit dabei im Rahmen eines Projektes im Informatikunterricht Pacman um eine Dimension zu erweitern ;)

Bis jetzt kann man sich eigene Maps erstellen und in diesen alle Credits einsammeln. Außerdem gibt es auch schon einige PowerUps (rot). In den kommenden Tagen/Wochen werden noch die Geister und vieles mehr eingefügt wie z.B. ein Rückspiegel^^ und eine Minimap. Realisiert wird das ganze in OpenGL.

Stay tuned

gingerbread-logo

GAOSP Nightly Fixes [Update 1]

1

You can get some small fixes for latest nightly at: http://fixes.obihoernchen.net

The current fix contains the following changes:

  • Added min and max cpu frequency option to GaospConf? (Obihoernchen)
  • Fixed CPU frequency table. Added frequencies up to 796.8 MHz. (Obihoernchen)
  • Added compass calibration (AndroBot? and Obihoernchen)
  • [MAYBE] fixed reboot issues

HowTo:

  1. Make Nandroid Backup!
  2. Copy update.zip to your internal SD card
  3. Boot into recovery
  4. Fix packages permissions
  5. Select “Apply sdcard:update.zip”
  6. Reboot

Have fun and be careful with overclocking!
To activate overclocking you have to click on the text ( Min /Max CPU frequency).

Go to Top