AGB  ·  Datenschutz  ·  Impressum  







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

Allgemeine Fragen zu Delphi

Ein Thema von andiak · begonnen am 18. Nov 2007 · letzter Beitrag vom 18. Nov 2007
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#1

Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 14:12
Die Folgenden fragen sind die aus einer probe klausur ich werde sie so wie ich denke beantworten für fehler bitte korigieren!!
1.Beschreibe Funktion und Zweck des Objektinspektors von Delphi in 4–8 Sätzen?
er Objektinspektor weißt eine Übersicht aller Objekte die in dem momentanen Projekt verwendet werden.
Außerdem kann man mit dem Objektinspector allen wichtigen Eigenschaften einen Startwert zuweißen
Außerdem findet man eine Liste mit allen Ereignissen wie z.b. Onclick (ist das richtig?)

2. Markiere für jede der folgenden Aussagen über Objekt- und Ereignisorientierung, ob sie richtig oder falsch ist.
2.1Objekteigenschaften können ihren Wert während des Programmablaufs nicht mehr verändern.
2.2Verschiedene Ereignisse lassen sich durchaus mit derselben Methode behandeln.
2.3Die Ausführung mancher Methoden ist an das Eintreten bestimmter Ereignisse geknüpft.
2.4Eine Objekteigenschaft kann selbst ein Objekt sein.

2.1 Falsch :ein Bild kann den Wert Sichtbar/True zu anfang haben wobei Sichtbar die Eigenschaft und True der Wert ist und dieser kann sich ändern.
2.2 Wahr :Mit dem ";" lassen sich verschiedene Methoden hintereinander ausführen z.b. bei dem Ergeignis Onclick
2.3 Wahr: Z.b. bei einer if Anweisung, falls a angeklickt wird passiert c und so weiter.... (da bin ich mir nicht sichter)
2.4 Da bin ich mir garnicht sicher keine ahnung.

3.Erkläre die Begriffe Objekt, Eigenschaft, Methode, Wert, Ereignis in eigenen Worten. Grenze sie gegen einander ab. Nenne treffende Beispiele aus Delphi, Office-Anwendungen oder der realen Welt.
-Kann mir das zufällig jemand gut erläutern das kann ich nämlcih irgendwie nicht o_O



Das waren erstmal die ersten 3 Aufgaben falls mich da jemand berichtigen /helfen könnte wär voll nett
Die restlichen 4 werde ich eventuel danach posten falls mir geholfen wurde
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 15:31
Hi,
zu den Fragen von 2.x solltest Du Dir noch mal genau die Fragen und Deine Antworten anschauen.

2.2 Verschiedene Ereignisse lassen sich durchaus mit derselben Methode behandeln.
2.3 Die Ausführung mancher Methoden ist an das Eintreten bestimmter Ereignisse geknüpft.
2.4 Eine Objekteigenschaft kann selbst ein Objekt sein.

Mit Frage 2.2 ist (so würde ich es verstehen) wirklich gemeint, ob eine Methode sowohl für die Behandlung von Ereignis A als auch für Ereignis B verwendet werden kann. Die Ereignis-Behandlung ist dabei etwas wie eine OnClick-Methode, die eben immer dann aufgerufen wird, wenn ein Mouse-Button gedrückt und wieder losgelassen wurde. Gibt aber natürlich noch andere Ereignisse. Hier ist z.B. die Frage, ob Du dem Button1 und Button2 die gleiche Methode für das jeweilige OnClick-Ereignis zuweisen könntest oder eben nicht? Dass das Semikolon das Ende eines Befehls markiert hat (imho) nichts mit der Frage zu tun.

Dann zu 2.3, eigentlich schließt die Frage ziemlich stark an 2.2 an. Die Frage (würde ich sagen) bezieht sich eher darauf, ob eine Methode immer genau dann und nur dann aufgerufen wird, wenn ein bestimmtes Ereignis eingetreten ist. Also genaugenommen wird gefragt, ob es die generelle Möglichkeit überhaupt gibt. Da würde ich einfach sagen, schaust Du Dir die Ereignisse an und überlegst dann.

Zu 2.4, teste es einfach mal. Du weißt ja was Eigenschaften sind. Also leg einfach eine neue Klasse an und versuche dort eine Eigenschaft zu setzen, die selbst ein Objekt ist. Alternativ kannst Du auch schauen, ob Du eine bekannte Klasse findest bei der eine der Eigenschaften eine Klasse ist. Da weiß ich jetzt nicht welche Komponenten ihr verwendet habt, aber da solltest Du schon bei fast allen visuellen Komponenten die Antwort finden.

Zu 3., Du solltest wenigstens Deine Vermutung äußern. Auch wenn das eine Probeklausur ist, wird wohl recht ungerne eine fertige Lösung rausgegeben. Das bringt Dir auch nicht viel. Deshalb solltest Du mal einfach sagen, was Du Dir bisher unter den Begriffen vorstellst, muss ja nicht perfekt sein! Ansonsten hast Du im Moment noch eine Menge Hilfsmittel wie Google, die Dir sicherlich einen guten Überblick über diese Begriffe geben. Wenn Du da dann etwas nicht verstehst, dann frag einfach konkret nach, wird Dir sicherlich geholfen.

Also dann viel Glück!

Gruß Der Unwissende
  Mit Zitat antworten Zitat
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#3

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 15:32
Mal nur kurz:
Zitat von andiak:
[...]
1.Beschreibe Funktion und Zweck des Objektinspektors von Delphi in 4–8 Sätzen?

Der Objektinspektor weißt eine Übersicht aller Objekte die in dem momentanen Projekt verwendet werden.
Eigentlich nicht. Man kann ja auch Objekte instantiieren, die icht im OI erscheinen. Also ist das Wort 'alle' falsch.
Richtig waere:
Der OI weist eine Uebersicht zu den Methoden/Ereignissen und Eigenschaften/Properties eines Objektes auf.
Zitat von andiak:
Außerdem kann man mit dem Objektinspector allen wichtigen Eigenschaften einen Startwert zuweißen
Okay. "Zuweisen" (nur ein 's')

Zitat von andiak:
Außerdem findet man eine Liste mit allen Ereignissen wie z.b. Onclick
Exakt.
Noch was:
Von den Standardeinstellungen abweichende (manuell geaenderte) Werte der Properties werden "fett" dargestellt.
Zitat von andiak:
2. Markiere für jede der folgenden Aussagen über Objekt- und Ereignisorientierung, ob sie richtig oder falsch ist.
2.1Objekteigenschaften können ihren Wert während des Programmablaufs nicht mehr verändern.
2.2Verschiedene Ereignisse lassen sich durchaus mit derselben Methode behandeln.
2.3Die Ausführung mancher Methoden ist an das Eintreten bestimmter Ereignisse geknüpft.
2.4Eine Objekteigenschaft kann selbst ein Objekt sein.

2.1 Falsch :ein Bild kann den Wert Sichtbar/True zu anfang haben wobei Sichtbar die Eigenschaft und True der Wert ist und dieser kann sich ändern.
ok
Zitat von andiak:
2.2 Wahr :Mit dem ";" lassen sich verschiedene Methoden hintereinander ausführen z.b. bei dem Ergeignis Onclick
die Aussage ist wahr. Das hat aber nichts mit dem Semikolon zu tun.

Man kann auf jeden Fall zwei unterschiedlichen Edit-Feldern die gleiche OnChange-Methode hinterlegen, um bspw. eine Plausibilitaetspruefung vorzunehmen...

Zitat von andiak:
2.3 Wahr: Z.b. bei einer if Anweisung, falls a angeklickt wird passiert c und so weiter.... (da bin ich mir nicht sichter)
Quatsch. "Wahr" ist richtig, aber es geht um Ereignisse, die Methoden aufrufen. Also OnClick, OnShow, OnChange...

Zitat von andiak:
2.4 Da bin ich mir garnicht sicher keine ahnung.
Natuerlich kann eine Objekteigenschaft ein Object sein.
Zum Beispiel "ActiveControl" in einem Form bezieht sich auf das Aktive TWinControl also ein Objekt.
Zitat von andiak:
3.Erkläre die Begriffe Objekt, Eigenschaft, Methode, Wert, Ereignis in eigenen Worten. Grenze sie gegen einander ab. Nenne treffende Beispiele aus Delphi, Office-Anwendungen oder der realen Welt.
Mal ganz einfach (kann das jetzt aus zeitgruenden nicht ausfuehrlicher machen):

Objekt: Struktur mit Eigenschaften und Methoden. Eigenschaften/Properties werden vom Zugriff durch property-Methoden gekapselt, so dass Veraenderungen der Eigenschaften nur kontrolliert durchgefuehrt werden koennen. Die Kontrolle darueber behaelt das Objekt selbst.

Methode: Eine Routine (=Prozedur oder Funktion) des Objekts.
Wert ist der Inhalt einer Eigenschaft. Also visible = true (true = Wert!)
Ereignis: Das Objekt erhaelt eine Nachricht darueber, dass ein bestimmtes Ereignis eingetreten ist. Sofern erforderlich kann eine Methode erstellt werden, damit das Objekt auf das Ereignis reagieren kann.
Abgrenzung: ein Objekt besteht aus Eigenschaften und Methoden. Eigenschaften des Objektes sind aehnlich wie "Record-Felder" von einem bestimmten Datentyp und verfuegen in der Regel ueber Zugriffsmethoden, wie get- und set-Methoden, um dem Programm den Zugriff auf die Daten des Objektes zu ermoeglichen.
Ein Ereignis tritt meist durch Interaktion des Useres mit dem Programm ein. Spezielle Methoden des Objektes erlauben dem Objekt auf diese Ereignisse zu reagieren - bspw. OnKeyDown.

Zitat von andiak:
-Kann mir das zufällig jemand gut erläutern das kann ich nämlcih irgendwie nicht o_O
Gut erlaeutert isses nicht, sollte aber richtig sein.
Ob es Deinem Prof reicht weiss ich nicht, aber Du solltest Dir unbedingt mal ein Buch zur OOP zulegen (denke es gibt hier im Forum genug Buchtips, wenn Du danach suchst - ich bin da nicht auf der Hoehe der Zeit, was die Buecher angeht).

Viel Erfolg
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#4

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 16:10
Cool danke das hilft mir schon sehr und dadurch erkenn ich wo bei mir fehler im denkprozess waren xD
Hier sind noch ein paar Aufgaben!

4. Wir nehmen an, dass vor Programmstart per Objektinspektor Edit1.Text:='0' gesetzt wurde, und betrachten den nachstehenden Delphi-Code.

Delphi-Quellcode:
prozedur TForm1.Button1Click(Sender: TObject);
var i:=integer;
  i := IntToStr(Edit1:Text)
  i = i + 1;
  if i = 10 then
    Panel1.Caption('Zehnmal auf den Button geklickt!');
    i = 0;
  else
    Panel1.Caption := '';
  Edit1.Text := IntToStr(i);
end.
(a) Schreibe diese Methodendefinition ohne Fehler neu auf, so dass sie vom Compiler übersetzt werden kann und das tut, was hier offensichtlich beabsichtigt ist.
(b) Beschreibe in eigenen Worten, wie sich das Programm verhalten wird.
(c) Finde in deinem korrigierten Code je ein Beispiel für ein Objekt, eine Eigenschaft, einen zugewiesenen Wert, ein Ereignis, eine Behandlungsmethode, eine Zuweisung.
(d) Welche Typen von Ausdrücken treten auf? Sortiere alle vorkommenden Ausdrücke tabellarisch nach Typ.
(e) Welche Arten von Anweisungen treten in deinem Code auf? Kreise sie ein und benenne sie.
Antowrten:
a: ich glaube nach then fehlt ein bgin weiß ich aber nicht außerdem Pantel1.Caption := 'Zehnmal auf den Button geklickt!' ;
sonst seh ich nichts
b: erinnert mich der code an ein ratespiel wo man 10 mal raten darf danach ist schluss
c: Objekt: Panel1
Eigenschaft : Caption
Zugewiesenen wert: 'Zehnmal auf den Button geklickt!'
Ereignis :Button1.Click
Behandlungsmethode: ????
Zuweiung : ????
d: das verstehe ich auch nicht ganz
e: eine if anweisung kommt drin vor mehr weiß ich leider nicht


5. Gib je ein Beispiel für eine Verbundanweisung, eine Zuweisung, eine if-Anweisung, einen Methodenaufruf an.

