Guten Tag,
wir haben ein Programm erstellt, welches diverse SQL-Befehle aus einer ASCCI-Datei abarbeitet (PostgreSQL-Datenbankerzeugung, Füllung mit Standardwerten usw.). Die ASCCI-Datei ist ca. 200 Kilobye groß; ich möchte eine String-Resource erstellen und diese dann im Programm verwenden.
Hat das Jemand von Euch schonmal gemacht oder ist es, anders als bei Delphi, unter Lazarus nicht möglich?
Das Tool lazres habe ich schon genutzt, aber ich komme irgendwie nicht wirklich weiter...
Dankeschön für Eure Hilfe.
Gruß aus der Lüneburger Heide
Bernd
String-Resource unter Lazarus?
-
- Beiträge: 28
- Registriert: Mo 18. Sep 2006, 07:48
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Scheeßel
Re: String-Resource unter Lazarus?
Damit vielleicht: http://sourceforge.net/project/showfile ... _id=240460" onclick="window.open(this.href);return false;
Hab's selber nicht getestet.
Hab's selber nicht getestet.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: String-Resource unter Lazarus?
Das Ressourcen-System funktioniert unter FreePascal etwas anders als unter Delphi. Unter Windows kann man in eine Programm-/Bibliotheksdatei "Ressourcen" mit hinein linken, was unter anderen Betriebssystemen (außer evtl OS/2) nicht möglich ist.Pegasus0211 hat geschrieben:Das Tool lazres habe ich schon genutzt, aber ich komme irgendwie nicht wirklich weiter...
Unter FreePascal werden alle Ressourcen als Strings in eine Liste eingefügt (dies geschieht normalerweise im initialization-Abschnitt einer Unit). Das Tool Lazres konvertiert mehr oder weniger nur die Input-Dateien in einen String und schreibt ein LazarusResources.Add(); drum herum. Ein Beispiel mit sql-Dateien (in der erste Zeile steht, wie du das Programm aufrufen musst, die anderen beiden sind die Ausgabe):
Code: Alles auswählen
lazres resourcendatei.lrs datei1.sql datei2.sql
datei1.sql ResourceName='datei1' Type='SQL'
datei2.sql ResourceName='datei2' Type='SQL'
Code: Alles auswählen
{$I resourcendatei.lrs}
Code: Alles auswählen
var
res: TLResource;
begin
res := LazarusResources.Find('datei1','SQL');
if res <> nil then begin
WriteLn(res.Value);
end;
end;
Wenn sich der Inhalt deiner SQL-Datei häufig ändert (d.h. die Ressourcendatei muss oft neu erstellt werden) ist es am einfachsten die gesamte Datei in einen String zu packen und diesen dann zu bearbeiten. Werden verschiedene Teile der an verschiedenen Stellen im Programm benötigt und wird die SQL-Datei nur selten (oder nur wenig umfangreich) bearbeitet, ist es wahrscheinlich praktikabler für jedes SQL-Statement eine eigene Lazarus-Ressource zu erstellen, da dann auf jeden String einzeln zugegriffen werden kann.
http://wiki.lazarus.freepascal.org/Lazarus_Resources/de
MfG Socke
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein