Paradoxdaten lesen UND schreiben

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
starkard
Beiträge: 87
Registriert: Mi 31. Okt 2007, 10:44

Paradoxdaten lesen UND schreiben

Beitrag von starkard »

Hallo zusammen,

Habe erfolglos zu diesem Thema in allen möglichen Foren gesucht und "gegoogelt" aber leider nichts zufriedenstellendes gefunden (vielleicht bin ich auch zu blöd). Desshalb hier meine Frage:

Bin vor ein Tagen angefangen mich in Linux (Kubuntu), Lazarus (bzw. Delphi) und Datenbanken einzuarbeiten (uff). Habe seit Gutsy Gibbon noch ein paar Probleme und progge deswegen unter Windows. Hab auch schon ein kleines Formular nachgearbeitet, dass ganz einfach eingegebene Datensätze in eine Dbasedatei abspeichert. Funzt auch soweit (endlich!), muss aber leider feststellen, dass ich Paradoxdaten erzeugen soll; sprich Lazarus soll diese lesen UND schreiben können. Habe auch schon das Tparadoxpacket was hier zum download angeboten wird installiert aber bemerkt, dass dieses leider auch nur lesen kann.

Mein Ziel ist es ein "simples" Formular unter Linux zu entwerfen, dass Paradoxdatensätze verwalten kann. Für jede Antwort wäre ich sehr dankebar.

THX im vorraus

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

No Way. Ich hab mir extra das Paradoxdataset geschrieben (das du ja schon gefunden hast) damit ich die Daten aus meinen alten Tabellen herausbekomme. Du kannst dich gern beimachen und schreiben implementieren. Ist ansich nicht soooo schwierig (wobei immer alle die Hände überm Kopf zusammenschlagen und die Projekte verwerfen wenn ich das sage :p) aber es gibt keine Garantie das das ganze nachher wirklich kompatibel zu Paradox tabellen ist da es keinerlei Dokumantation dazu gibt. Und ein falsch gesetztes Bit im header und das Original Paradox schreibt plötzlich mitten in die Datenbereiche weils sich auf die Information verlässt ... Ich würds zugunste der Datensicherheit bleiben lassen. Es gibt kaum Formate die undokumentiert sind und schreibend unterstützt werden. denk z.b. mal an NTFS das hat jetzt über 20 jahre gedauert bis eine wirklich funktionierende Implementation für Linux da ist bei der man keine Angst um seine daten haben muss. HPFS z.b. ist nie ins schreibstadium gekommen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

starkard
Beiträge: 87
Registriert: Mi 31. Okt 2007, 10:44

Beitrag von starkard »

Wow was ne schnelle Antwort.

