AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei JPEG-Umwandlung

Ein Thema von SimStar001 · begonnen am 21. Mär 2008 · letzter Beitrag vom 22. Mär 2008
Antwort Antwort
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#1

Fehler bei JPEG-Umwandlung

  Alt 21. Mär 2008, 16:58
Hallo, ich habe ein Problem bei dem ich nicht mehr weiter weiß.

Ich erzeuge ein Bild in einem Image. Dieses ist 4000x6000 Pixel groß.

Ich muss nun dieses Bild als JPEG speichern, da eine BMP 115 MB groß wäre.

hier ist mein Code:

Delphi-Quellcode:
form16.Rechnung.Picture.Graphic.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');
        Bild := TJPEGIMAGE.create;
        Bild.Assign(form16.Rechnung.Picture.Bitmap);
        Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
        bild.Free;

Wie ihr sehen könnt, gehe ich den Umweg das Image erst als bmp zu speichern, was ca 30 sek dauert, um es dann wieder zu laden und dann umzuwandel!

das klappt soweit sehr gut.

Nur wenn ich das bild nich abspeichere, sondern gleich als JPEG umwandel, dann bekomm ich eine Fehlermeldung, dass net genügend Speicher vorhanden wäre!????????????????

Hier der Code:


Delphi-Quellcode:
        Bild := TJPEGIMAGE.create;
        Bild.Assign(form16.Rechnung.Picture.Bitmap);
        Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
        bild.Free;

Wieso klappt das net, sondern muss ich den Umweg gehen!? hat jemand eine Idee wieso, und was ich anders machen kann!?


vielen dank
Marco Tröger
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#2

Re: Fehler bei JPEG-Umwandlung

  Alt 21. Mär 2008, 19:30
Also ich hab hier ein Bitmap mit 250mb und es geht
Naja probiers mal mit ner Pufferung übern Memorystream, vielleicht klappt das besser (weiß aber nicht, ob es überhaupt etwas bringt )

Delphi-Quellcode:
var ms: TMemoryStream;
bmp : TBitmap;
jpg : TJPEGImage;
//[...]
ms := TMemoryStream.Create;
try
  ms.LoadFromFile('a.bmp');
  bmp := TBitmap.Create;
  try
    bmp.LoadFromStream(ms);
    try
       jpg := TJPEGImage.Create;
       jpg.Assign(bmp);
       jpg.SaveToFile('a.jpg');
      finally
        FreeAndNil(jpg);
      end;
    finally
      FreeAndNil(bmp);
    end;
  finally
    FreeAndNil(ms);
  end;
Philipp F.
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Fehler bei JPEG-Umwandlung

  Alt 21. Mär 2008, 20:17
Lad doch mal den gesamten Quelltext hoch, dann kann ich mal ausprobieren, ob der Fehler bei mir auch kommt und dir gegebenenfalls helfen.

Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#4

Re: Fehler bei JPEG-Umwandlung

  Alt 22. Mär 2008, 08:10
das mit dem memory stream ist ganz gut, nur will ich die bmp vorher nicht erstauf der festplatte speichern, sondern direkt ausdem programm umwandeln!


dein code sieh aber net danach aus!



so und hier jetzt der komlette code!




Delphi-Quellcode:
procedure TFRechnung.Button4Click(Sender: TObject);
var Eintrag, tmp : string;
    i , u ,breite,hoehe: integer;
    Preis : extended;
    Tabellenanfang , Artikel_von_letzter_seite : integer;
    year, month , day : word;
    Zahldatum : string;
    datum : tdate;
     bild : TJPEGIMAGE;
     zeit1 , zeit2 : tdatetime;
     pic : TJPEGImage;
