AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Rechenprogramm

Rechenprogramm

Ein Thema von Amateurprofi · begonnen am 31. Mai 2009 · letzter Beitrag vom 7. Okt 2020
Antwort Antwort
Seite 5 von 10   « Erste     345 67     Letzte » 
Amateurprofi
Registriert seit: 17. Nov 2005
Neue Version vom 06.10.2020 (Version 3.4.1.1)
Info hierzu weiter unten in #91

Neue Version vom 26.09.2020 (Version 3.3.3.1)
Info hierzu weiter unten in #74

Neue Version vom 16.04.2018 (Version 3.3.2.1)
Info hierzu weiter unten in #73

Neue Version vom 12.04.2018 (Version 3.3.1.1)
Was neu ist siehe #60 weiter unten.

Neue Version vom 12.04.2018 (Version 3.2.1.1)
Was neu ist siehe letzter Beitrag weiter unten.

Neue Version vom 13.07.2010 (Version 2.3.1.1)
Was neu ist siehe letzter Beitrag weiter unten.

Neue Version vom 27.02.2010
Hochgeladen wegen eines Hinweises auf einen Bug (Siehe # 50)
Was alles neu ist : Siehe #51
Achtung, ich hab das jetzt nur wegen des Bugs hochgeladen.
Einige Teile des Programms befinden sich in einer Änderungsphase, und es ist mit Fehlern zu rechnen.
Die Teile, die bisher funktionierten sollten davon aber nicht betroffen sein.




Neue Version vom 28.07.2009

Vielleicht kann der oder die eine oder andere etwas mit anhängendem Rechenprogramm anfangen.
Das Hauptfenster enthält zwei Textfenster. In das rechte können numerische Ausdrücke eingegeben werden, im anderen werden die Ergebnisse ausgegeben.
Die Auswertung der Ausdrücke erfolgt immer dann, wenn im rechten Textfenster etwas geändert wird.
Das Programm kennt die gängigen Rechenoperatoren und Funktionen und etwas mehr.
Zum Beispiel werden Ein-/Ausgabe in unterschiedlichen Zahlensystemen, das Rechnen mit Datums- und Zeitangaben und mit Brüchen unterstützt.
Wer das Programm ausprobieren möchte, sollte nach dem ersten Start des Programmes mit Menu > Hilfe > Einführung auswählen. Ein (zugegebenermaßen simpel gestricktes) Tutorial gibt einen Einblick. Ausführlichere Infos können dem Helpfile, der mit Menu > Hilfe > Hilfe aufgerufen wird, entnommen werden.


Zahlen können ein- und ausgegeben werden als
Dezimalzahl, z.B. 2009, 3.14, 1.5e3
Hexzahl, z.B. $7D9 = Dezimal 2009
Binärzahl, z.B. "11111011001 = Dezimal 2009
Zahl mit anderer Basis, z.B. #8#3731 = Dezimal 2009
Römische Zahl, z.B. 'MMIX = Dezimal 2009
Datum, z.B. 10.5.2009 = 10. Mai 2009
Uhrzeit, z.B. 11:55:00 = Fünf vor 12
Datum + Uhrzeit, z.B. 10.5.2009 11:55:00
Kalenderwoche, z.B. wk19/2009
Bruch, z.B. 3//4 oder _3/4 = Dezimal 0.75
Winkel, z.B. 45°10'
Positionsangabe, z.B. 53°34'02.12"N, 10°01'20.24"E = Eine Position in Hamburg
Speicherauszug, z.B. ?00 00 00 00 00 00 20 FB 09 40 = Dezimal 2009

Als Operatoren sind z.Z. implementiert

Dyadische Operatoren, die zwischen 2 Werten stehen
Grundrechenarten
+, -, *, /
Erweiterte Grundrechenarten
\, Div Dividieren mit Integer-Resultat
|, Mod Modulo mit reellem Resultat
\\, IDiv Integer Division mit Integer-Resultat
||, IMod Modulo aus Integer Division
\*, DivMul Integer Division mit anschließender Multiplikation
^ Potenzieren
Logische- / Boolesche Operatoren
And, Or, Xor, Nand, Nor, Xnor
Vergleichs Operatoren mit Vergleichtoleranz
<, <=, =, <>, >=, >
Vergleichs Operatoren ohne Vergleichtoleranz
<< Kleiner
<== Kleiner oder identisch
== Identisch
<>> Nicht identisch
>== Größer oder identisch
>> Größer
Bitverschiebungs Operatoren
Shl, Shr, Rol, Ror
Bit-orientierte Operatoren
Bts Bit = 1 setzen
Btr Bit = 0 setzen
Btc Bit "umdrehen"
Btt Bit testen

Monadische Operatoren, die vor einem Wert stehen
- Vorzeichen bzw. Negation
+ Nur der Vollständigkeit halber
Not Boolesche / Bitweise Negation

Monadische Operatoren, die hinter einem Wert stehen
² Quadrieren
³ Dritte Potenz
° Umrechnung von Grad in Rad (Bogenmaß)
°° Umrechnung von Rad (Bogenmaß) in Grad
! Fakultät
€ Umrechnung von Euro in DM
€€ Umrechnung von DM in Euro
' Extrahieren des Exponenten

Als Funktionen sind zur Zeit implementiert
Standardfunktionen
Abs(v) Absolutwert
Sqr(v) Quadrat
Sqrt(v) Quadratwurzel
Winkelfunktionen
Sin(v) Sinus
Cos(v) Kosinus
Tan(v) Tangens
Cot(v) Kotangens
Sec(v) Sekans
Csc(v) Kosekans
SinH(v) Sinus Hyperbolicus
CosH(v) Kosinus Hyperbolicus
TanH(v) Tangens Hyperbolicus
CotH(v) Kotangens Hyperbolicus
SecH(v) Sekans Hyperbolicus
CscH(v) Kosekans Hyperbolicus
ArcSin(v) ArcusSinus
ArcCos(v) ArcusKosinus
ArcTan(v) ArcusTangens
ArcCot(v) ArcusCotangens
ArcSec(v) ArcusSekans
ArcCsc(v) ArcusCosekans
ArcSinH(v) AreaSinus Hyperbolicus
ArcCosH(v) AreaKosinus Hyperbolicus
ArcTanH(v) AreaTangens Hyperbolicus
ArcCotH(v) AreaCotangens Hyperbolicus
ArcSecH(v) AreaSekans Hyperbolicus
ArcCscH(v) AreaCosekans Hyperbolicus
RadToDeg(v) Bogenmaß in Grad umrechen
RadToGon(v) Bogenmaß in Gon umrechen
RadToCycle(v) Bogenmaß in Cycles umrechen
DegToRad(v) Grad in Bogenmaß umrechnen
DegToGon(v) Grad in Gon umrechnen
DegToCycle(v) Grad in Cycles umrechnen
GonToRad(v) Gon in Bogenmaß umrechnen
GonToDeg(v) Gon in Grad umrechnen
GonToCycle(v) Gon in Cycles umrechnen
CycleToRad(v) Cycles in Bogenmaß umrechnen
CycleToDeg(v) Cycles in Grad umrechnen
CycleToGon(v) Cycles in Gon umrechnen
Logarithmische und exponentielle Funktionen
Ln(v) Natürlicher Logarithmus
Lg(v) Dekadischer Logarithmus
Log10(v) Dekadischer Logarithmus
Log2(v) Dualer Logarithmus
LogN(base,v) Logarithmus zu beliebiger Basis
ALn(v) Umkehrung des natürlichen Logarithmus
ALg(v) Umkehrung des dekadischen Logarithmus
ALog10(v) Umkehrung des dekadischen Logarithmus
ALog2(v) Umkehrung des dualen Logarithmus
ALogN(base,v) Umkehrung des Logarithmus zu beliebiger Basis
Root(x, y) Yte Wurzel aus x
Power(x, y) Yte Potenz von x
Exp(v) Vte Potenz von e
ExpMod(b, e, m) Modulo einer Potenz (=(b ^ e) Mod m)
Exponent(v) Exponent eines reellen Wertes
Rundungsfunktionen
Int(v) Integerwert
Trunc(v) Nachkommateil entfernen
Frac(v) Nackkommateil
Round(v) Runden
Floor(v) Abrunden
Ceil(v) Aufrunden
Bitorientierte Funktionen
BTL(v, len) Unterstes gesetztes Bit
BTH(v, len) Höchstes gesetztes Bit
BTN(v, len) Anzahl gesetzter Bits
BTP(v, len) BitParität
Kalender-, Datums- und Zeitfunktionen
HDay(name,year) Datum eines Feiertages in einem Jahr
Easter(year) Datum des Ostersonntags
Advent(year) Datum des Ersten Advent
Time(hh, mm, ss) Zeit
Date(y, m, d) Datum
DT(y, m, d, hh, mm, ss) Datum und Zeit
Today Aktuelles Datum
Now Aktuelles Datum mit aktueller Zeit
Secs(v) Umrechnung in Sekunden
Mins(v) Umrechnung in Minuten
Hours(v) Umrechnung in Stunden
Days(v) Umrechnung in Tage
Weeks(v) Umrechnung in Wochen
Months(v) Umrechnung in Monate
Years(v) Umrechnung in Jahre
Julian(v) Nummer des Tages im Jahr
JD(v) Julianisches Datum
JDtoGreg(v) Gregorianisches Datum
Entfernungsberechnung
GeoDist(p1,p2,r,f) Entfernung zwischen 2 Orten
GeoPath(Liste) Summe von Entfernungen zwischen Orten
GeoPos(w1, w2) Positionsangabe aus 2 Winkeln erstellen
Latitude(p) Breitengrad aus Positionsangabe extrahieren
Longitude(p) Längengrad aus Positionsangabe extrahieren
Sonstiges
Min(Liste) Minimum
Max(Liste) Maximum
Sum(Liste) Summe
Avg(Liste) Mittelwert
Mul(Liste) Produkt
QSum(Liste) Summe von Quadraten
LCD(Liste) Größter gemeinsamer Teiler
SCM(Liste) Kleinstes gemeinsames Vielfaches
Frc(v) Dezimalzahl in Bruch wandeln
Combis(N, K, r) Anzahl Kombinationen
Varis(N, K, r) Anzahl Variationen
NK(N, K) N über K (Anzahl Kombinationen)
HGV(N, K, r, z, p) Hypergeometrische Verteilung
HGVX(N, K, g, r, p) Hypergeometrische Verteilung
Encode((Liste),Liste) Verschlüsseln
Cvt( v, from, to ) Maßeinheiten umrechnen
Convert( v, from, to ) Maßeinheiten umrechnen
Bmi( v1, v2) Body-Mass-Index
Angehängte Dateien
Dateityp: zip Calculator 3.3.1.1.zip (1,50 MB, 24x aufgerufen)
Dateityp: zip Calculator 3.3.2.1.zip (2,07 MB, 28x aufgerufen)
Dateityp: zip Calculator 3.3.3.1.zip (2,09 MB, 27x aufgerufen)
Dateityp: zip Calculator_3.4.1.1.zip (1,60 MB, 20x aufgerufen)
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....

Geändert von Amateurprofi ( 6. Okt 2020 um 01:45 Uhr) Grund: Fehler behoben
 
Benutzerbild von Corpsman
Corpsman

 
Delphi XE2 Professional
 
#41
  Alt 30. Jun 2009, 10:40
Ob dein Programm nun entsprechend Lange Zahlen Kann oder nicht ist eine Sache.

Ich nutze dein Programm mittlerweile gern und oft.

Der Fade beigeschmack das mir "Interne" fehler, also üebrläufe und der leien, nicht mit geteilt werden ist allerdings sehr störend.

Wenn du entsprechende Fehlerbehandlungen einbaust, wäre das für mich aber auch vollkommen OK.

BZW, wie ists denn mit nem Flag das man setzen kann, das die Anwendung auf gänzlich große Zahlen umschaltet ?

Denn zumindest bei mir ists ja so das ich nur 5 - 10 Rechnungen gleichzeitig habe, und wenn dann bei einer die Fehlermeldung käme, dann könnte ich sozusagen hergehn und einfach sagen, Umschalten und langsam rechnen, danach wieder im "schnell" modus ?

oder ist das zu aufwendig ...
Uwe
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#42
  Alt 2. Jul 2009, 12:17
Zitat:
BZW, wie ists denn mit nem Flag das man setzen kann, das die Anwendung auf gänzlich große Zahlen umschaltet ?
Sicherlich werde ich so etwas irgndwann einmal implementieren, jedoch wann und in welcher Form, steht in den Sternen (hat für mich einfach eine sehr geringe Priorität, gewissermaßen "below onIdle").

Zitat:
der ist das zu aufwendig ...
Aufwendig? Ja. Zu Aufwendig? Nein, eigentlich nicht.

Und noch mal zum "Mod"-Problem.
Verwende lieber IMOD bzw || .
x Mod y bzw. x|y ist bei mir definiert als x-y*Floor(x/y) und da ergibt dann 35 mod 3.6 = 2.6
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#43
  Alt 2. Jul 2009, 13:03
Zitat von Amateurprofi:
Und noch mal zum "Mod"-Problem.
Verwende lieber IMOD bzw || .
x Mod y bzw. x|y ist bei mir definiert als x-y*Floor(x/y) und da ergibt dann 35 mod 3.6 = 2.6
wäre es dann nicht etwas besser, wenn es andersrum definiert wäre?

z.B.:
|| und mod als "normales" MOD
| und fmod als x-y*Floor(x/y)

vorallem MOD kenn ich eigentlich mehr im Zusammenhang mir Integern/Ganzzahlen,

aber wenn man sich das mal gemerkt hat, daß hier mod nicht so wie in Delphi und Co. arbeitet, dann ginge es auch so-
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#44
  Alt 2. Jul 2009, 13:29
nochmal zu den vielen Befehlen ...

z.B. TAutoComplete siehe http://www.delphipraxis.net/internal...=976287#976287
Delphi-Quellcode:
uses AutoComplete;

MathAutoComplete: TAutoComplete;


// Form.OnCreate
SL: TStringList;

SL := TStringList.Create;
Try
  SL.Add('Abs()');
  SL.Add('Sqr()');
  ...
  SL.Add('Power(, )');
  ...
  MathAutoComplete := TAutoComplete.Create(Memo2, SL);
  MathAutoComplete.CompleteStartLength := 2;
Finally
  SL.Free;
End;


// Form.OnDestroy
MathAutoComplete.Free;
Also das was in der Liste steht, wird so angezeigt und auch eingefügt

Per Standard wird ab dem 3. Zeichnen die Liste eingeblendet,
hier hab ich's aber auf 2 eingestellt (CompleteStartLength), wobei auch bestimmt noch gehn würde.

Und mit Strg+Leertaste wird die Liste sofort angezeigt.


Achtung:
Von der Komponente werden .OnKeyDown, .OnKeyUp, .OnKeyPress und .OnChange des Controls geändert.

Also wenn/da du dort bestimmt selber was eingetragen hast, dann diese Komponente erst später hinzufügen,
falls du diesen Ereignissen im Code etwas zuweist (im OI isses egal, da dieses eh vorher schon existiert)
Es werden allerdings die alten/vorherigen Zuweisungen gemerkt und die Aufrufe weitergeleitet.
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#45
  Alt 3. Jul 2009, 00:32
Zitat von himitsu:
wäre es dann nicht etwas besser, wenn es andersrum definiert wäre?
z.B.:
|| und mod als "normales" MOD
| und fmod als x-y*Floor(x/y)
Werd ich ändern, was natürlich auch eine Änderung bei div und idiv nach sich zieht.
Die Definitionen werden dann so sein :

x MOD y (bzw. x|y) = Trunc( x )-Trunc( y ) * Trunc( Trunc( x ) / Trunc( y ) )
x RMOD y (bzw. x||y) = x - y * Floor( x / y ) (Das Floor ist nicht das aus Math.pas)
x DIV y (bzw. x\y) = Trunc( Trunc( x ) / Trunc( y ) )
x RDIV y (bzw. x\\y) = Int( x / y )

Ich denke, daß ich in der 2ten Hälfte Juli die neue Version in die DP stellen werde.
Neu sind ein paar zusätzliche Funktionen (die, die keiner braucht) und neu ist auch daß ich das unterste nach oben gekehrt habe. Intern steht da kein Stein mehr auf dem anderen. Nach Außen ist davon nichts zu sehen, außer daß die Auswertung um ca. 50 % schneller ist als vorher.

Zitat von himitsu:
vorallem MOD kenn ich eigentlich mehr im Zusammenhang mir Integern/Ganzzahlen
Ich habe meine ersten Programmier-Erfahrungen mit APL gemacht. Da ist das so definiert wie ich implementiert hatte.
Ist also nicht auf meinem Mist gewachsen.
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#46
  Alt 28. Jul 2009, 08:22
Ich habe eine neue Version des Rechenprogramms in #1 gestellt.
Wie schon im vorigen Beitrag angedeutet, habe ich den Teil, der Ausdrücke auswertet komplett überarbeitet. Ich gehe davon aus, daß ich den einen oder anderen Bug noch nicht gefunden habe......


Die im .zip file enthaltenen .dcu Dateien
parser_base.dcu
parser_parse.dcu
parser_errors.dcu
können in eigene Programme eingebunden werden.
Näheres hierzu steht im Helpfile unter "Einbinden in eigene Programme".

Änderungen des Parsers

Funktion RSum
Die Funktionen, die Listen verarbeiten können, wurden ergänzt
um die Funktion RSum(a,b,c,...) die die Summe der Quadratwurzeln
ermittelt.

Funktionen FMin, FMax, FAvg, FSum, FMul, FQSum und FRSum
In Anlehnung an die Funktionen Min, Max, Avg, Sum, Mul, QSum und RSum wurden
die Funktionen FMin, FMax, FAvg, FSum, FMul, FQSum und FRSum implementiert.
Ein Beispiel :
FSum( a, b, 1 / x ! )
gibt die Summe aus 1/a! + 1/(a+1)!, +..., + 1/b! zurück
Zum Beispiel FSum(0,20,1/x!) errechnet e (2,718...)
Die ersten beiden Parameter sind Integerzahlen im Bereich 0 bis 2^31-1, der dritte Parameter ist ein beliebiger Ausdruck, der eine Variable (x) enthalten muß (soll).
x wird dann von a bis b hochgezählt und der Ausdruck mit diesem Wert von x ausgewertet.
Aus den Ergebnissen der Ausdrücke wird dann die Summe gebildet (oder das Minimum, Maximum etc. bei den anderen Fxx-Funktionen)

Funktion Ord
Die Funktion Ord(x) wurde implementiert.
Innerhalb der () muß genau 1 Zeichen stehen, dessen numerischer Wert zurückgegeben wird. Das Zeichen steht nicht in Anführungszeichen und es kann auch das "(" oder ")" sein. Ord(() und Ord()) (auch wenn's bescheuert aussieht) sind gültige Ausdrücke, die 40 bzw 41 als Resultat liefern.
Das Gegenstück zu Ord, also Chr ist hier nicht als Funktion implementiert, aber als Ausgabeoption vorhanden. Zum Beispiel Chr 65 oder )65 gibt ein A aus.

Funktion Erase
Die Funktion Erase(name, name, ... ) wurde implementiert.
Die Parameterliste enthält beliebig viele, durch Kommas voneinander getrennte Namen von Variablen, die gelöscht werden sollen.
Ist die Parameterliste leer, werden alle Variablen gelöscht.
Die Anzahl gelöschter Variablen wird als Resultat zurückgegeben.

Funktionen EqC und EqE
Die Funktionen EqC und EqE zum lösen von Gleichungen erster bis vierter Ordnung wurden implementiert.
Beispiel:
EqE( 2x² + 2x - 12 ) ergibt 2
EqE( 2x² + 2x - 12, #2 ) ergibt -3 (die zweite mögliche Lösung)
Bei der Funktion EqC wird nicht der Text der Gleichung eingegeben, sondern nur die Koeffizienten.
EqC( 2, 2, - 12 ) ergibt 2
EqC( 2, 2, - 12, #2 ) ergibt -3 (die zweite mögliche Lösung)

Ergebnisse ins Clipboard kopieren
Eine Zeile kopieren:
Rechtsklick in Zeile kopiert diese Zeile ins Clipboard.
Mehrere Zeilen kopieren:
In erste zu kopierende Zeile zeigen. Rechte Mousetaste drücken. Zeiger mit gedrückter rechter Mousetaste in letzte zu kopierende Zeile ziehen. Mousetaste loslassen.
Wenn dezimale-, hexadezimale-, binäre Zahlen oder Zahlen mit anderer Basis Trennzeichen wie Kommas oder Blanks enthalten, werden diese entfernt, es sei denn, beim loslassen der rechten Mousestaste ist die Shift-Taste gedrückt.
Alle Zeilen kopieren : Strg-A bzw Shift-Strg-A drücken

Die Bedeutung von @ und # wurden vertauscht
also
# steht für das Resultat der vorigen Zeile
#x steht für das Resultat von Zeile x (wobei x eine Folge von Ziffern ist)
#-x steht für das Resultat aus Zeile (aktuelle Zeile - x)
x@Ziffern = Zahl mit der Basis x
Warum die Änderung?: Weil ich registriert habe, daß ich oft und gern auf die Ergebnisse vorheriger Zeilen zugreife und # leichter zu tippen ist als @

Für Div und Mod
wurden die Namen der Operatoren geändert
Div (bzw. " \ ") ist das frühere IDiv (bzw. " \\ ")
RDiv (bzw. " \\ ") ist das frühere Div (bzw. " \ ")
Mod (bzw. " | ") ist das frühere IMod (bzw. " || ")
RMod (bzw. " || ") ist das frühere Mod (bzw. " | ")
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#47
  Alt 28. Jul 2009, 09:09
Zitat von Amateurprofi:
Die im .zip file enthaltenen .dcu Dateien
parser_base.dcu
parser_parse.dcu
parser_errors.dcu
können in eigene Programme eingebunden werden.
Näheres hierzu steht im Helpfile unter "Einbinden in eigene Programme".
Es sollte vielleicht noch erwähnt werden, daß diese nur in Delphi 2005 verwendet werden konnen
(vermute einfach mal, daß sie damit kompiliert wurden)

DCUs können nur mit der Delphi-Version verwendet werden, womit sie auch kompiliert wurden
(manchmal sogar auch noch nur mit dem selben Servicepack),
da sie Compilerspezifig sind ... also nur von diesem Compiler verstanden werden.
  Mit Zitat antworten Zitat
Amateurprofi

 
Delphi XE2 Professional
 
#48
  Alt 28. Jul 2009, 15:25
@himitsu:
Das war mir nicht bekannt. Danke für den Hinweis.
Und : Ja, mit Delphi 2005 kompiliert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 12 Athens
 
#49
  Alt 10. Nov 2009, 08:03
[nicht wichtig]

mathe parser

sind nur'n paar Stichworte für die Suchfunktion
  Mit Zitat antworten Zitat
blablab

 
Delphi 7 Enterprise
 
#50
  Alt 26. Feb 2010, 20:10
Kleiner Bug:

Ausgabe = Dec
Präfix ausgeben (Lang oder Kurzform)
Ergebnis = 0

Gleitkommadivision durch Null
  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 01:06 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