Ersteinmal danke dafür, obwohl dass es für mich als newbie heisst, dass mein anfangs simples geadachte Projekt immer komplizierter wird. Naja wenigstens kann ich die Daten ja lesen... (bin gerad dabei es zu versuchenund bei mir fährt der Zug ab :( ). Gibt es vielleicht eine Anleitung, Doku oder noch besser ein kleines Beispielprogramm dafür?

P.S: das mit dem Paradoxdataset weiterentwickeln werd ich mal in ein paar Jahren ausprobieren :wink:

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Wozu musst du denn unbedingt Paradox schreiben ? Ich wette das kann man umgehn.

Du setzt einfach den tablename auf deinen Tabellennamen und öffnest die Tabelle mit Open. Gibt zig Datenbanktuturials für Delphi und die BDE, da kannst dich im wesentlichen dran halten.
Wow was ne schnelle Antwort.
naja bin gerad beim aufräumen ... da nimmt man jede Chance war ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

starkard
Beiträge: 87
Registriert: Mi 31. Okt 2007, 10:44

Beitrag von starkard »

Tja, bei uns gibt es wohl Progranmme (Basic und Delphibasierend), die ich "mal eben" versuche auf Linuxebene umzustricken. Leider sind diese Programme schon bei mehreren Leuten seit Jahren im Einsatz. Dementsprechend wäre es sinnvoll/einfacher neue Anwendungen auch Paradoxkompatibel zu hallten. Obwohl auf kurz oder lang ein Umstieg auf ein anderes DBMS geplant ist...

Nun gut, ich werde dann "einfach" diese Paradoxdaten auslesen und in andere Formate zurückschreiben. Danke für deine Hilfe

starkard
Beiträge: 87
Registriert: Mi 31. Okt 2007, 10:44

Beitrag von starkard »

Jetzt ist es passiert!

Hab mir das SQLdb Package installiert, und festgestellt das diese Komponente wahrscheinlich schon installiert war. Daraufhin hab ich ein bischen mit dem DBGrid rumprobiert. Auf einmal kann ich ein Formular nicht mehr öffnen. Beim Öffnen des Projektes kommt folgende Fehlermeldung:

"Kann die konvertierten Textformulardaten der Datei
C:blabla\unit2.lfm
nicht in einem Binärstream umwandeln."


Beim Komiplieren erscheint immer folgende Fehlermeldung:

Project raised exception class 'EReadError'

Dann kommt die Assembleransicht von LResources.
Hab darauf versucht ein neues Projekt anzulegen und das Formular dort einzubinden -> nichts. Werd das Projekt jetzt neu schreiben, da es noch nicht allzugross war, wäre aber toll zu wissen was ich falsch gemacht habe, damit es nicht nochmal vorkommt.

Wie man wahrscheinlich merkt hab ich noch nicht viel Kenntniss mit Lazarus. Vielleicht kennt jmd ein gutes Buch, was er für sinnvoll hält und weiterempfehlen kann. Hab schon ein bischen Programmiererfahrung mit C++, Java etc.

Ach ja, wenn ich schon dabei bin komische Fragen zu stellen:
Hatte in meinem Projekt, wie erwähnt mit Tdbf ein Formular entworfen, welches Datensätze aufnimmt. Wollte jetzt neben den DBedit Feldern ein DBGrid anzeigen lassen, welches bei Eingabe in die DBEditfelder parallel die vorhandenen DS anzeigt und diese mit jedem weiteren Zeichen weiter eingrenzt. Lazarus hat dieses beim Einfügen des Grids auch schon fast von alleine gemacht. Wollte aber die Auswahl genauer eingrenzen, da immer der komplette DS angezeigt wurde. SQL Abfragen wären darfür eigentlich ganz nett.
Kann ich also SQLquerys mit TDbf kombinieren(J/N)?

Hoffe ich mülle mit meinen Anfängerfragen nicht das Forum zu aber Lazarus ist im inet nicht gerad ausführlich dokumentiert.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Bei FPC2.0.4/Laz0.9.22 würde ich nicht mehr nehmen, wenn ich mit SQLdb Komponeneten arbeite. Es hat sich bei FPC 2.2.0 sehr viel zum positiven getan (es wurde eine Menge überarbeitet).

Bücher zu (aktuellen) Lazarus/FPC findet man nicht einmal mit der Lupe. Man kann das aber mit dem Inet ausgleichen. Delphi und Lazarus sind bei den Basics relativ gleich. Da kann man sich mit einem günstigen Delphi Buch schon behelfen (Zumindest bei den Grundlagen). Bei allen was ein wenig tiefer geht, sind die Unterschiede schon erheblich, da Delphi keine Rücksicht auf Plattformübergreifend machen muß, sondern hart auf Windows aufsetzt.

Nebenbei mach ein paar andere (hallo monta, christian) und ich auch noch ein wenig Doku (LazInfos und LazSnippets). Es ist momentan noch auf Datenbanken zentriert, lebt aber vor allen von den Frage, die hier im Forum so auftauchen und die ich einfliessen lasse, setzt aber zumindest die Basics voraus.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@af0815

Andi, wie haste das denn zusammen gebracht mit FPC2.2.0?
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Package aus dem Daily genommen und mit dem SVN Lazarus darüber genagelt.

Wieso ? Probs ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Hmmmm,

FPC2.2.0 hat ne andere Verzeichnisstruktur als das was Lazarus erwartet, da gibt's sofort "Mecker" beim Kompilieren.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

starkard
Beiträge: 87
Registriert: Mi 31. Okt 2007, 10:44

Beitrag von starkard »

Hmm... FPC2.2.0 in Lazarus einzubinden scheint nicht gerade mit einem Klick zu funzen. Schade das nicht Lazarus mit dem neuen Compiler komplett angeboten wird (für Faule wie mich).

Aber um noch mal aufs Thema zu kommen: Ich möchte eigentlich nur (wie unten beschrieben) ein DBgrid haben was mir über SQL Abfragen gefilterete DS einer lokalen DB anzeigen. In meinem Fall eine DBase4 Datei. Habe jetzt ein Datasource, SQLquery und SQLTransaction eingebunden. und jetzt? Hab Unmengen an SQL-Code gefunden aber wo genau kann ich jetzt meine Abfragen eingeben und mein DBGrid als Ausgabeort bestimmen?

P.S:Ich besorg mir heute ein Buch versprochen!! :wink:

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

TQuery für die Abfrage und dann musst das Grid mit der DataSource verknüpfen, dann sollte das von alleine funzen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

starkard hat geschrieben:Hmm... FPC2.2.0 in Lazarus einzubinden scheint nicht gerade mit einem Klick zu funzen. Schade das nicht Lazarus mit dem neuen Compiler komplett angeboten wird (für Faule wie mich).

Aber um noch mal aufs Thema zu kommen: Ich möchte eigentlich nur (wie unten beschrieben) ein DBgrid haben was mir über SQL Abfragen gefilterete DS einer lokalen DB anzeigen. In meinem Fall eine DBase4 Datei. Habe jetzt ein Datasource, SQLquery und SQLTransaction eingebunden. und jetzt? Hab Unmengen an SQL-Code gefunden aber wo genau kann ich jetzt meine Abfragen eingeben und mein DBGrid als Ausgabeort bestimmen?

P.S:Ich besorg mir heute ein Buch versprochen!! :wink:
Schau mal auf englischen Lazaraspage nach den Snapshoots, vielleicht findest du dort den Lazy way. Was sucht du genau Linux, Win,... ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

ulhau
Beiträge: 65
Registriert: Sa 27. Okt 2007, 13:27
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Seebergen

Beitrag von ulhau »

Hmm... FPC2.2.0 in Lazarus einzubinden scheint nicht gerade mit einem Klick zu funzen. Schade das nicht Lazarus mit dem neuen Compiler komplett angeboten wird (für Faule wie mich).
Es gibt auch was mit FPC2.2.1 und Lazarus 0.9.23 auf:

http://michael-ep3.physik.uni-halle.de/Lazarus/" onclick="window.open(this.href);return false;

aber ich habe gerade gelesen, demnächst gibt es wieder was neues.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Um das nochmal etwas auszuweiten, treg im SQL property vom Query die select anweisung ein und setz active auf true. verknüpf ne datasource mit dem query und das dbgrid mit der datasource jetzt solltest schon deine records aus der db sehen können.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten