![]() |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Die Surface-Demo läuft hier wunderbar (Linux, Lazarus, OpenGL)
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Hm.
Wenn ich nach dem Create noch ein
Delphi-Quellcode:
einfüge, funktioniert es zumindest insofern, dass ich das gezeichnete übertragen kann. Allerdings wird der Inhalt des TextureSurfaces dann nicht gespeichert, sondern ist im nächsten Zeichenschritt wieder verloren (-> Grafikmüll oder gar nichts).
adTextureSF.Texture.Clear;
Sprich, ich muss jedesmal neu auf das TextureSurface zeichnen, was aber ja nicht Sinn der Sache ist. Mich wundert's halt, dass es in OpenGL prima funktioniert... habe auch nochmal die AndorraDX93D.dll neu compiliert, damit wurde sie zwar ~30kb kleiner, hat aber ansonsten nichts gebracht. |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Zitat:
Zitat:
Zitat:
Zitat:
Und ich habe jetzt das AdImage einfach mal drauf gezeichnet und das Ergebnis ist dass unter Delphi 2009 SaveToGraphic nicht funktioniert. MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Wenn du wissen möchtest, ob ein TAdImage komplett Schwarz ist, dann speichere es doch in ein TAdBitmap und greife einfach über Scanline darauf zu:
Delphi-Quellcode:
var
adbmp: TAdBitmap; pc: PCardinal; begin adbmp := TAdBitmap.Create; AdImage.Texture.SaveToGraphic(adbmp); pc := adbmp.Scanline; for i := 0 to (adbmp.Size div 4) - 1 do begin if (pc^ and $FFFFFF00) <> 0 then Nicht Schwarz //and $FFFFFF00 ist um den Alphakanal zu ignorieren inc(pc); end; adbmp.Free; end; |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Zitat:
Delphi-Quellcode:
MfG
bmp := TBitmap.Create;
try AImgBuf.Texture.SaveToGraphic(bmp); bmp.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Neuer Ordner\' + AName + '-a.bmp'); finally bmp.Free; end; xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Debugge das "SaveToFile" doch mal durch. Dann erkennst du doch vermutlich wo es scheitert.
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Ehm warum das denn? Also erstens nehme ich an dass der VCL Code soweit i.O. ist und zweitens könnte ich dieses Bitmap auch mit einem TImage verknüpfen und würde nur eine Schwarze Fläche sehen.
MfG xZise [edit=0]Ich meine natürlich nicht den VLC media player sondern die Visual Component Library[/edit] |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Ich meinte natürlich SaveToGraphic :oops:
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Achso ;)
Naja ich habe es vermutlich auf das Kopieren der Daten (AssignTo der Klasse TAdVCLFormat^^) eingegrenzt. Aber so richtig weiß ich nicht, was ich da testen könnte. Was sein könnte, dass er irgendwie die Hintergrundfarbe nicht richtig setzt, weil da wo Transparenz ist, sieht man schwarz (durchscheinen). Trace von SaveToGrapic
Delphi-Quellcode:
Wenn ich da das bmp speichere habe ich schon den Big. Das heißt ich vermute es liegt irgendwie an den Move. Wobei ich natürlich da vorher das ABitmap getestet habe und wenn ich vor der for-Schleife das Bitmap teste läuft alles wunderbar:
function TAdVCLFormat.AssignTo(ABitmap: TAdBitmap;
AGraphic: TObject): boolean; var bmp: TBitmap; y: integer; begin result := true; bmp := TBitmap.Create; try bmp.PixelFormat := pf32Bit; bmp.Width := ABitmap.Width; bmp.Height := ABitmap.Height; for y := 0 to bmp.Height - 1 do Move(ABitmap.ScanLine(y)^, bmp.ScanLine[y]^, ABitmap.Width * 4); TGraphic(AGraphic).Assign(bmp); finally bmp.Free; end; end;
Delphi-Quellcode:
MfG
function TAdVCLFormat.AssignTo(ABitmap: TAdBitmap;
AGraphic: TObject): boolean; var bmp: TBitmap; y: integer; i : Integer; pc: PCardinal; begin result := true; bmp := TBitmap.Create; try bmp.PixelFormat := pf32Bit; bmp.Width := ABitmap.Width; bmp.Height := ABitmap.Height; pc := ABitmap.Scanline; for i := 0 to (ABitmap.Size div 4) - 1 do begin if (pc^ and $FFFFFF00) <> 0 then Beep; inc(pc); end; for y := 0 to bmp.Height - 1 do Move(ABitmap.ScanLine(y)^, bmp.ScanLine[y]^, ABitmap.Width * 4); bmp.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Neuer Ordner\' + IntToStr(Random(MaxInt - 1)) + '-a.bmp'); TGraphic(AGraphic).Assign(bmp); finally bmp.Free; end; end; xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Ersetzte die MoveTo Zeilen mal Schritt für Schritt durch die folgenden Codeschnipsel und schildere was passiert:
1.
Delphi-Quellcode:
2.
var
pc1, pc2: PCardinal; x, y: integer; begin for y := 0 to bmp.Height - 1 do begin pc1 := bmp.Scanline[y]; pc2 := ABitmap.Scanline(y); for x := 0 to bmp.Width - 1 do begin pc1^ := $FF0000FF; //Blaues Bitmap, Alpha $FF inc(pc1); inc(pc2); end; end; end;
Delphi-Quellcode:
3.
var
pc1, pc2: PCardinal; x, y: integer; begin for y := 0 to bmp.Height - 1 do begin pc1 := bmp.Scanline[y]; pc2 := ABitmap.Scanline(y); for x := 0 to bmp.Width - 1 do begin pc1^ := $FFFFFFFF; //Weißes Bitmap, Alpha $FF inc(pc1); inc(pc2); end; end; end;
Delphi-Quellcode:
var
pc1, pc2: PCardinal; x, y: integer; begin for y := 0 to bmp.Height - 1 do begin pc1 := bmp.Scanline[y]; pc2 := ABitmap.Scanline(y); for x := 0 to bmp.Width - 1 do begin pc1^ := pc2^ or $000000FF; //Inhalt ABitmap, Alpha $FF inc(pc1); inc(pc2); end; end; end; 4.
Delphi-Quellcode:
var
pc1, pc2: PCardinal; x, y: integer; begin for y := 0 to bmp.Height - 1 do begin pc1 := bmp.Scanline[y]; pc2 := ABitmap.Scanline(y); for x := 0 to bmp.Width - 1 do begin pc1^ := pc2^; //Inhalt ABitmap, Alpha $FF inc(pc1); inc(pc2); end; end; end; |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Hmmm also ich habe jetzt die "alte" Methode entfernt und sie neu deklariert:
Delphi-Quellcode:
Ergebnis war jedes mal eine weiße Fläche. Ich müsste auch bmp der Grafik zuweisen. Jetzt bekomme ich vernünftige Ergebnisse:
function TAdVCLFormat.AssignTo(ABitmap: TAdBitmap;
AGraphic: TObject): boolean; var pc1, pc2: PCardinal; x, y: integer; bmp: TBitmap; begin bmp := TBitmap.Create; try bmp.PixelFormat := pf32Bit; bmp.Width := ABitmap.Width; bmp.Height := ABitmap.Height; // Ab hier habe ich das aus deinen Codesniplseln kopiert for y := 0 to bmp.Height - 1 do begin pc1 := bmp.Scanline[y]; pc2 := ABitmap.Scanline(y); for x := 0 to bmp.Width - 1 do begin pc1^ := pc2^; //Inhalt ABitmap, Alpha $FF inc(pc1); inc(pc2); end; end; // Bis hier finally bmp.free; end; end;
Hier ist mein Workaround für weiße Hintergrundflächen:
Delphi-Quellcode:
Wie man sieht längst nicht so performat wie dein Code, aber damit bekomme ich immerhin Transparenz.
function TAdVCLFormat.AssignTo(ABitmap: TAdBitmap;
AGraphic: TObject): boolean; var bmp: TBitmap; y, x: integer; var i : Integer; LineIn, LineOut : PCardinal; LineInRec : LongRec; begin result := true; bmp := TBitmap.Create; try bmp.PixelFormat := pf32Bit; bmp.Width := ABitmap.Width; bmp.Height := ABitmap.Height; for y := 0 to bmp.Height - 1 do begin LineIn := ABitmap.ScanLine(y); LineOut := bmp.ScanLine[y]; for x := 0 to bmp.Width - 1 do begin LineInRec.Bytes[0] := 255 - LineIn^ shr 24; LineInRec.Bytes[1] := (LineIn^ shr 16) and $00FF; LineInRec.Bytes[2] := (LineIn^ shr 8) and $0000FF; LineInRec.Bytes[3] := LineIn^ and $000000FF; for i := 1 to 3 do begin if LineInRec.Bytes[0] < 255 - LineInRec.Bytes[i] then LineInRec.Bytes[i] := LineInRec.Bytes[0] + LineInRec.Bytes[i] else LineInRec.Bytes[i] := $FF; end; LineOut^ := $FF000000 or (LineInRec.Bytes[1] shl 16) or (LineInRec.Bytes[2] shl 8) or (LineInRec.Bytes[3]); Inc(LineIn); Inc(LineOut); end; end; TGraphic(AGraphic).Assign(bmp); finally bmp.Free; end; end; Übrigens gibt es eine Möglichkeit bei deinem Canvas auch Kreis/Rechtecksringe zu zeichnen? Und wie sieht es mit abgerundeten Rechtecken aus? Btw, wenn du möchtest könntest du noch folgende Funktionen implementieren (Dürfte es alle nicht geben):
Delphi-Quellcode:
MfG
function AdPoint(const APoint : TPoint) : TAdPoint; overload;
begin Result := AdPoint(APoint.X, APoint.Y); end; function AdRect(ACorner1, ACorner2 : TAdPoint; const APreventFlipOver : Boolean = true) : TAdRect; overload; var CornerBuffer : TAdPoint; begin if APreventFlipOver then begin if (ACorner1.X > ACorner2.X) or (ACorner1.Y > ACorner2.Y) then begin CornerBuffer := ACorner1; ACorner1 := ACorner2; ACorner2 := CornerBuffer; end; end; Result := AdRect(ACorner1.X, ACorner1.Y, ACorner2.X, ACorner2.Y); end; function AdRect(ACorner1, ACorner2 : TPoint; const APreventFlipOver : Boolean = true) : TAdRect; overload; begin Result := AdRect(AdPoint(ACorner1), AdPoint(ACorner2), APreventFlipOver) end; xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Was ist los :) Ist so still geworden, aber auch mit Workaround sieht die Transparenz schrecklich aus.
MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Hallo,
ich habe deinen letzten Post ohne das Edit nur gelesen, deshalb wurde ich nicht darauf aufmerksam. Deinen "Workaround" muss ich mir mal genauer anschauen. Deine AdPoint-Funktion lässt sich auch viel effizienter ohne Funktion schreiben (übrigens geht das genauso mit TAdRect):
Delphi-Quellcode:
Mit der Transparenz schaue ich mal - wenn mich nicht alles täuscht, habe ich die Transparenzbehandlung ausgebaut: In den älteren Versionen habe ich das in das gegebene Bitmap übergeblendet. Ich dachte damals (als ich es ausgebaut habe) so was wie: "Wenn die VCL schon pf32Bit anbietet, dann verwende ich dass doch auch - da bekommt der Benutzer seine Daten auch so, wie sie sein sollen und nicht verfälscht." - Was auch stimmt, denn schließlich stehen die Daten 1 zu 1, so wie sie sein sollen im Speicher des Bitmaps. Ich denke hier sollte eher die VCL und nicht Andorra 2D gefixt werden. Du kannst ja mal Borland Inprise CodeGear Emba-irgendwas deswegen fragen ;-).
var
p1: TAdPoint; p2: TPoint; begin p1 := PAdPoint(@p2)^; end; Das mit dem APreventFlip over baue ich lieber direkt ins Canvas ein. Wenn du Code für abgerundete Ecken schreibst, übernehme ich den auch gerne. Schau dir mal die Unit TAdCanvas an - du musst einfach nur eine Klasse von TAdCanvasObject ableiten und 3 oder 4 Funktionen implementieren. Aber achte darauf, dass die Texturkoordinaten, Farbverläufe und Normalen richtig gesetzt werden und du nirgendst Speicherüberläufe einbaust. Und dann musst du nur noch eine Funktion zu TAdCanvas hinzufügen, die dein Objekt erzeugt und auf die aktuelle DisplayList pusht. Also ganz einfach... :-) Danke für die Vorschläge, Andreas |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Tja, aber wie wir wissen können Bugfixes von größeren Softwareunternehmen eine Zeit dauern. Embarcadero heißen die Jungs übrigens momentan, aber wenn mans genau wissen will, sollte man das jeden Tag überprüfen, so oft wie sich das ändert. :mrgreen:
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Btw: Du wolltest doch mal wissen, was alles Andorra 2D verwendet? Da könntest du auch den DrawBall Editor drauf setzen! Und eine andere Frage: Ist es möglich ein "Screenshot" davon zu erstellen? MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Grade gesehen: Könntest du bitte bei der Beschreibung von DrawBall auf der Andorra-HP (
![]() Durch das "your" ist das eigentlich schon ziemlich eindeutig als 'deine Eier' zu verstehen :mrgreen: |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Uuups :oops:
Ok, jetzt sind es "Murmeln", ohne "your"... Aber vorher war es doch auch ganz lustig. ;-) |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Here ye go, mate!
(Jemand mit einem englischen Lazarus könnte vielleicht noch mal überprüfen, ob die Menüpunkte so stimmen - wahrscheinlich nicht ganz, ich hab die einfach übersetzt und habe kein Lazarus, um es nachzuprüfen) Zitat:
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Wow .... Mal eben ein abgerundetes Rechteck zu zeichnen ist nicht ohne, wenn ich mir den Code des Rechtecks anschaue. Also ein Großteil habe ich verstanden, wobei ich bei procedure TAdCanvasQuadObject.Generate; noch nicht so den Durchblick habe :D
By the way: Zitat:
Und eine Frage bei dem Kreis: Die Anzahl der Schritte sind ja: 2 * PI * r * (0,1/(0,01 * r)) Wenn mich nicht alles täuscht lässt sich das vereinfachen: 2 * PI * r * ((1/10)/(1/100)) * (1/r) | Mit dem Kerwert malnehmen 2 * PI * r * (100/10) * (1/r) 2 * PI * r/r * 10 2 * PI * 10 20 * PI Siehe TAdCanvasEllipseObject.Generate:
Delphi-Quellcode:
Wozu so kompliziert :) Abgesehen davon wird der Kreis bei größerem Radius immer schlechter, da es immer 63 Ecken sind.
steps := round(Pi * 2 * ar * (0.1/(ar*0.01)));
Übrigens wie kann es sein, dass ein Kreis mit der SimpleDemo gezeichnet kein IntegerÜberlauf verursacht, während er in meinem Editor (komischerweise seit kurzem) einen solchen verursacht? Ich habe mein WorkAround verbessert, da vorher es zu Integerüberläufen kam. MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Warum ist das Property Name einer TAdImageList noch ein AnsiString, während alles andere ein String ist. Das könnte unter Delphi 2009 doch ein Problem geben, oder irre ich mich?
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Weil ich den Namen der Images direkt in eine Datei Speichere/daraus Lade - dort eben mit 8 Bit pro Char.
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Zitat:
Aber was anderes: Wäre es möglich dem TSprite eine Eigenschaft "DefaultDraw" zu verpassen? Weil, ich würde den Cursor bei mir nämlich selber zeichnen (nachdem alles andere gezeichnet wurde). Aber wenn ich einmal "SpriteEngine.Draw" und "Cursor.Draw" mache habe ich es ja doppelt. Deshalb dachte ich, wenn "DefaulDraw" auf "false" steht, zeichnet er es nur, beim expliziten Aufruf von ".Draw" ansonsten auch, wenn die "Mutterklasse" ".Draw" aufruft. Btw, kann ich jetzt "Rechtecksringe" zeichnen (Kreisringe halt in rechtecksform) und auch abgerundete Rechtecke (wenn auch nicht vollständiger Support). MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Was ist denn ein "Kreisring in Rechtecksform"? Meinst du eine Ellipse? :gruebel:
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Zitat:
(in Paint gibt es auch so eine Form namens "Gerundetes Rechteck") |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Nein ^^ Einfach ein Kreisring in rechtecker Form ...
Code:
Mehr nicht :)
________
| ____ | | | | | | |__| | |______| MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Dann würde ich es aber nicht "Kreisring" nennen, weil das überhaupt nichts mit einem Kreis zu tun hat. ;)
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
KreisRING ist ein Kreis wo in der Mitte ein Kreis fehlt. Und ein Rechteckiger Kreisring ist ein Rechteck ohne Rechteck in der Mitte ;)
MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Eine weitere Übersetzung - inherited bestand drauf. :mrgreen:
Zitat:
Und eine deutsche Version des englischen Tutorials über Andorra auf i386/amd64-Linux: Zitat:
Im Übrigen fehlt bei beiden Originaltutorials der Hinweis auf den Autor und die Lizenz ganz unten, und daher auch hier in den Übersetzungen. Im englischen Original des zweiten Tutorials kann der Hinweis darauf, dass es das FreeImage-Tutorial nur auf Deutsch gibt, nun entfernt werden. |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Hallo 3_of_8,
erstmal Entschuldigung, dass ich erst so spät antworte - ich hatte (habe) in letzter Zeit einiges zu tun und habe deinen Post irgendwie verdrängt. Auf jeden Fall vielen Dank für die Übersetzungen, ich habe die Tutorials hochgeladen. :thumb: Andreas |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Zitat:
![]() :) |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Kein Problem. Jetzt sind eh nur noch drei übrig, mal schauen, wann ich die angreife.
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Zitat:
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Ich hätte noch eine Anregung/Bitte: Könnte man jedem Item in der TAdImageList noch ein String-Feld hinzufügen, dass man zur freien Verwendung nutzen kann und per AdImgEdit auch mit Text belegen kann? Hintergrund: Ich würde gerne Bilder in der Liste mit Tags/Kategorien versehen. Wäre so etwas möglich oder habt ihr eine alternative Idee? (Der Name des Bildes kommt nicht in Frage, soll schon ein anderes Feld sein)
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Naja du könnest gucken, ob du vielleicht an den Bilddaten noch Informationen dranhängen kannst?
MfG xZise |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Gibts eigentlich irgendwo eine Demo oder ein Tut bezüglich "Lights"?
Würde mir das gerne mal anschauen, aber das ganze rein über die Doku zu machen ist sehr anstrengend und oft von Misserfolg gekrönt ... |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Hallo,
"Lights" sind eigentlich nur am besten für 3D-Modelle geeignet. Schau dir mal die "Simple3D"-Demo an, dort verwende ich ein Lichtobjekt. Für reine 2D-Anwendungen würde ich (wie in der Bounce-Demo) einen Lichtkreis additiv auf die Szene zeichnen. Edit: @Codewalker: Ich habe vor irgendwann das ImageList-Dateiformat auf etwas dynamischeres Abzuändern, ich hatte da an etwas XML-Basiertes mit Binärdatenteil gedacht. Aber vorerst möchte ich noch nichts daran ändern. @FlorianH: Wegen deinem Problem mit den Surfaces: Eine (suboptimale) Lösung ist, den Hintergrund nicht in der GPU zu rendern, sondern das ganze in die CPU auszulagern. "TAdBitmap"s kannst du mit TAdBitmap.DrawBitmap aufeinanderzeichnen. Dabei musst du ja nur die veränderten Farbkleckse zeichnen. Woran das Problem mit dem DirectX-FBO liegt, habe ich bis jetzt noch keine Ahnung - bei mir (Radeon 9800/ HD 4650) funktioniert es ja. |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Hallo,
gerade habe ich in Andorra 2D die Möglichkeit zum Laden von 3D-Modellen eingebaut. Wie alles andere auch, findet das Laden in modularer Weise statt. So können Loader für die verschiedenen Modelformate einfach durch hinzufügen zur Uses-Klausel eingebunden werden (so mache ich das ja auch schon bei den Bildformaten.) Momentan arbeite ich an einem Loader für 3DS (Danke hierbei an Noeska, dessen Bibliothek "glModel" ich hierbei teilweise als Referenz für das 3DS Dateiformat missbrauche). Die entsprechende Unit gibt es hier zum Anschauen: ![]() Aktuell lade ich weder Texturen/-koordinaten noch Materialien aus der 3DS-Datei, doch das kommt in den nächsten Tagen noch. Weitere Formate, die ich unterstützen möchte sind .X und .OBJ Außerdem habe ich einen "Maskottchen Wettbewerb" gestartet, bei dem ich ein 3D-Maskottchen für die Verwendung in den 3D-Demos von Andorra 2D suche. Siehe: ![]() Kommentare sind wie immer erwünscht, ;-) Andreas |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Supi, dann kann ich in meinem Spiel vielleicht das Würfeln tatsächlich mit fallenden Würfeln darstellen (wobei man ja dann noch die Newton-Physics für Modelle oder Boxen bräuchte. Planst du das zufällig auch?).
Wann gibt es denn von dir den nächsten zusammengepackten Release? |
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Es gibt ein altes Projekt von mir, in dem Loader für MD2 und MS3D sowie Anbindungen an Newton enthalten sind - wenn ich mal viel Zeit habe, kann ich schauen, in wie weit ich das in Andorra integrieren kann.
|
Re: Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Another wee translation for ye. ;)
(Es heißt im Übrigen "das Partikel", nicht "der Partikel". "die Partikel (sing.)" gibt es auch, aber damit ist ein Wort gemeint, das nicht gebeugt wird) Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz