AGB  ·  Datenschutz  ·  Impressum  







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

TstringList übergabe verkürzen

Ein Thema von EWeiss · begonnen am 2. Apr 2007 · letzter Beitrag vom 2. Apr 2007
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

TstringList übergabe verkürzen

  Alt 2. Apr 2007, 19:18
Ich möchte aus der Playliste 13 Titel na meine DLL übergeben
Bei der ersten übergabe gibt es kein Problem
Bei der zweiten muss ich die TStringList löschen bis auf den Clear ist in der Funktion ansonsten alles gleich.

Nun möchte ich wissen ob man diese verkürzen kann ohne alles doppelt zu schreiben.

Delphi-Quellcode:
procedure BASS_WINAMPVIS_SetPlaylistEntries(PlPos : integer; PlEntry : integer;
                                             Title : string;
                                             changed : boolean); stdCall;
Var
  IntI : integer;

begin
   try
     if not changed then
     begin
       if PlaylistEntries = nil then
         PlaylistEntries := TStringList.Create;

         PlaylistEntries.CommaText := Title;
         if (PlPos + PlEntry) > 13 then
         begin
           PlaylistEntries.Free;
           exit;
         end;

       for IntI := PlPos to PlaylistEntries.Count do
         PlaylistEntries.Add(PlaylistEntries.Strings[IntI]);

     end else
     begin
       PlaylistEntries.clear; //>>>>>>>>> einzigste unterschied!
       if PlaylistEntries = nil then
         PlaylistEntries := TStringList.Create;

       PlaylistEntries.CommaText := Title;
         if (PlPos + PlEntry) > 13 then
         begin
           PlaylistEntries.Free;
           exit;
         end;

       for IntI := PlPos to PlaylistEntries.Count do
         PlaylistEntries.Add(PlaylistEntries.Strings[IntI]);

     end;
   except
     PlaylistEntries.Free;
   end;

end;
Noch ne frage wie lang kann Title sein wenn er als string übergeben wird .. 'PlaylistEntries.CommaText'

Gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TstringList übergabe verkürzen

  Alt 2. Apr 2007, 19:20
Delphi-Quellcode:
if changed then clear;

//und jetzt der Rest
Und wo liegt das Problem?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: TstringList übergabe verkürzen

  Alt 2. Apr 2007, 19:23
Zitat von sirius:
Delphi-Quellcode:
if changed then clear;

//und jetzt der Rest
Und wo liegt das Problem?
Hmmm nur das clear nutz doch nix oder ?
Die liste muss ja auch wieder aufgefüllt werden.

Wo meinst denn das ich das hinsetzen soll.

EDIT:
Arrrggghh du meinst anstelle von
if not changed then und wie lang kann Title sein wenn er als string übergeben wird .. 'PlaylistEntries.CommaText'

Gruss Emil
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

Re: TstringList übergabe verkürzen

  Alt 2. Apr 2007, 20:08
PUSH
Verzeiht mir nochmal.

Delphi-Quellcode:
  for IntI := PlaylistPos to (PlaylistPos + 12) do
    PlaylistEntry := PlaylistEntry + playlist.Items[IntI] + ',';

    BASS_WINAMPVIS_SetPlaylistEntries(PlaylistPos,
                                      PlaylistEntry,
                                      false);
Diese übergabe wird in der DLL mit mehr als 80 einträge ausgewertet.
das kann aber nicht sein. Da nur 13 übergeben werden.

Wo liegt hier der fehler ?

Delphi-Quellcode:
procedure BASS_WINAMPVIS_SetPlaylistEntries(PlPos : integer; Title : string;
                                             changed : boolean); stdCall;
Var
  IntI : integer;

begin
   try
     if PlaylistEntries = nil then
         PlaylistEntries := TStringList.Create;

     if changed then PlaylistEntries.clear;
     begin
         PlaylistEntries.CommaText := Title;
         if PlaylistEntries.Count > 13 then
         begin
           PlaylistEntries.Free;
           exit;
         end;

       for IntI := PlPos to PlaylistEntries.Count do
         PlaylistEntries.Add(PlaylistEntries.Strings[IntI]);

     end;
   except
     PlaylistEntries.Free;
   end;

end;
Thread hat sich erledigt ....

Gruss Emil
  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 06:30 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