ich glaub ich versteh dich anderen begriffe einfach nicht aber so pauschal könnte ich nur if anweisung geben
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#5

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 16:18
Also, ich sehe eine ganze Menge Fehler:
Delphi-Quellcode:
prozedur TForm1.Button1Click(Sender: TObject);
var i:=integer; //falsche Variablendeklaration
//hier fehlt was
  i := IntToStr(Edit1:Text) //und was fehlt hier? Außerdem Tippfehler
  i = i + 1; //Zuweisung oder Vergleich?
  if i = 10 then
  //auch hier fehlt etwas, wenn beide unten stehenden Befehle ausgeführt werden sollen
    Panel1.Caption('Zehnmal auf den Button geklickt!'); //Zuweisung oder Methode?
    i = 0; //Zuweisung oder Vergleich? Außerdem darf etwas ganz Bestimmtes nicht vor einem else stehen
  //siehe 3 Zeilen weiter oben
  else
    Panel1.Caption := '';
  Edit1.Text := IntToStr(i);
end. //und noch ein finaler Fehler
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
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 16:23
Na einer fehlt noch, "prozedur" sieht mir auch etwas wenig nach Delphi aus.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#7

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 16:25
Nicht auf's Sytnax-Highlighting geachtet.
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
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 16:29
Moin andiak,

teilweise ist es schwer zu beurteilen, ob die Antworten richtig bzw. vollständig sind, weil das auch davon abhängt, wie weit ihr in die Materie eingestiegen seid.

Ad 1.
Der Objektinspektor bietet schnellen Zugriff auf die published-Eigenschaften und Ereignisse, der (visuellen und nicht-visuellen)-Komponenten an, die sich auf dem jeweils aktiven Formular befinden, sowie die des Formulares selber.
Man kann dort den published-Eigenschaften initiale Werte zuweisen, sowie den Rumpf von Ereignismethoden erzeugen, bzw. den Eigenschaften Ereignismethoden zuweisen.

Würde der OI diese Auswahl über das gesamte Projekt bieten würde das schnell unübersichtlich werden.
Denk nur mal an Projekte mit vielleicht hunderten von Formularen, von den darauf befindlichen visuellen und nicht-visuellen Komponenten mal ganz zu schweigen.
Eigentlich ist die Bezeichnung "Object"-Inspektor nicht ganz korrekt, da man hiermit nur Komponenten auswählen kann (die allerdings auch Objekte sind).
Wichtig ist auch, dass nur der Zugriff auf published-Eigenschaften möglich ist (published markiert alle Eigenschaften, die im OI erscheinen sollen, eine Borland Spezialität). Ob es sich hier um wichtige Eigenschaften handelt oder nicht, sei jetzt mal dahingestellt, aber die Person die die Komponente entwickelt hat, fand es wohl wichtig diese schon zur Designzeit mit Werten versehen zu können
Dein Beispiel OnClick ist auch nur eine Eigenschaft, der aber eine Ereignisroutine zugeordnet werden kann. Wird das nicht gemacht, wird, soweit vorhanden, die Standardereignisbehandlungsroutine ausgeführt.

Ad 2.1
Stimmt, es kann durchaus sein, dass sich der Wert der Eigenschaft ändert, so dass die getroffene Aussage falsch ist.
Allerdings ist es auch möglich, dass man den Wert nicht direkt ändern kann, sondern dass diese Änderung innerhalb des Objektes stattfindet (z.B. Count von TStringList).

Ad 2.2
Deine Antwort ist zwar auch hier richtig, aber die Begründung falsch (zumindest so, wie ich die Aussage verstanden habe, die es zu beurteilen gilt).
Beispiel:
Du erzeugst, per Doppelclick auf OnClick im OI den Rumpf einer Ereignisbehandlungsroutine für das Anclicken des Controls.
OnClick ist vom Typ TNotifyEvent.
Diese Routine kannst Du jetzt allen OnXXXXX-Ereigniseigenschaften zuweisen, die auch vom Typ TNotifyEvent sind, und zwar für alle Controls, die sich auf dem Formular befinden. Das Feld neben dem Namen der Eigenschaft ist ja eine ComboBox, die einem alle gerade zur Verfügung stehenden Ereignisbehandlungsroutinen zur Auswahl stellt.
Wenn man mehrere Controls markiert hat (Shift-Click), würde auch allen markierten bei Doppelclick in das Feld die frisch erzeugte Ereignisbehandlungsroutine zugewiesen werden.

