Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi in Stringlist Zeichen zu Strings hinzufügen (https://www.delphipraxis.net/81618-stringlist-zeichen-zu-strings-hinzufuegen.html)

bluescreen25 30. Nov 2006 12:36


in Stringlist Zeichen zu Strings hinzufügen
 
Hallo, folgendes Problem:

Ich möchte 1. einen String zerlegen und dann 2. innerhalb einer Stringlist mit einem Zeichen pro Zeile versehen.

Bsp: mp3,wav

Code:
audioMask := TStringList.Create;
audiomask.Delimiter := ',';
audioMask.DelimitedText := FileMask; //FileMask aus Edit: mp3,wav
jetzt habe ich:

mp3
wav

in der Stringlist, möchte aber:

.mp3
.wav

haben.


Was wäre der richtige Ansatz ?



Gruß, bluescreen25

marabu 30. Nov 2006 12:41

Re: in Stringlist Zeichen zu Strings hinzufügen
 
Hallo,

vielleicht so:

Delphi-Quellcode:
begin
  audioMask := TStringList.Create;
  audiomask.CommaText := '.' + StringReplace(FileMask, ',', ',.', [rfReplaceAll]);

end;
Grüße vom marabu

bluescreen25 30. Nov 2006 12:50

Re: in Stringlist Zeichen zu Strings hinzufügen
 
Zitat:

Zitat von marabu
Hallo,

vielleicht so:

Delphi-Quellcode:
begin
  audioMask := TStringList.Create;
  audiomask.CommaText := '.' + StringReplace(FileMask, ',', ',.', [rfReplaceAll]);

end;
Grüße vom marabu

:shock: Bohr, mit StringReplace hatte ich es auch versucht, aber erst nachdem die Strings in der Stringlist waren.

Vielen Dank!

Gruß, bluescreen25

bluescreen25 14. Dez 2006 05:24

Re: in Stringlist Zeichen zu Strings hinzufügen
 
:| Jetzt wo ich die Strings richtig in der Stringlist habe, möchte ich auch den umgekehrten Weg hinbekommen.

D.h. in Stringlist:

.mp3
.wav


wieder in einen String aber mit einem Zeichen dazu:

*.mp3,*.wav


Die Ansätze im Forum, die ich gefunden habe, bekomme ich nicht umgesetzt.

Hat jemand eine Idee?


Gruß, bluescreen25

marabu 14. Dez 2006 05:54

Re: in Stringlist Zeichen zu Strings hinzufügen
 
Guten Morgen,

wie wäre es damit?

Delphi-Quellcode:
function WildStr(const sExtensions: String; hasDot: Boolean = False; delimiter: Char = ','): String; // edited
begin
  if hasDot
    then Result := '*' + StringReplace(sExtensions, ',', ',*', [rfReplaceAll])
    else Result := '*.' + StringReplace(sExtensions, ',', ',*.', [rfReplaceAll])
end;
Das Prinzip ist das gleiche geblieben.

Freundliche Grüße

bluescreen25 14. Dez 2006 06:37

Re: in Stringlist Zeichen zu Strings hinzufügen
 
Zitat:

Zitat von marabu
Guten Morgen,

wie wäre es damit?

Delphi-Quellcode:
function WildStr(const sExtensions: String; delimiter: Char = ','; hasDot: Boolean = False): String;
begin
  if hasDot
    then Result := '*' + StringReplace(sExtensions, ',', ',*', [rfReplaceAll])
    else Result := '*.' + StringReplace(sExtensions, ',', ',*.', [rfReplaceAll])
end;
Das Prinzip ist das gleiche geblieben.

Freundliche Grüße

Guten Morgen !

den String habe ich ja noch nicht, nur die Items der Stringlist, aus denen ich erst den String inklusive der Zeichen zusammenasetzen will.

Gruß,bluescreen25

marabu 14. Dez 2006 06:47

Re: in Stringlist Zeichen zu Strings hinzufügen
 
Aber sicher hast du den schon:

Delphi-Quellcode:
ShowMessage(WildStr(FileMask));
ShowMessage(WildStr(AudioMask.CommaText, True));
Aus Bequemlichkeit habe ich bei WildStr() die beiden letzten Parameter vertauscht.

Freundliche Grüße

bluescreen25 14. Dez 2006 07:57

Re: in Stringlist Zeichen zu Strings hinzufügen
 
Zitat:

Zitat von marabu
Aber sicher hast du den schon:

Delphi-Quellcode:
ShowMessage(WildStr(FileMask));
ShowMessage(WildStr(AudioMask.CommaText, True));
Aus Bequemlichkeit habe ich bei WildStr() die beiden letzten Parameter vertauscht.

Freundliche Grüße

habe nun folgendes ohne Erfolg probiert:

Delphi-Quellcode:
AudioMaskLst.CommaText := '.' + StringReplace(FileMask, ',', ',.', [rfReplaceAll]); WildStr(AudioMaskLst.CommaText,',',true);
AudioMaskLst.SaveToFile('ZAudio.txt');

WildStr(FileMask,',',true);
testlst.Add(FileMask);
testlst.SaveToFile('ZAusgabe.txt');
Ergebnis ZAudio.txt
.mp3
.wav


Ergebnis ZAusgabe.txt
mp3,wav


Sorry, aber ich kapier es nicht.

Gruß, bluescreen25

marabu 14. Dez 2006 08:03

Re: in Stringlist Zeichen zu Strings hinzufügen
 
Nicht verzagen.

Hast du bemerkt, dass ich die Signatur von WildStr() umgestellt habe?

Delphi-Quellcode:
var
  s: String;
begin
  AudioMaskLst.CommaText := WildStr(FileMask);
  AudioMaskLst.SaveToFile('ZAudio.txt');

  // testlst.CommaText := WildStr(AudioMaskLst.CommaText, True);
  // oder:
  testlst.CommaText := WildStr(FileMask, True);
  testlst.SaveToFile('ZAusgabe.txt');
end;
Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz