Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism TStringList in .NET? (https://www.delphipraxis.net/46707-tstringlist-net.html)

perle 30. Mai 2005 10:14


TStringList in .NET?
 
ok dann mach ich mal nen neuen Thread für die Frage auf.

Kann mir jemand sagen, wie die TStringList in Delphi2005 jetzt heisst ? (WinForms) Oder gibt es dort evtl Alternativen?

[edit=sakura] Personalität gesetzt. Mfg, sakura[/edit]

Interceptor 30. Mai 2005 10:16

Re: TStringList in .NET?
 
Guck dir mal die StringBuilder Klasse an.

Namespace: System.Text;

sakura 30. Mai 2005 10:21

Re: TStringList in .NET?
 
Interceptor hat es schon richtig genannt, "StringBuilder is the way to go". Du kannst aber auch noch TStringList nutzen, dazu musst Du das Borland.VCL Assembly zu Deinem Projekt hinzufügen und dann die Borland.VCL.SysUtils Unit in die Uses-Klausel aufnehmen. Allerdings ist das nicht der gute Weg, aber für die schnelle Migration ein interessanter Anfang :zwinker:

...:cat:...

DP-Maintenance 30. Mai 2005 10:22

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
DELPHI FRAGE :!:

perle 30. Mai 2005 11:59

Re: TStringList in .NET?
 
danke erstmal hierfür...

Kann man beim StringBuilder denn hinterher auf die einzeln hinzugefügten Strings per Index zugreifen, so wie bei einer stringlist? Habe in der Hilfe nichts dergleichen gefunden.

Robert_G 30. Mai 2005 12:00

Re: TStringList in .NET?
 
StringBuilder ist prima geeignet um Strings zu manipulieren. Das ist aber keine Liste von Strings, durch die man iterieren kann!
Wenn es dir um das einfache LoadFromFile/Stream geht könntest du irgendwas ähnliches wie das hier nehmen:
Delphi-Quellcode:
interface
uses
   System.IO,
   System.Collections.Specialized;

type
  StringList = public class(StringCollection)
  public
      method LoadFromStream(aStream :Stream); virtual;
      method SaveToStream(aStream :Stream); virtual;
      
      method LoadFromFile(aFileName :string); virtual;
      method SaveToFile(aFileName :string); virtual;
  end;
 
implementation

method StringList.LoadFromStream(aStream :Stream);
var
   Reader :TextReader;
begin
   Clear;
   
   using Reader := new StreamReader(aStream) do
   begin
      while Reader.Peek <> -1 do
         Add(Reader.ReadLine);
   end;
end;

method StringList.SaveToStream(aStream :Stream);
var
   Writer :TextWriter;
begin
   using Writer := new StreamWriter(aStream) do
   begin
      for each Item :string in self do
         Writer.WriteLine(Item);

      Writer.Close;
   end;
end;

method StringList.LoadFromFile(aFileName :string);
var
   Stream :FileStream;
begin
   using Stream := new FileStream(aFileName, FileMode.Open) do
      LoadFromStream(Stream);
   
end;

method StringList.SaveToFile(aFileName :string);
var
   Stream :FileStream;
begin
   using Stream := new FileStream(aFileName, FileMode.OpenOrCreate) do
      SaveToStream(Stream);
end;
Zitat:

Dieses Thema wurde von "sakura" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
DELPHI FRAGE :!:
Hmpf? :shock: Ist das nicht eine allgemeine .Net Frage? :gruebel:

Ultimator 30. Mai 2005 12:16

Re: TStringList in .NET?
 
@Robert: Ich schätze mal, dass die Mehrzahl der Leute hier kein Chrome hat (deinem Quelltext nach zu Urteilen ;)), deswegen wird das hier für Anfänger evtl. nicht ganz einfach zu verstehen sein ;)

sakura 30. Mai 2005 12:19

Re: TStringList in .NET?
 
Zitat:

Zitat von Robert_G
Hmpf? :shock: Ist das nicht eine allgemeine .Net Frage? :gruebel:

Er hat explizit nach Delphi 2005 gefragt.

...:cat:...

arbu man 30. Mai 2005 14:21

Re: TStringList in .NET?
 
Vieleicht ist das hier auch noch nützlich

Type StringCollection in Namespace System.Collections.Specialized


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 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