begin


  Seitenanzahl := 1;
  Aktuelle_Seite := 1;
  Aktuelle_rechnung.Clear;

  if edit4.Text = 'then
    begin
    showmessage('Bitte wählen Sie einen Kunden aus!');
    exit;
    end;

  if edit5.Text = 'then
    begin
    showmessage('Bitte geben Sie das Rechnungsdatum an!');
    edit5.SetFocus;
    exit;
    end;

  if edit6.Text = 'then
    begin
    showmessage('Bitte geben Sie das Lieferdatum an!');
    edit6.SetFocus;
    exit;
    end;

  if (edit7.Text = '') or (stringgrid1.RowCount - 1 = 0) then
    begin
    showmessage('Bitte wählen Sie mindestens einen Artikel aus!');
    exit;
    end;

  rechnungNr := ReNr(edit4.Text);

  

    with Rechnung.canvas do
      begin
      pen.color := clwhite;
      brush.color := clwhite;
      font.color := clblack;
      font.name := 'Arial';
      font.Size := 66;

      //Addresskopf
      textout(550,550,'Sabine Mucha');
      textout(550,660,'Calvisiusstraße 31');
      textout(550,770,'04177 Leipzig');

      //Datum
      textout(3135,1980,'Leipzig, den ' + edit5.text);


      // Addreskopf Kunde
      textout(550,1320,edit1.text);
      textout(550,1430,edit2.text);
      textout(550,1540,edit3.text);
      textout(550,1650,'KdNr.: ' + edit4.Text);

      Aktuelle_rechnung.Add(edit4.Text);
      Aktuelle_rechnung.Add(edit1.Text);
      Aktuelle_rechnung.Add(edit2.Text);
      Aktuelle_rechnung.Add(edit3.Text);
      Aktuelle_rechnung.Add(edit5.text);

      //Betreffkopf
      font.Style := [fsbold];
      textout(550,2310,'Rechnung Nr.: '+ RechnungNr);
      font.Style := [];

      Aktuelle_rechnung.Add(RechnungNr);

      //Anrede
      Eintrag := Kundendatei.strings[AktuellerKunde];
      Eintrag := copy(Eintrag,pos('{',Eintrag) + 1, length(Eintrag));
      tmp := copy(Eintrag,1,pos('{',Eintrag) - 1);
      Eintrag := copy(Eintrag,pos('{',Eintrag) + 1, length(Eintrag));
      if tmp = 'Herrthen
        textout(550,2750,'Sehr geehrter Herr ' + copy(Eintrag,1,pos('{',Eintrag) - 1 ) + ',')
          else
            textout(550,2750,'Sehr geehrte Frau ' + copy(Eintrag,1,pos('{',Eintrag) - 1 ) + ',');

      // Text
      textout(550,2970,'am ' + edit6.Text + ' lieferten wir Ihnen wie folgt:');

      Aktuelle_rechnung.Add(edit6.text);

      // Tabellenkopf
      font.Style := [fsbold];
      textout(550,3190,'Anzahl');
      textout(935,3190,'Bezeichnung');
      textout(2145,3190,'Einzelpreis');
      textout(2860,3190,'Gesamtpreis');

      pen.Width := 6;
      pen.Color := clblack;
      moveto(533,3289);
      lineto(533,3173);
      lineto(3410,3173);
      lineto(3410,3289);
      lineto(533,3289);
      moveto(918,3173);
      lineto(918,3289);
      moveto(2128,3173);
      lineto(2128,3289);
      moveto(2843,3173);
      lineto(2843,3289);


      Tabellenanfang := 3300;
      Artikel_von_letzter_seite := 0;
      // Tabelleneinträge
      font.Style := [];
      if FRechnung.StringGrid1.RowCount > 1 then
        for i := 0 to FRechnung.StringGrid1.RowCount - 2 do
          begin

          if (i > 23 ) and (Artikel_von_letzter_seite = 0) then
            begin

            // Seite Speichern zum drucken
            Rechnung.Picture.Graphic.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');
            Bild := TJPEGIMAGE.create;
            Bild.Assign(Rechnung.Picture.Bitmap);
            Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
            bild.Free;
            deletefile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');

            Tabellenanfang := 550;
            inc(Seitenanzahl);
            inc(Aktuelle_Seite);
            Artikel_von_letzter_seite := i;
            with Rechnung.Canvas do
              begin
              pen.Color := clwhite;
              rectangle(0,0,4548,6660);
              pen.Color := clblack;
              pen.Width := 6;
              moveto(533,533);
              lineto(3410,533);
              end;
            end;




          if (Tabellenanfang + (i - Artikel_von_letzter_seite) * 110) > 5665 then
            begin
            Tabellenanfang := 550;
            inc(Seitenanzahl);

            // Seite speichern zum Drucken
            Rechnung.Picture.Graphic.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');
            Bild := TJPEGIMAGE.create;
            Bild.Assign(Rechnung.Picture.Bitmap);
            Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
            bild.Free;
            deletefile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');

            inc(Aktuelle_Seite);
            Artikel_von_letzter_seite := i;
            with Rechnung.Canvas do
              begin
              pen.Color := clwhite;
              rectangle(0,0,4548,6660);
              pen.Color := clblack;
              pen.Width := 6;
              moveto(533,533);
              lineto(3410,533);
              end;
            end;


          Aktuelle_rechnung.Add(StringGrid1.Cells[2,i] + '}' + StringGrid1.Cells[0,i] + '}' + StringGrid1.Cells[1,i] + '}' + StringGrid1.Cells[3,i]);

          FRechnung.StringGrid1.cells[1,i] := Komma(copy(FRechnung.StringGrid1.cells[1,i],1,length(FRechnung.StringGrid1.cells[1,i]) - 1)) + '';
          FRechnung.StringGrid1.cells[3,i] := Komma(copy(FRechnung.StringGrid1.cells[3,i],1,length(FRechnung.StringGrid1.cells[3,i]) - 1)) + '';


          textout(550,Tabellenanfang + (i - Artikel_von_letzter_seite) * 110,copy(FRechnung.StringGrid1.Cells[2,i],1,length(FRechnung.StringGrid1.cells[2,i]) - 1));
          textout(935,Tabellenanfang + (i - Artikel_von_letzter_seite) * 110,FRechnung.StringGrid1.Cells[0,i]);

          textout(2733 - canvas.TextWidth(FRechnung.StringGrid1.cells[1,i]),Tabellenanfang + (i - Artikel_von_letzter_seite) * 110,FRechnung.StringGrid1.cells[1,i]);
          textout(3283 - canvas.TextWidth(FRechnung.StringGrid1.cells[3,i]),Tabellenanfang + (i - Artikel_von_letzter_seite) * 110,FRechnung.StringGrid1.cells[3,i]);

          pen.Width := 6;
          pen.Color := clblack;
          moveto(533,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
          lineto(3410,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);

          moveto(2931,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
          lineto(2931,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
          moveto(918,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
          lineto(918,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
          moveto(2128,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
          lineto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
          moveto(2843,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
          lineto(2843,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
          moveto(3410,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
          lineto(3410,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);

          end;

        textout(2145,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 1) * 110,'Zzgl. 19% MwSt.');

        Preis := strtofloat(copy(FRechnung.Edit7.Text,1,length(FRechnung.Edit7.Text)));
        tmp := floattostr(roundto((Preis * 0.19),-2));
        tmp := Komma(tmp);
        Aktuelle_rechnung.Add(tmp);
        textout(3283 - canvas.TextWidth(tmp + ''),Tabellenanfang + ((i - Artikel_von_letzter_seite) +1) * 110,tmp + '');

        moveto(2128,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
        lineto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
        lineto(3410,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
        lineto(3410,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
        lineto(2128,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
        moveto(2843,Tabellenanfang - 2 + (i - Artikel_von_letzter_seite) * 110);
        lineto(2843,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);

        moveto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
        lineto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 2) * 110);
        lineto(3410,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 2) * 110);
        lineto(3410,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
        lineto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
        moveto(2843,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 1) * 110);
        lineto(2843,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 2) * 110);

        tmp := floattostr(roundto((Preis * 1.19),-2));
        tmp := Komma(tmp);
        Aktuelle_rechnung.Add(tmp);
        font.Style := [fsbold];
        Textout(2145,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 2) * 110,'Gesamt');
        textout(3283 - canvas.TextWidth(tmp + ''),Tabellenanfang + ((i - Artikel_von_letzter_seite) +2) * 110,tmp + '');

        moveto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 2) * 110);
        lineto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 3) * 110);
        lineto(3410,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 3) * 110);
        lineto(3410,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 2) * 110);
        lineto(2128,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 2) * 110);
        moveto(2843,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 2) * 110);
        lineto(2843,Tabellenanfang - 2 + ((i - Artikel_von_letzter_seite) + 3) * 110);

        font.style := [];

        { TODO 1 : Neue Seiten Optionen einfügen }

        if Tabellenanfang + ((i - Artikel_von_letzter_seite) + 5) * 110 > 4977 then
            begin
            Tabellenanfang := 550;
            inc(Seitenanzahl);

            //Seite speichern zum Drucken
            Rechnung.Picture.Graphic.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');
            Bild := TJPEGIMAGE.create;
            Bild.Assign(Rechnung.Picture.Bitmap);
            Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
            bild.Free;
            deletefile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');

            inc(Aktuelle_Seite);
            Artikel_von_letzter_seite := 0;
            i := - 5;
            with Rechnung.Canvas do
              begin
              pen.Color := clwhite;
              rectangle(0,0,4548,6660);
              pen.Color := clblack;
              pen.Width := 6;
              end;
            end;

        datum := strtodate(Frechnung.Edit5.Text);
        datum := datum + 14;
        Zahldatum := datetostr(datum);

        Aktuelle_rechnung.Add(Zahldatum);

        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 5) * 110, 'Bitte überweisen Sie den o.a. fälligen Gesamtbetrag bis zum ' + Zahldatum + ' auf folgendes');
        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 6) * 110, 'Konto:');
        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 8) * 110, 'Bankinstitut:');
        textout(1210,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 8) * 110, 'Citibank');
        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 9) * 110, 'BLZ:');
        textout(1210,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 9) * 110, '30020900');
        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 10) * 110, 'Konto Nr.:');
        textout(1210,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 10) * 110, '3108624137');


        if Tabellenanfang + ((i - Artikel_von_letzter_seite) + 12) * 110 > 5197 then
            begin
            Tabellenanfang := 550;
            inc(Seitenanzahl);

            // Seite speichern zum Drucken
            Rechnung.Picture.Graphic.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');
            Bild := TJPEGIMAGE.create;
            Bild.Assign(Rechnung.Picture.Bitmap);
            Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
            bild.Free;
            deletefile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');

            inc(Aktuelle_Seite);
            Artikel_von_letzter_seite := 0;
            i := - 12;
            with Rechnung.Canvas do
              begin
              pen.Color := clwhite;
              rectangle(0,0,4548,6660);
              pen.Color := clblack;
              pen.Width := 6;
              end;
            end;

        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 12) * 110, 'Für weitere Fragen stehe ich Ihnen gerne unter der Rufnummer 01 63 / 4 67 46 55 zur');
        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 13) * 110, 'Verfügung.');


        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 16) * 110, 'Mit freundlichen Grüßen');
        textout(550,Tabellenanfang + ((i - Artikel_von_letzter_seite) + 21) * 110, 'Sabine Mucha');



        // Seite speichern zum Drucken
        Rechnung.Picture.Graphic.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');
        Bild := TJPEGIMAGE.create;
        Bild.Assign(Rechnung.Picture.Bitmap);
        Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
        bild.Free;
        deletefile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');


      end;


    Rechnungsdaten_Speichern('noch drucken','offen',RechnungNr,FRechnung.Edit4.Text,FRechnung.Edit5.Text,FRechnung.edit6.Text,Zahldatum,tmp);
    Aktuelle_rechnung.SaveToFile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\' + RechnungNr + '.dat');


  if not fileexists(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Rechnungsdaten.dat') then
    showmessage('Fehler beim Speichern der Rechnungsdaten! [Fehler: 022]')
      else
        Rechnungsdaten.LoadFromFile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Rechnungsdaten.dat');

  tmp := Rechnungsdaten.strings[Rechnungsdaten.Count - 1];

  if printdialog1.Execute then
    begin

    with printer do
      begin
      pic := TJPEGImage.create;
      Orientation := poPortrait;
      BeginDoc;
      for i := 1 to Seitenanzahl do
        begin

        if i < Seitenanzahl then
          NewPage;

        pic.LoadFromFile(extractfilepath(paramstr(0)) + 'Daten\Rechnungen\Seite' + inttostr(i) + '.jpeg');
        breite := GetDeviceCaps(Printer.Handle,Horzres);
        hoehe := GetDeviceCaps(Printer.Handle,Vertres);
        Canvas.StretchDraw(Rect(0,0,breite,Hoehe), pic);
        deleteFile(extractfilepath(paramstr(0)) + 'Daten\Rechnungen\Seite' + inttostr(i) + '.jpeg')
        end;
      EndDoc;
      pic.Free;
      tmp := stringreplace(tmp,'noch drucken','gedruckt',[]);
      Rechnungsdaten.strings[Rechnungsdaten.Count - 1] := tmp;
      Rechnungsdaten.SaveToFile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Rechnungsdaten.dat');
      messagedlg('Die Rechnung wurde erfolgreich erstellt und wird jetzt gedruckt!',mtinformation,[mbok],0);
      end;
    end;

 { TODO : Rechnung schreiben in Verlauf eintragen }
  darfschliessen := true;
  FRechnung.Close;
  form1.Visible := true;
end;
Marco Tröger
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz