AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Probleme beim Queue und Pointer

Ein Thema von Swanator · begonnen am 9. Mär 2011 · letzter Beitrag vom 9. Mär 2011
Antwort Antwort
Swanator

Registriert seit: 9. Mär 2011
2 Beiträge
 
#1

Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 14:35
Delphi-Version: 6
Hallo ihr,
ich brauch dringend Hilfe beim Queue! Ich komm einfach nicht weiter. Hab wohl ein Dankfehler. Sobald ich mehr als einen Eintrag mache kommt ein Fehler mit Speicheradresse. Wohl was mit dem Pointer.

Das ist die Aufgabe:

1. neue Schlange, danach können erst folgende Daten abgefragt werden:
-Name des Reisenden,
- jeder Koffer bekommt eine zufällige einmalige Nummer (1 – 999999),
-Gewicht des Koffer
Achtung: Überschreitet das Gewicht die 20 kg Grenze, erscheint eine entsprechende Meldung.
2. Jeder neue Kunde der die Reise beginnt, wird der Schlange hinzugefügt.
3. Jeder Kunde der fertig mit der Reise ist, wird aus der Schlange entfernt.
4. Es wird die komplette Liste in der richtigen Reihenfolge (erstes Element der Schlange steht am
Anfang, letztes Element der Schlange steht am Ende der Anzeige) in einer geeigneten Komponente
angezeigt.
5. Die Liste wird gespeichert, um sie z. B. an einem anderen Schalter oder beim Zoll zur Verfügung zu
haben und entsprechend wieder geladen. Der Speichername ist frei wählbar.
6. Es werden Koffer der Kunden mitten aus der Schlange vorübergehend entfernt mit
-zufälliger Nummer: Der Zoll macht zufällige Kontrolle bzw.
-konkreter Nummer: Der Zoll hat einen begründeten Verdacht und nach der Kontrolle wieder am Ende der Schlange eingefügt.

> 6. mit zufälliger Nr. hab ich schon, ist hier nur nicht mit dabei.
> Das Suchfenster war nur ne Idee, werd wohl sowieso nicht mehr zur Einarbeitung kommen.
> Wenn ihr mir da helfen könntet, wär das echt top. Wir haben dafür nur noch 2 Stunden und ich hab weder einen Plan noch Delphi zu Hause.


Quelltext:
Delphi-Quellcode:
unit U_Kofferschlange_a4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, UnitQueue, UInhalt, Grids;

type
  TForm1 = class(TForm)
    b_new: TButton;
    b_delite: TButton;
    b_edit: TButton;
    e_name: TEdit;
    e_wight: TEdit;
    l_name: TLabel;
    r_male: TRadioButton;
    r_female: TRadioButton;
    l_wight: TLabel;
    b_close: TButton;
    S_out: TStringGrid;
    b_actual: TButton;
    e_savename: TEdit;
    b_save: TButton;
    b_load: TButton;
    l_warning: TLabel;
    procedure b_newClick(Sender: TObject);
    procedure b_editClick(Sender: TObject);
    procedure b_deliteClick(Sender: TObject);
    procedure b_actualClick(Sender: TObject);
    procedure b_saveClick(Sender: TObject);
    procedure b_loadClick(Sender: TObject);
    procedure b_closeClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Q: TQ;
  inhalt:tInhalt;
  //name: string;
 nr,l:integer;

implementation

{$R *.dfm}

procedure TForm1.b_newClick(Sender: TObject);
begin
init(Q);
l:=0;
end;

procedure neu;
begin
nr:=random(99999)+1;
Q.aktuell:=Q.anfang;
while not(q.aktuell=nil) and not(Inhalt.Koffernummer=nr)
Do Q.aktuell:=Q.aktuell.next;
if not (q.aktuell=nil)
        then neu;
end;


procedure TForm1.b_editClick(Sender: TObject);
begin
neu;
Inhalt.Name:=e_name.Text;
Inhalt.Koffergewicht:=strtoint(e_wight.Text);
Inhalt.Koffernummer:=nr;
put(Q,Inhalt);
l:=l+1;
s_out.Cells[0,l]:=q.aktuell.inhalt.Name;
s_out.Cells[1,l]:=inttostr(Q.aktuell.inhalt.Koffergewicht);
s_out.Cells[2,l]:=inttostr(Q.aktuell.inhalt.Koffernummer);
if strtoint(e_wight.Text)>20
        then l_warning.Caption:='Warnung: Das Gewicht ¸berschreitet die zul‰ssigen 20kg Freigep‰ck!';
end;

procedure TForm1.b_deliteClick(Sender: TObject);
begin
get(Q,inhalt);
end;

procedure TForm1.b_actualClick(Sender: TObject);
begin
IF not empty(Q) then begin
        Q.aktuell:=Q.anfang;
        repeat q.aktuell:=q.aktuell.next
        until Q.aktuell.next=nil;
        If Q.aktuell.inhalt.Koffergewicht>20
                then l_warning.Caption:='Warnung: Das Gewicht ¸berschreitet die zul‰ssigen 20kg Freigep‰ck!';

end;
end;

procedure TForm1.b_saveClick(Sender: TObject);
begin
Save(Q,e_savename.Text);
end;

procedure TForm1.b_loadClick(Sender: TObject);
begin
Load(Q,e_savename.Text);
end;

procedure TForm1.b_closeClick(Sender: TObject);
begin
close;
end;

end.



unit UListe;



interface
uses UInhalt;
type PZeiger = ^TElement;
        TElement = record
                     next : PZeiger;
                     inhalt: TInhalt;
                   end;
         TListe = record
                    anfang,aktuell : PZeiger;
                    anzahl:integer;
                  end;
procedure Erzeuge(var Liste:TListe);
procedure FuegeEinVor(var Liste:TListe; inh : TInhalt);
procedure FuegeEinNach(var Liste:TListe; inh : TInhalt);
procedure Aendere(var Liste:TListe; Inh:TInhalt);
procedure Loesche(var Liste:TListe);
procedure Lies(Liste:TListe;var Inh:TInhalt);
procedure FindeErstes(var Liste:TListe);
procedure FindeNaechstes(var Liste:TListe);
function Leer(Liste:TListe):boolean;
function Voll(Liste:TListe):boolean;
function ElementZahl(Liste:TListe):integer;
function Letztes(Liste:TListe):boolean;
procedure Speichere(Liste:TListe;NameDerDatei:String);
procedure Lade(var Liste:TListe;NameDerDatei:String);
procedure Sort(Liste:TListe);



