AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TStringList im with übergeben

Ein Thema von luke2 · begonnen am 11. Feb 2010 · letzter Beitrag vom 12. Feb 2010
Antwort Antwort
Seite 1 von 2  1 2   
luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#1

TStringList im with übergeben

  Alt 11. Feb 2010, 16:32
Hallo,

Wenn ich eine Funktion oder Prozedur habe, die TStrings als Parameter erwartet, muss ich ja eine TStringList ja mit einer Variable erstellen und diese dann übergeben.
Beispiel:
Delphi-Quellcode:
procedure test(s:tstrings);
begin
  [...]
end;

var
  sl:tstringlist;
begin
  sl:=tstringlist.create;
  try
    test(sl);
  finally
    sl.free;
  end;
end;
Wenn ich das Ganze nun mit einem with abkürzen möchte, gibt es dann auch eine Möglichkeit die eigene Instanz zu übergeben?
Beispiel:
Delphi-Quellcode:
procedure test(s:tstrings);
begin
  [...]
end;

begin
  with tstringlist.create do try
    test(<was kommt hier rein?>);
  finally
    free;
  end;
end;
MfG
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 16:34
Nö, geht nicht (zumindest hätte ich keine Idee, wie). Hat immerhin den Vorteil, dass man with nicht immer so ohne weiteres verwenden kann und somit eine Fehlerquelle weniger hat.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#3

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 16:39
Schade, ich brauche sowas nämlich relativ häufig und schreibe das gerne mit with, weil ich wenig Lust habe immer erst eine Variable für sowas zu deklarieren...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 16:42
Nunja, Du könntest höchstens eine Klasse von TStringlist ableiten und eine Methode implementieren, die intern dann test(self) aufruft. Aber da würde ich an Deiner Stelle eher auf with verzichten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
luke2

Registriert seit: 17. Jun 2009
117 Beiträge
 
#5

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 16:46
OK, das wäre für sowas dann echt zu viel Aufwand, dann werde ich das with wohl weglassen. Danke trotzdem!
  Mit Zitat antworten Zitat
Benutzerbild von Jaynder
Jaynder

Registriert seit: 2. Dez 2004
Ort: Süderelbe
134 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 16:48
vergiss das with, führt nur zu Problemen mit ungewollten/unerkannten Namensüberlagerungen und ist blöd beim Debuggen. Mach lieber ein kleines Template zum Anlegen und wieder freigeben einer kurznamigen temporären Variablen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 17:01
Zitat von DeddyH:
Nunja, Du könntest höchstens eine Klasse von TStringlist ableiten und eine Methode implementieren, die intern dann test(self) aufruft.
Mit einem Class-Helper wäre sowas schnell und für alle Objekte nachgerüste, nur daß man da dann halt das Objekt nur als TObjekt bekommt oder man muß eben für bestimmte Klassen einen eigenen Class-Helper erstellen.

Aber schöner wäre es gewesen, wenn Delphi von sich aus bei WITH anbieten würde, wie es mit SELF bei Methoden möglich ist.
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 DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 17:05
Trotzdem würde ich eher eine Variable deklarieren, um Verwechslungen auszuschließen (Beispiele für solche Verwechslungen gibt es hier ja haufenweise).

[edit] Z.B. hier [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 17:31
Zitat von DeddyH:
Trotzdem würde ich eher eine Variable deklarieren, um Verwechslungen auszuschließen
OK, dann eben Named-With

with xyz: TStringList.Create do für ein Alias würde mir dieses vorallem gefallen

Delphi-Quellcode:
with kurz: mega_extrem_lange_variable do
  with short: mega_extrem_large_variable do
  begin
    // mach was mit "kurz" und "short"
  end;
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 Jaynder
Jaynder

Registriert seit: 2. Dez 2004
Ort: Süderelbe
134 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: TStringList im with übergeben

  Alt 11. Feb 2010, 17:39
Man, hast du mich jetzt erschreckt, ich hatte für einen Moment geglaubt die Delphi's wären innovativ gewesen...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:22 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