AGB  ·  Datenschutz  ·  Impressum  







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

Ini-Problem (abspeichern..)

Ein Thema von Alexander · begonnen am 10. Okt 2003 · letzter Beitrag vom 10. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#1

Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:01
HAllo Leute,
ich habe gerade ein ganz dummes Problem und zwar will ich einen Record-Source (SQL-Statement) für eine Access-DB mit Hilfe von den INI's abspeichern...
Eigentlich ganz easy, aber er baut irgendwie mist..
Also ´den gesamten Record-Source in einer Stringliste, dort auch in gewünschter Reihenfolge.
Nun speichere ich es in die INI-DAtei. Funktioniert alles super.
Doch wenn ein FEld in dem Record-Source (bzw. in der Stringliste) mit "[" anfängt, wird es einfach ans Ende geschrieben.
Es hängt definitiv nicht mit der Reihenfolge der Strings in der SL zusammen, sondern mit dem "[".
Ich kann auch danach noch was in die INI schreiben, die Felder mit dem "[" am Anfang bleiben denncoh im Ende stehen...
Ach so der RC wird auch als Key abgespeichert, nicht als Wert.
Delphi-Quellcode:
  for i:=0 to sl.Count -1 do
    Ini.WriteString('RecordSource', sl[i], '')
Hier noch ein Beispiel:
Code:
SELECT
[Artikel-Nr],
Artikelname,
LieferantenNr,
[Kategorie-Nr],
Liefereinheit,
Einzelpreis,
Lagerbestand,
BestellteEinheiten,
Mindestbestand,
Auslaufartikel
FROM ArtNeu
Und so sieht's in der INI aus:
Code:
[RecordSource]
SELECT=
Artikelname,=
LieferantenNr,=
Liefereinheit,=
Einzelpreis,=
Lagerbestand,=
BestellteEinheiten,=
Mindestbestand,=
Auslaufartikel=
FROM  ArtNeu=
[Kategorie-Nr],=
[Artikel-Nr],=
Das geht dann ja nachher nciht beim Auslesen (ReadSection) und Benutzen des SQL-Statement (Record-Source) schief, da ja die Reihenfolge falsch ist...
Ich hoffe ihr könnt mir helfen...
DANKE
...ein verzweifelnder Alexander...
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:07
Hallo,

dass kann auch nicht gehen.
Alle Texte in eckigen Klammern werden ja als Sektion interpretiert.
[Kategorie-Nr] bedeutet somit, es gibt eine Sektion diesen Namens - analog zu [RecordSource].

In Deinem Fall musst Du das speichern selbst übernehmen, also ohne Ini-File.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#3

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:09
verdammt ist ja auch klar
Wie kann ich das denn gut machen? Mit FileStreams?
Oder aber ich hänge da noch ein Zeichen davor
Mal schauen...
Alexander
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#4

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:09
Wie wärs mit einer anderen Methode:
Code:
[RecordSource]
Count=12
Line0="SELECT"
Line1=" Artikelname,"
Line2=" LieferantenNr,"
Line3=" Liefereinheit,"
Line4=" Einzelpreis,"
Line5=" Lagerbestand,"
Line6=" BestellteEinheiten,"
Line7=" Mindestbestand,"
Line8=" Auslaufartikel"
Line9="FROM"
Line9=" ArtNeu"
Line10=" [Kategorie-Nr],"
Line11=" [Artikel-Nr]"
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#5

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:19
Das ginge natürlich auch noch, aber dann müsste ich alles umschreiben und das ist mir irgendwie zu viel Arbeit
Man kann nciht zufällig die Sektions-Klammern durch was weiß ich geschweifte Klammer ersetzen, oder?
Alexander
  Mit Zitat antworten Zitat
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#6

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:25
Nimm doch die "[]" raus aus den Strings, soweit mir bekannt ist sind die bei SQL nur notwendig wenn Bezeichnungen Leerzeichen enthalten, bzw. könntest du sie durch #91 und #93 ersetzen, da weis ich aber nicht genau wie er es dann in die Ini schreibt.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#7

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:28
Alexander, wenn Du mit INI-Dateien arbeiten willst, dann musst Du Dich auch an das Dateiformat halten und dann kannst Du es nur so machen, wie Nico es Dir aufgezeigt hat.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#8

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:33
Habe ich mir schon fast (eigentlich nicht nur fast) gedacht.
Ich gehe ich da im Moment irgendwie ziemlich Kopflos dran .
Ich lasse die "[" und "]" jetzt durch "`" ersetzen und funktioniert bisher

Ich hoffe mal stark, dass das auch so ungefähr SQL-Standard ist
Alexander
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#9

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 16:43
Soviel anders ist das auch nicht...
(um bei Deinem Beispiel zu bleiben)
Code:
  // Speichern
  if Ini.SectionExists('RecordSource') then
    Ini.EraseSection('RecordSource');
  Ini.WriteInteger('RecordSource', 'Count', sl.Count);
  for i := 0 to sl.Count - 1 do
    Ini.WriteString('RecordSource', 'Line' + IntToStr(i), sl[i]);

  // Laden
  sl.Clear();
  for i := 0 to Ini.ReadInteger('RecordSource', 'Count', 0) - 1 do
    sl.Add(Ini.ReadString('RecordSource', 'Line' + IntToStr(i), ''));
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#10

Re: Ini-Problem (abspeichern..)

  Alt 10. Okt 2003, 17:08
Du, das ist mir schon klar.
Das Problem ist nur, das ich das Laden an ziemlich vielen Stellen ändern müsste und mir das im Moment viel zu viel Arbeit ist.
Denn so wie ich das jetzt mache (mit ' statt [ oder ]) geht das nämlich wunderbar
Alexander
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:10 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