AGB  ·  Datenschutz  ·  Impressum  







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

Wie benutzt man TJclStrQueue

Ein Thema von WoGe · begonnen am 12. Feb 2009 · letzter Beitrag vom 13. Feb 2009
Antwort Antwort
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#1

Wie benutzt man TJclStrQueue

  Alt 12. Feb 2009, 20:52
In den JCJs gibt es die TJclStrQueue . Das scheint eine FiFo Liste zu sein - etwas was ich gerade brauche.

Die Deklaration sieht so aus:
Delphi-Quellcode:
  TJclStrQueue = class(TJclAbstractContainer, IJclStrQueue)
  private
    FCapacity: Integer;
    FElements: TDynStringArray;
    FHead: Integer;
    FTail: Integer;
  protected
    { IJclStrQueue }
    function Contains(const AString: string): Boolean;
    function Dequeue: string;
    function Empty: Boolean;
    procedure Enqueue(const AString: string);
    function Size: Integer;
  public
    constructor Create(ACapacity: Integer = DefaultContainerCapacity);
  end;
gibt es eine einfache Möglichkeit dieses zu benutzen ohne gleich eine neue Klasse zu erzeugen?

Grüsse wo
  Mit Zitat antworten Zitat
HalloDu

Registriert seit: 24. Apr 2006
Ort: Oelde
267 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Wie benutzt man TJclStrQueue

  Alt 12. Feb 2009, 22:12
Hallo WoGe,

das erstellen einer Instanz ist nötig, aber sicher nicht das anlegen einer neuen Klasse.

MfG Frederic
Frederic H.
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Wie benutzt man TJclStrQueue

  Alt 12. Feb 2009, 22:36
Hi Frederic

Zitat:
das erstellen einer Instanz ist nötig, aber sicher nicht das anlegen einer neuen Klasse.
In einer Instanz davon stehen die als protected deklarierten Methoden leider nicht zur Verfügung.
(Weil Außerhalb der deklarierenden Unit)
Der einzige mir bekannte Weg wäre eine neue Klasse die diese Deklarationen in den Public Teil verlagern.

Viele Grüße
wo
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Wie benutzt man TJclStrQueue

  Alt 12. Feb 2009, 23:22
Nur so als Tip: die Interfaces sind nicht nur da, weil sie gut aussehen
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Wie benutzt man TJclStrQueue

  Alt 13. Feb 2009, 09:15
Zitat von Dax:
Nur so als Tip: die Interfaces sind nicht nur da, weil sie gut aussehen
Vielen Dank für den Hinweis. Ich habs halt nicht so mit den Interfaces, mir gings ähnlich wie hier

Meine Lösung sieht nun so aus:

Delphi-Quellcode:
  ...
  public
    { Public-Deklarationen }
    myQueue : IJclStrQueue;
  end;
  ...

procedure TForm7.Button1Click(Sender: TObject);
begin
  myQueue := TJclStrQueue.create; // Default Size = 16
// myQueue := TJclStrQueue.create(16);
end;

procedure TForm7.Button2Click(Sender: TObject);
begin
  myQueue.Enqueue('TestNo1');
  myQueue.Enqueue('TestNo2');
  myQueue.Enqueue('TestNo3');
end;

procedure TForm7.Button3Click(Sender: TObject);
begin
  if not myQueue.Empty then memo1.Lines.Add(myQueue.Dequeue);
end;

procedure TForm7.Button4Click(Sender: TObject);
begin
// FreeAndNil(myQueue); // Unnötig da Interface ?
end;
...
Das funktioniert - so wie ich das erwartet hatte.
Vielen Dank nochmal

Gruß
wo
  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 10:03 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