AGB  ·  Datenschutz  ·  Impressum  







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

Zugriff auf TStrings

Ein Thema von blue_RP · begonnen am 5. Jan 2005 · letzter Beitrag vom 6. Jan 2005
Antwort Antwort
blue_RP

Registriert seit: 22. Apr 2004
11 Beiträge
 
Delphi 7 Enterprise
 
#1

Zugriff auf TStrings

  Alt 5. Jan 2005, 16:49
Hallo,

ich möchte den Text eines RichEdit in eine Datei schreiben (zusammen mit noch weiteren Daten). Der Text aus dem RichEdit wird in meinem Formular einem Feld des Objekts AktuelleSiFkt der Klasse SicherheitsFunktion zugewiesen:
Code:
ereignisse := AusloesendeEreignisseRichEdit.Lines;
SetAusloesendeEreignisse(ereignisse);
Variable ereignisse und auch das Feld AusloesendeEreignisse des Objekts sind vom Typ TStrings.

Dann in der Klasse SicherheitsFunktionFatei erfolgt das Schreiben in die Datei, dabei wird das Objekt der Klasse SicherheitsFunktion als Parameter übergeben. Der Text aus dem Feld des Objekts wird dann der Variable tempLines zugewiesen. Beim Ermitteln der Anzahl der Zeilen gibts zur Laufzeit einen Zugriffsfehler.

Code:
procedure SicherheitsFunktionDatei.Write(persSiFkt: SicherheitsFunktion);
var
  tempLines: TStrings;
  tempLine: String;
  i, anzahlStrings, anzahlBloeckeKanal1, anzahlBloeckeKanal2: integer;
begin
  try
    //Stream := TFileStream.Create(DateiName, fmOpenWrite);
    Stream := TFileStream.Create(DateiName, fmCreate);
  except
    Stream := TFileStream.Create(DateiName, fmCreate);
  end;
 
  try
    writer := TWriter.Create(Stream,100);
   
    //Freitext zu Auslösende Ereignisse speichern (zeilenweise)
    tempLines := persSiFkt.GetAusloesendeEreignisse;
    anzahlStrings := tempLines.Count; //hier hängt's
    writer.WriteInteger(anzahlStrings);

    for i := 0 to anzahlStrings - 1 do
    begin
      tempLine := tempLines.Strings[i];
      writer.WriteString(tempLine);
    end;
  ...
Wäre schön, wenn mir jemand sagen kann, warum das nicht so funktionieren soll.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Zugriff auf TStrings

  Alt 5. Jan 2005, 20:54
Moin,

von TStrings wird nur abgeleitet. Die Funktion Count ist dort nur als abstract deklariert und muss in den abgeleiteten Klassen angegeben werden.
TStringList ist von TStrings abgeleitet und stellt alle Methoden zur Verfügung. Nimm also nicht TStrings sondern TStringList (TStrings kann als Typ bei den Übergabeparametern verwendet werden).

ich weiss nicht wie GetAusloesendeEreignisse aussieht, aber dort muss ein TStringlist-Object erzeugt werden.

MfG
Thorsten
  Mit Zitat antworten Zitat
blue_RP

Registriert seit: 22. Apr 2004
11 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zugriff auf TStrings

  Alt 6. Jan 2005, 10:49
Vielen Dank für den Tip. Funktioniert bestens.

MfG blue_RP
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:00 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