Ad 2.3
Auch hier stimmt die eigentlich Antwort, nur hat die Begründung auch wieder nichts damit zu tun
Für mich bezieht sich diese Aussage nur auf Ereignisbehandlungsroutinen (das sind ja auch Methoden), die dann halt aufgerufen werden, wenn das jeweilige Ereignis eintritt (z.B. eben Anclicken).
Es gibt aber auch Methoden, die nichts mit Ereignissen zu tun haben (z.B. wieder mal bei TStringList die Methode Add)

Ad 2.4
So wie die Aussage da steht, ist sie falsch. Eine Objekteigenschaft kann kein Objekt sein, allerdings kann sie ein Objekt enthalten. Beispiel: Oft findet man die Eigenschaft PopupMenu, der man dann ein Objekt vom Typ TPopupMenu zuweisen kann.

Ad 3
Hier möchte ich nur mal kurze Erläuterungen geben, um den Einstieg für Einzelheiten zu erleichtern, ein bisschen was sollst Du ja auch zu tun haben

Objekt:
Delphi: Der Button den man auf ein Formular legt, wäre eine Instanz der Klasse TButton
Office: Eine in ein Dokument eingebundene Graphik wäre ein Objekt
Reale Welt: Such' Dir irgendetwas aus, denn eigentlich kann man alles was man in der Realität findet als Objekt ansehen.

Eigenschaft:
Delphi: Um mal beim Button zu bleiben. Er hat die Eigenschaft Caption, die den angezeigten Text enthält.
Office: Die genannte Graphik hat, z.B. eine gewisse Breite.
Real: Wenn wir mal als Objekt einen Bleistift annehmen, so könnte die Strichstärke eine Eigenschaft sein.

Methode:
Delphi: TButton kennt eine Methode Click, deren Aufruf den gleichen Effekt hat, als würde man den Button anklicken
Office und real: Da fällt mir so nichts vergleichbares ein.

Wert:
Delphi: Initial hat die Caption des ersten Button, den man auf ein Formular legt den Wert Button1
Office: Die Anzahl Pixel, die eine eingebundene Graphik Breit ist
Real: Die, z.B., Millimeter, die eine Bleistifmine dick ist.

Ereignis:
Delphi: Tritt ein, wenn man den Button anklickt.
Office und real: Dazu fällt mir auch nicht wirklich etwas ein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#9

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 16:39
Vielen dank für die antworten!
Bisher sind wir noch nicht weit in die materie eingetdrungen von delphi ^^
Haben bisher auch nur mit 1-2 Formularen gearbeitet und das schwierigste was wir bisher hatten war ein ratespiel

Wir hatten auch noch nicht viele Informatik Stunden aber torzdem legt der lehrer die stange ziemlich hoch.. wir sitzen hier zu 3 vorm rechner und uns gehts allen gleich ^^
hier mal der korrigierte code von uns (bestimmt noch massenhast fehler vorhande)

Delphi-Quellcode:
prozedure TForm1.Button1Click(Sender: TObject);
var i :integer;
begin
  i := IntToStr(Edit1.Text) ;
  i = i + 1 ;
  if i = 10 then
  begin
    Panel1.Caption('Zehnmal auf den Button geklickt!');
    i := 0;
    end
  else
    Panel1.Caption := '' ;
  Edit1.Text := IntToStr(i);
  end
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#10

Re: Allgemeine Fragen zu Delphi

  Alt 18. Nov 2007, 16:44
Noch 5 Fehler (davon einer, den ich im Original auch übersehen hatte):
Delphi-Quellcode:
prozedure TForm1.Button1Click(Sender: TObject); //Tippfehler?
var i :integer;
begin
  i := IntToStr(Edit1.Text) ; //Was soll in was gewandelt werden?
  i = i + 1 ; //Vergleich statt Zuweisung
  if i = 10 then
  begin
    Panel1.Caption('Zehnmal auf den Button geklickt!'); //Caption ist eine Eigenschaft, keine Methode
    i := 0;
    end
  else
    Panel1.Caption := '' ; //hier isses richtig
  Edit1.Text := IntToStr(i);
  end //ein abschließendes Zeichen fehlt noch
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
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


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 04:37 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