implementation
procedure Speichere(Liste:TListe;NameDerDatei:String);
type TDatei=File of TInhalt;
var Datei:TDatei;
begin
  assignfile(Datei,'C:\Projekt\save\'+NameDerDatei+'.dat');
  rewrite(datei);
  Liste.aktuell:=Liste.anfang;
  repeat
   write(datei,Liste.aktuell^.inhalt);
   Liste.aktuell:= Liste.aktuell^.next;
  until Liste.aktuell^.next=nil;
   write(datei,Liste.aktuell^.inhalt);
  closefile(datei);
end;

procedure Lade(var Liste:TListe;NameDerDatei:String);
type TDatei=File of TInhalt;
var Datei:TDatei;
      neu : PZeiger;
begin
  assignfile(Datei,'C:\Projekt\save\'+NameDerDatei+'.dat');
  reset(datei);
  new(Liste.Anfang);
  read(datei,Liste.Anfang^.inhalt);
  Liste.Aktuell:=Liste.Anfang;
  Liste.Aktuell^.next:=nil;
  while not eof(datei) do
     begin
      new(Neu);
      read(datei,Neu^.inhalt);
      Neu^.next:=nil;
      Liste.Aktuell^.next:=Neu;
      Liste.Aktuell:=Neu;
    end;
   closefile(datei);
end;


function Leer(Liste:TListe):boolean;
begin
 Leer:= Liste.anfang = nil;
end;

function Voll(Liste:TListe):boolean;
begin
 Voll:= false;
// Voll:= SizeOf(TElement) > MemAvail;
end;

function ElementZahl(Liste:TListe):integer;
begin
  ElementZahl := Liste.anzahl;
end;

function Letztes(Liste:TListe):boolean;
begin
 Letztes:= Liste.aktuell^.next = nil;
end;

procedure FindeErstes(var Liste:TListe);
begin
 Liste.aktuell:= Liste.anfang ;
end;

procedure FindeNaechstes(var Liste:TListe);
begin
 Liste.aktuell:= Liste.aktuell^.next ;
end;

procedure Erzeuge(var Liste:TListe);
begin
  Liste.anfang := nil;
  Liste.aktuell := nil;
  Liste.anzahl := 0;
end;

procedure FuegeEinNach(var Liste:TListe; inh : TInhalt);
var neu: PZeiger;
begin
  new(neu);
  neu^.inhalt:=inh;
      if Leer(Liste) then
                       begin
                         Liste.anfang:=neu;
                         neu^.next:= nil;
                       end
                      else
                        begin
                          neu^.next:=Liste.aktuell^.next;
                          Liste.aktuell^.next:=neu;
                        end;
      Liste.aktuell :=neu;
      Liste.anzahl:=Liste.anzahl+1;

end;

procedure FuegeEinVor(var Liste:TListe; inh : TInhalt);
var neu,lauf: PZeiger;
begin
  new(neu);
  neu^.inhalt:=inh;
      if Liste.aktuell=Liste.anfang then
                          Liste.anfang:=neu
                        else
                          begin
                            lauf := Liste.anfang;
                            while lauf^.next <> Liste.aktuell do lauf:=lauf^.next;
                            lauf^.next:=neu;
                          end;
        neu^.next:=Liste.aktuell;
        Liste.aktuell:=neu;
       Liste.anzahl:=Liste.anzahl+1;
end;

procedure Loesche(var Liste:TListe);
var lauf: PZeiger;
begin
      if Liste.aktuell=Liste.anfang then
                          Liste.anfang:=Liste.anfang^.next
                        else
                          begin
                            lauf := Liste.anfang;
                            while lauf^.next <> Liste.aktuell do lauf:=lauf^.next;
                            lauf^.next:=Liste.aktuell^.next;
                          end;
        dispose(Liste.aktuell);
        Liste.aktuell:=Liste.anfang;
       Liste.anzahl:=Liste.anzahl-1;

end;

procedure Aendere(VAR Liste:TListe; Inh:TInhalt);
begin
 Liste.aktuell^.inhalt:= inh ;
end;

procedure Lies(Liste:TListe;var Inh:TInhalt);
begin
  inh := Liste.aktuell^.inhalt;
end;


procedure Sort(Liste:TListe);
{var tausch:boolean;
i:integer;
inh,inhNachbar:TInhalt; }

begin
{tausch:=true;
while tausch do
begin
tausch:=false;
findeErstes(Liste);
for i:=1 to (Liste.anzahl)-1 do
begin
lies(Liste,inh);
inhNachbar:=Liste.Aktuell^.next^.Inhalt;
if inh.begriff>inhNachbar.begriff
then
begin
aendere(Liste,inhNachbar);
findeNaechstes(Liste);
aendere(Liste,inh);
tausch:=true
end
else
findeNaechstes(Liste);
end;
end;}

end;
end.




program P_Kofferschlange_a4;

uses
  Forms,
  U_Kofferschlange_a4 in 'U_Kofferschlange_a4.pas{Form1},
  U_Suchfenster_a4 in 'U_Suchfenster_a4.pas{Frame1: TFrame};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


unit U_Suchfenster_a4;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, U_Kofferschlange_a4;

type
  TFrame1 = class(TFrame)
    e_koffernummer: TEdit;
    r_spezial: TRadioButton;
    r_zufall: TRadioButton;
    b_seach: TButton;
    procedure b_seachClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

{$R *.dfm}

procedure TFrame1.b_seachClick(Sender: TObject);
begin
Q.aktuell:=Q.anfang;

end;

end.


unit UInhalt;

interface


 type TBegriff=string[30];
       TErklaerung= string[200];
       //TInhalt=string[10];
       TInhalt = record
        Name: string[30];
        Koffergewicht: integer;
        Koffernummer: integer;
        end;
implementation

end.


unit UListe;

interface
uses UInhalt;
type PZeiger = ^TElement;
        TElement = record
                     next : PZeiger;
                     inhalt: TInhalt;
                   end;
         TListe = record
                    anfang,aktuell : PZeiger;
                    anzahl:integer;
                  end;
procedure Erzeuge(var Liste:TListe);
procedure FuegeEinVor(var Liste:TListe; inh : TInhalt);
procedure FuegeEinNach(var Liste:TListe; inh : TInhalt);
procedure Aendere(var Liste:TListe; Inh:TInhalt);
procedure Loesche(var Liste:TListe);
procedure Lies(Liste:TListe;var Inh:TInhalt);
procedure FindeErstes(var Liste:TListe);
procedure FindeNaechstes(var Liste:TListe);
function Leer(Liste:TListe):boolean;
function Voll(Liste:TListe):boolean;
function ElementZahl(Liste:TListe):integer;
function Letztes(Liste:TListe):boolean;
procedure Speichere(Liste:TListe;NameDerDatei:String);
procedure Lade(var Liste:TListe;NameDerDatei:String);
procedure Sort(Liste:TListe);



implementation
procedure Speichere(Liste:TListe;NameDerDatei:String);
type TDatei=File of TInhalt;
var Datei:TDatei;
begin
  assignfile(Datei,'H:\Behrendt_LK1\k11a4\LK13_2_Inf\liste_begriffe\save\'+NameDerDatei+'.dat');
  rewrite(datei);
  Liste.aktuell:=Liste.anfang;
  repeat
   write(datei,Liste.aktuell^.inhalt);
   Liste.aktuell:= Liste.aktuell^.next;
  until Liste.aktuell^.next=nil;
   write(datei,Liste.aktuell^.inhalt);
  closefile(datei);
end;

procedure Lade(var Liste:TListe;NameDerDatei:String);
type TDatei=File of TInhalt;
var Datei:TDatei;
      neu : PZeiger;
begin
  assignfile(Datei,'H:\Behrendt_LK1\k11a4\LK13_2_Inf\liste_begriffe\save\'+NameDerDatei+'.dat');
  reset(datei);
  new(Liste.Anfang);
  read(datei,Liste.Anfang^.inhalt);
  Liste.Aktuell:=Liste.Anfang;
  Liste.Aktuell^.next:=nil;
  while not eof(datei) do
     begin
      new(Neu);
      read(datei,Neu^.inhalt);
      Neu^.next:=nil;
      Liste.Aktuell^.next:=Neu;
      Liste.Aktuell:=Neu;
    end;
   closefile(datei);
end;


function Leer(Liste:TListe):boolean;
begin
 Leer:= Liste.anfang = nil;
end;

function Voll(Liste:TListe):boolean;
begin
 Voll:= false;
// Voll:= SizeOf(TElement) > MemAvail;
end;

function ElementZahl(Liste:TListe):integer;
begin
  ElementZahl := Liste.anzahl;
end;

function Letztes(Liste:TListe):boolean;
begin
 Letztes:= Liste.aktuell^.next = nil;
end;

procedure FindeErstes(var Liste:TListe);
begin
 Liste.aktuell:= Liste.anfang ;
end;

procedure FindeNaechstes(var Liste:TListe);
begin
 Liste.aktuell:= Liste.aktuell^.next ;
end;

procedure Erzeuge(var Liste:TListe);
begin
  Liste.anfang := nil;
  Liste.aktuell := nil;
  Liste.anzahl := 0;
end;

procedure FuegeEinNach(var Liste:TListe; inh : TInhalt);
var neu: PZeiger;
begin
  new(neu);
  neu^.inhalt:=inh;
      if Leer(Liste) then
                       begin
                         Liste.anfang:=neu;
                         neu^.next:= nil;
                       end
                      else
                        begin
                          neu^.next:=Liste.aktuell^.next;
                          Liste.aktuell^.next:=neu;
                        end;
      Liste.aktuell :=neu;
      Liste.anzahl:=Liste.anzahl+1;

end;

procedure FuegeEinVor(var Liste:TListe; inh : TInhalt);
var neu,lauf: PZeiger;
begin
  new(neu);
  neu^.inhalt:=inh;
      if Liste.aktuell=Liste.anfang then
                          Liste.anfang:=neu
                        else
                          begin
                            lauf := Liste.anfang;
                            while lauf^.next <> Liste.aktuell do lauf:=lauf^.next;
                            lauf^.next:=neu;
                          end;
        neu^.next:=Liste.aktuell;
        Liste.aktuell:=neu;
       Liste.anzahl:=Liste.anzahl+1;
end;

procedure Loesche(var Liste:TListe);
var lauf: PZeiger;
begin
      if Liste.aktuell=Liste.anfang then
                          Liste.anfang:=Liste.anfang^.next
                        else
                          begin
                            lauf := Liste.anfang;
                            while lauf^.next <> Liste.aktuell do lauf:=lauf^.next;
                            lauf^.next:=Liste.aktuell^.next;
                          end;
        dispose(Liste.aktuell);
        Liste.aktuell:=Liste.anfang;
       Liste.anzahl:=Liste.anzahl-1;

end;

procedure Aendere(VAR Liste:TListe; Inh:TInhalt);
begin
 Liste.aktuell^.inhalt:= inh ;
end;

procedure Lies(Liste:TListe;var Inh:TInhalt);
begin
  inh := Liste.aktuell^.inhalt;
end;


procedure Sort(Liste:TListe);
{var tausch:boolean;
i:integer;
inh,inhNachbar:TInhalt; }

begin
{tausch:=true;
while tausch do
begin
tausch:=false;
findeErstes(Liste);
for i:=1 to (Liste.anzahl)-1 do
begin
lies(Liste,inh);
inhNachbar:=Liste.Aktuell^.next^.Inhalt;
if inh.begriff>inhNachbar.begriff
then
begin
aendere(Liste,inhNachbar);
findeNaechstes(Liste);
aendere(Liste,inh);
tausch:=true
end
else
findeNaechstes(Liste);
end;
end;}

end;
end.




unit UnitQueue;

interface

uses Uinhalt,Uliste;

type
        TQ=TListe;
        procedure init(var Q:TQ);
        procedure put(var Q:TQ; Inh:Tinhalt);
        procedure get(var Q:TQ; var inh:Tinhalt);
        function count(Q:TQ):integer;
        function empty(Q:TQ):Boolean;
        procedure save(Q:Tq; savename:string);
        procedure load(Q:Tq; savename:string);

implementation
procedure init(var Q:TQ);
begin
        erzeuge(Q);
end;

procedure put(var Q:Tq; Inh:Tinhalt);
begin
        if leer(Q)
                then FuegeEInNach(Q,Inh)
                else begin
                        while not letztes(Q) do
                          FindeNaechstes(Q);
                        FuegeEinNach(Q,inh);
                        end
end;

procedure get(var Q:Tq; var inh:Tinhalt);
begin
 findeerstes(Q);
 lies(Q,Inh);
 loesche(Q);
end;

procedure save(Q:Tq;savename:string);
begin
Speichere(Q,savename);
end;

procedure load (Q:Tq;savename:string);
begin
Lade(Q,savename);
end;

function count(Q:Tq):integer;
begin
        count:=ElementZahl(Q);
end;

function empty(Q:Tq):Boolean;
begin
        empty:=leer(Q);
end;
end.

Geändert von mkinzler ( 9. Mär 2011 um 15:07 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 14:40
Herzlich Willkommen in der DP!

Bitte nutze für deinen Quelltext die Code-Tags des Forums ([ CODE]...[ /CODE], ohne die Leerzeichen), da man sonst den Quelltext nur äußerst schwer lesen kann. Bei der Länge des Quelltextes würde es sich auch anbieten, ihn als Anhang an deinen Beitrag anzuhängen. Du kannst deinen Beitrag oben ganz einfach editieren

Danke
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.804 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 15:08
Herzlich Willkommen in der DP!

Bitte nutze für deinen Quelltext die Code-Tags des Forums ([ CODE]...[ /CODE], ohne die Leerzeichen), da man sonst den Quelltext nur äußerst schwer lesen kann. Bei der Länge des Quelltextes würde es sich auch anbieten, ihn als Anhang an deinen Beitrag anzuhängen. Du kannst deinen Beitrag oben ganz einfach editieren

Danke
Noch besser den Delphi-Tag.

Habe ich diesmal aber erledigt.

Zitat:
Hab wohl ein Dankfehler.
Das machen die Meisten falsch.
Markus Kinzler

Geändert von mkinzler ( 9. Mär 2011 um 15:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 15:16
Noch besser den Delphi-Tag.
Mein ich doch
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.304 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 18:39
[OT] Wo lernt man eigentlich so "kreative" Einrückungen ohne Sinn und Verstand? [/OT]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 18:45
[OT] Wo lernt man eigentlich so "kreative" Einrückungen ohne Sinn und Verstand? [/OT]
[OT^2]Das war bestimmt keine Absicht. Die Zeilen wurden halt irgendwoher geguttenbergt.[/OT^2]
Andreas

Geändert von shmia ( 9. Mär 2011 um 18:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 19:34
[OT^3]
Ein Hoch auf Python, da lernt man wenigstens noch das richtige Einrücken
[/OT^3]
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.380 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Probleme beim Queue und Pointer

  Alt 9. Mär 2011, 20:21
Zitat:
Wenn ihr mir da helfen könntet, wär das echt top. Wir haben dafür nur noch 2 Stunden und ich hab weder einen Plan noch Delphi zu Hause.
[OT^4] Kann mir jemand mal schnell 100 Euro leihen, ich hab' grad keine Geld und kein Freundin... [/OT^4]
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf