AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TStringList: Statt "#13#10" nur "#10"?
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList: Statt "#13#10" nur "#10"?

Ein Thema von Helmi · begonnen am 8. Feb 2010 · letzter Beitrag vom 8. Feb 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

TStringList: Statt "#13#10" nur "#10"?

  Alt 8. Feb 2010, 16:45
Hallo,

kann man einer TStringList beibringen, dass sie als LineFeed nur #10 nehmen soll?
Leider verwendet sie momentan #13#10 aber ich brauch das #13 nicht.

Oder bleibt mir (leider) nur die langsame Lösung über den Text zu laufen und #13#10 gegen #10 zu tauschen?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#2

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 16:54
Gibt es bei dir schon StringList.LineBreak?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 16:56
Zitat von himitsu:
Gibt es bei dir schon StringList.LineBreak?
Nein! - ich verwende Delphi 7 Pro.

In den Sources der StringList hab ich gerade folgenden Code gefunden:

Delphi-Quellcode:
function TStrings.GetTextStr: string;
var
  I, L, Size, Count: Integer;
  P: PChar;
  S, LB: string;
begin
  Count := GetCount;
  Size := 0;
  LB := sLineBreak;
  for I := 0 to Count - 1 do Inc(Size, Length(Get(I)) + Length(LB));
  SetString(Result, nil, Size);
  P := Pointer(Result);
  for I := 0 to Count - 1 do
  begin
    S := Get(I);
    L := Length(S);
    if L <> 0 then
    begin
      System.Move(Pointer(S)^, P^, L);
      Inc(P, L);
    end;
    L := Length(LB);
    if L <> 0 then
    begin
      System.Move(Pointer(LB)^, P^, L);
      Inc(P, L);
    end;
  end;
end;
Und da dort "sLineBreak" aufgerufen wird, scheints wohl nicht möglich zu sein.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 17:00
Ansonsten halt (wenn es das in Delphi 7 schon gibt) mit Delphi-Referenz durchsuchenStringReplace
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#5

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 17:03
Zitat von Sir Rufo:
Ansonsten halt (wenn es das in Delphi 7 schon gibt) mit Delphi-Referenz durchsuchenStringReplace
Na, sooooooooo alt ist Delphi 7 nun auch wieder nicht
Ich brauch die Bits nicht einzeln selbst setzen

Dann bleibt mir wohl nichts anderes übrig, als StringReplace zu verwenden
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 17:07
oder du erstellst dir halt eine Ableitung von TStringList, die das kann ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#7

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 17:38
Zitat von Sir Rufo:
oder du erstellst dir halt eine Ableitung von TStringList, die das kann ...
Wäre eine Idee, aber StringReplace reicht auch...
(Die Software wird von meinen Kollegen verwendet und die haben zeit auf die StringReplace-Schleife zu warten )
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 17:51
Anderer Vorschlag, wie wäre es mit soetwas:

Delphi-Quellcode:
procedure SCHREIBESTRINGLISTE_0A(ss:tstringlist;fn:string);
var
  i : integer;
  tb : array [0..8192] of byte;
  f : textfile;
begin
  assignfile(f,fn);
  settextbuf(tb,sizeof(tb));
  rewrite(f);
  for i:=0 to sl do
    write(f,sl[i]+#10);
  closefile(f);
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#9

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 17:53
Zitat von p80286:
Anderer Vorschlag, wie wäre es mit soetwas:

Delphi-Quellcode:
procedure SCHREIBESTRINGLISTE_0A(ss:tstringlist;fn:string);
var
  i : integer;
  tb : array [0..8192] of byte;
  f : textfile;
begin
  assignfile(f,fn);
  settextbuf(tb,sizeof(tb));
  rewrite(f);
  for i:=0 to sl do
    write(f,sl[i]+#10);
  closefile(f);
end;
Gruß
K-H
Schaut ganz gut aus. Aber musste es oben nicht (sl:tstringlist;fn:string); lauten
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

Re: TStringList: Statt "#13#10" nur "#10"

  Alt 8. Feb 2010, 18:05
Jo
und auch für Dich: Es ist Montag, kalt und ...... grummel

(auf das tstringlsit gehe ich jetzt mal nicht ein)


Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 08:43 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