AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi String, TStrings, TStringlist Typenkonflikte
Thema durchsuchen
Ansicht
Themen-Optionen

String, TStrings, TStringlist Typenkonflikte

Ein Thema von motu · begonnen am 14. Sep 2004 · letzter Beitrag vom 14. Sep 2004
Antwort Antwort
Benutzerbild von motu
motu

Registriert seit: 20. Jul 2004
76 Beiträge
 
Delphi 6 Professional
 
#1

String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 09:35
Ich habe folgenden Code:

Delphi-Quellcode:
    Text1 := TStringList.Create;
    Text2 := TStringList.Create;
...
      SpaltenCBX.Items.Delimiter := ';';
      text1.addstrings(SpaltenCBX.Items.DelimitedText + ';' + #13);
...
      text1.addstrings(Text1 + 'Mittelwert;');
      text2 := 'Standardabw.;';
...
          z:= foo;
          Text1.addstrings(Text1 + floattostr(z) + ';');
          y:= foo_anders;
          Text2.addstrings( Text2 + floattostr(y) + ';');
        end;
          Text1.addstrings(Text1 + #13 + Text2 + #13);
          Text2.addstrings('')
      end;
Nun bekomm' ich in überall 'nen Typenkonflikt angezeigt. Gibt es kein StrToStrings o.ä.?
Es gibt nur eine dumme Frage: Ist Impotenz vererbbar?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 10:04
Vergiss deine Denkweise, dass die einzelnen Strings getrennt mit Strichpunkt hinzugefügt werden müssen !
Einzelne Elemente werden mit der Methode .Add hinzugefügt.
Bestehenden TStrings-Objekte werden mit .AddStrings angehängt.

Delphi-Quellcode:
    Text1 := TStringList.Create;
    Text2 := TStringList.Create;
...
      text1.addstrings(SpaltenCBX.Items);
...
      text1.Add('Mittelwert');
      text2.Add('Standardabw.');
...
          z:= foo;
          Text1.Add(floattostr(z));
          y:= foo_anders;
          Text2.Add(floattostr(y));
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von motu
motu

Registriert seit: 20. Jul 2004
76 Beiträge
 
Delphi 6 Professional
 
#3

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 10:11
Zitat von shmia:
Vergiss deine Denkweise, dass die einzelnen Strings getrennt mit Strichpunkt hinzugefügt werden müssen !
Wie sieht das mit Zeilenumbrüchena aus?
Außerdem benutze ich:

Delphi-Quellcode:
z:= foo;
Text1.addstrings(Text1 + floattostr(z) + ';');
y:= foo_anders;
Text2.addstrings( Text2 + floattostr(y) + ';');

Text1.addstrings(Text1 + #13 + Text2 + #13);
Text2.addstrings('')
in einer Schleife. Z wird berechnet, z wird zur Berechnung von y gebraucht. Aber die Ergebnisse von z und y sollen in verschiedene Zeilen. Ich bhabe mehrere Ergebnisse von z/y pro Zeile
Das ganze sieht so komisch aus, weil ich bisher das ganz in eine Label.Caption ausgegeben habe und das Ganze jetzt direkt in eine Datei schreiben will
Es gibt nur eine dumme Frage: Ist Impotenz vererbbar?
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#4

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 10:15
Hallo,

Hier verwendest du doch auch AddStrings um einen String anzuhängen.
Für Strings nimmst du Add und um TStrings anzuhängen nimmst du AddStrings.

Bei Zeilenumbrüchen
  Text1.Add(Text1 + #10#13 + Text2); erzeugst du 2 Zeilen in der Stringliste. Eine mit Text1 und eine mit Text2.

grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 10:23
Zitat von motu:
Wie sieht das mit Zeilenumbrüchena aus?
Stringobj.Add(''); // leere Zeile anhängen
Zitat von motu:
Außerdem benutze ich:

Delphi-Quellcode:
z:= foo;
Text1.addstrings(Text1 + floattostr(z) + ';');
y:= foo_anders;
Text2.addstrings( Text2 + floattostr(y) + ';');

Text1.addstrings(Text1 + #13 + Text2 + #13);
Text2.addstrings('')
in einer Schleife. Z wird berechnet, z wird zur Berechnung von y gebraucht. Aber die Ergebnisse von z und y sollen in verschiedene Zeilen. Ich bhabe mehrere Ergebnisse von z/y pro Zeile
Das ganze sieht so komisch aus, weil ich bisher das ganz in eine Label.Caption ausgegeben habe und das Ganze jetzt direkt in eine Datei schreiben will
Anscheinend möchtest du bestehende Elemente eines TStrings-Objekts verändern:
Delphi-Quellcode:
var
   s : string; // Hilfsvariable
...
s := StringObj[StringObj.Count-1]; // Wert der letzten Zeile auslesen
s := s + ....; // Zeile verlängern
StringObj[StringObj.Count-1] := s; // verlängerte Zeile zurückschreiben
Aus Performancegründen enpfiehlt es sich, eine Zeile komplett in einer Zwischenvariable aufzubauen
und dann mit .Add anzuhängen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von motu
motu

Registriert seit: 20. Jul 2004
76 Beiträge
 
Delphi 6 Professional
 
#6

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 11:15
Zitat von shmia:
Aus Performancegründen enpfiehlt es sich, eine Zeile komplett in einer Zwischenvariable aufzubauen und dann mit .Add anzuhängen.
Performance ist erstmal egal. Ich möchte jetzt meinen TString in einer Datei speichern. Ich weiß nicht, ob etwas drin ist. wenn ich mir nen Breakpoint setze und in meinen TString schaue ist da nichts. Also folgendes hab ich :
Delphi-Quellcode:
    AssignFile(T, SaveDialog1.FileName); { Datei ausgewählt }
    Filemode:=fmOpenWrite;
    ReWrite(T);
    Reset(T);
    CloseFile(T);
Da muß aber noch irgendwo und -wie mein TString rein.
Es gibt nur eine dumme Frage: Ist Impotenz vererbbar?
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#7

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 12:19
Die gesamte Liste kannst du doch mit
Text1.SaveToFile(SaveDialog1.FileName); in eine Datei speichern.
  Mit Zitat antworten Zitat
Benutzerbild von motu
motu

Registriert seit: 20. Jul 2004
76 Beiträge
 
Delphi 6 Professional
 
#8

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 12:23
Zitat von scp:
Die gesamte Liste kannst du doch mit
Text1.SaveToFile(SaveDialog1.FileName); in eine Datei speichern.
Danke, dat funzt.

Doch jetzt sehe ich, das alle Werte in jeweils einer eigenen Zeile Stehen. Kann ich denn einem TString was anhängen, ohne das es in eine neue Zeile kommt?
Es gibt nur eine dumme Frage: Ist Impotenz vererbbar?
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#9

Re: String, TStrings, TStringlist Typenkonflikte

  Alt 14. Sep 2004, 12:27
Da musste dir nur nochmal shmias Code angucken, das ist genau das was du meinst.
  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 22:41 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