Hallo,
danke, Liebes Abacom-Team für den telefonischen Support - Ich habe es geschafft:
Im Anhang findet Ihr eine DLL, um vorhandenen Werte (Numerisch oder Strings) in eine MySQL Datenbank (ab Version 4) zu speichern.
Das Zip enthält die DLL, den Code in FreePascal (sollte auch Kompatibel zu Delphi sein) zur freien Weiterarbeitung sowie eine PL-Beispieldatei. Weiterhin benötigt man die Datei libmysql.dll, ich habe Sie von
http://www.dll-files.com heruntergeladen. An paar Hinweise zu zur Anwendung: Die DLL besteht aus 14 Eingängen:
SRV : IP des MySQL Server, z.B. 192.168.0.1
DB: der Name der Datenbank, z.B. PLDaten
TBL: Name der Tabelle, z.B. Wetter
USR: User mit Schreibrechten auf die Datenbank / Tabelle
PWD: Password des Users
DTA1...4: Hier werden die Daten (numerisch oder Strings angelegt)
LIN1..4: Namen der zu DTA1..4 gehördenen Spalten in der Tabelle TBL
CLK: Be einer fallenden Flanke an CLK werden die an DTA1..4 anliegenden Daten in eine Zeile jeweils in die Spalten LIN1..4 der Tabelle TBL aus der Datenbank DB auf dem Server SRV geschrieben...
Hinweise:
[*] Die DLL arbeitet auf dem Standard-Port 3306
[*] Der Zugriff auf den MySQL Server muss auch ausserhalb vom localhost möglich sein. bei meiner 4.1 Installation musste ich ich der my.cnf den eintrag
in
ändern
[*] Profilab verwendet "," als Dezimaltrennzeichen, der MySQL-Server benötigt "," jedoch als Trennzeichen für die Separierung von Werten. Daher muss ein numerisches Eingang wie im Beispiel "," durch "." ersetzt werden. Um die Eingänge Variabel zu halten habe ich hierzu ein vorhandenes PL String-Bauteil verwendet.
[*] Die DLL MUSS mit vier Werten / Lines belegt werden, sonst klappt das Schreiben nicht. Falls jemand die Anzahl Lines sowie deren Benamsung in einem Konfigurationsdialog hinkriegt, sowie die Konstanten SRV, DB, TBL, USR, PWD ebenfalls in einem Konfiguratinsdialog hinbekommt - Ich wäre sehr dankbar. Ansonsten: Free-Pascal & Lazarus herunterladen, die Anzahl Lines im Quellcode anpassen und neu kompilieren. Es ist einfacher als man Dankt - Ich hatte bis letzte Woche faktisch keinerlei Programmierkenntnisse jenseits von Q-Basic aus den 80ern....
[*] Der Code basiert auf frei zugänglichen Beispielen und Schnippseln aus dem Internet: Vor allem die Free-Pascal Beispiele zu MySQL / Datenbanken sowie die vorhandenen Beispiele (Counter, WordtoHex) aus PL waren hier eine grosse Hilfe.
Beste Grüsse und Viel Spass beim Probieren
Thorsten