Hi Ich habe die Frage schon in einem Delphi Forum gestellt, aber bisher keine Antwort erhalten. Es geht um die Möglichkeit, wie sie in Delphi vorhanden war: aus einer TTABLE abgeleitete Komponente Tabelle: TTable; mittels Tabelle:=TTable.Create; Tabelle.Database:=.... und weitere Parameter sowie Felddeklaration Tabelle.FieldDefs.Add('Ident',ftInteger,0,true); .... .... Tabelle.TableCreate; eine Tabelle auf einer Datenbank zu erzeugen. Die Komponenten von Lazarus wehren sich ein wenig und mir gehen die Ideen aus. Kann mir mal einer das Brett vom Kopf nehmen. Gruß oldmax
Hi
>Es geht um die Möglichkeit, wie sie in Delphi vorhanden war:
In der Delphi-Hilfe steht es so:
var
TableFound: Boolean;
begin
with TTable.Create(nil) do// temporäre TTable-Komponente erstellen
begin
try
{ Eigenschaften für die temporäre TTable-Komponente festlegen }
Active := False;
DatabaseName := 'DBDEMOS';
TableName := Edit1.Text;
TableType := ttDefault;
{ Felder für die neue Tabelle definieren }
FieldDefs.Clear;
with FieldDefs.AddFieldDef do begin
Name := 'First';
DataType := ftString;
Size := 20;
Required := False;
end;
with FieldDefs.AddFieldDef do begin
Name := 'Second';
DataType := ftString;
Size := 30;
Required := False;
end;
{ Indizes für die neue Tabelle definieren }
IndexDefs.Clear;
with IndexDefs.AddIndexDef do begin
Name := '';
Fields := 'First';
Options := [ixPrimary];
end;
TableFound := Exists; // prüfen, ob die Tabelle bereits vorhanden
ist
if TableFound then
if MessageDlg('Vorhandene Tabelle ' + Edit1.Text +
'überschreiben?',
mtConfirmation, mbYesNoCancel, 0) = mrYes then
TableFound := False;
if not TableFound then
CreateTable; // Tabelle erstellen
finally
Free; // temporäre TTable-Komponente abschließend löschen
end;
end;
end;
MfG Spess
Hi Danke für die Antwort, aber Delphi ist nicht das Problem. Lazarus, zumindest, das was ich mir hier heruntergeladen habe, kennt keine TTable. Daher funktioniert das bei Lazarus in dieser Art nicht. Also, das Brett ist noch zu haben... Gruß oldmax
Hi Danke für den Link. Dieses Tutorial hatte ich noch nicht gefunden, aber die Vorgehensweise mit TDbf bereits versucht. Bisher scheiterte es immer zur Laufzeit mit einer Fehlermeldung "unable to open... " zur Laufzeit beim Aufruf von CreateTable. Die Compileierung lief fehlerfrei. Ein Breakpoint in der Procedure CreateTable wurde gar nicht angesprochen, daher hatte ich vermutet, das eine Tabelle vorhanden sein muß. Aber gut, ich werde mich heute nachmittag gleich mal dransetzen und nochmal die entsprechenden Codes prüfen. Danke für deine Mühe. Gruß oldmax
Hi Kein Problem. Wie sind denn deine Erfahrungen mit Lazerus? Im Moment benutze ich Delphi6 prof. Lohnt sich ein Einstieg/Umstieg? MfG Spess
Hi Wenn du Delphi benutzt, denke ich bleib dabei. Ich habe mir das auch nur angetan, weil ich eine freie Software gesucht habe, die Datenbankzugriff beinhaltet. Dies ist bei den preiswerten Delphi's nicht der Fall. Ich arbeite immer noch mit einer D3 Enterprise, die ich von einem Programmierer geerbt habe. Da ist man schon verwöhnt in Bezug auf Hilfe und Dokumentation. Z.B. ist es unter Delphi kein Problem, in der Hilfe bei den Objekten auch in die Vorfahren zu gehen und die Herkunft abgeleiteter Variablen anzusehen. Das wirst du bei Lazarus vermissen. Auch ist Lazarus etwas langsamer. Sowohl beim Compilieren als auch in der Ausführung. Andererseits darf man nicht vergessen, es kostet nix und dafür ist es ein sehr interesantes und umfangreiches Programmiertool. Ich merke allerdings sehr schnell meine Grenzen, da ich das Programmieren nicht durch ein Studiom gefestigt habe, sondern eher zum Freizeitverplempern mache.... Sicherlich, als E-Techniker hat es mir bei vielen Aufgaben geholfen und es hält geistig fit. Schließlich bin ich nicht mehr der Jüngste, aber irgendwas uß man ja machen, wenn man in Kürze in Rente geht.. :) Gruß oldmax
Hi Danke erstmal für die Information. Übrigens findest du in der Zeitschrift 'Toolbox' öfters mal etwas zu Lazerus. MfG Spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.