AGB  ·  Datenschutz  ·  Impressum  







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

Platzhalter in einem String...

Ein Thema von Markus · begonnen am 8. Jul 2004 · letzter Beitrag vom 9. Jul 2004
Antwort Antwort
Markus
(Gast)

n/a Beiträge
 
#1

Platzhalter in einem String...

  Alt 8. Jul 2004, 20:49
Hallo,

ich weiß nicht ob es sowas schon gibt, aber ich habe eine Funktion geschrieben, die aus einer Maske einen Dateinamen generiert. Hier die Funktion:

Delphi-Quellcode:
function string2filename(maske, interpret, album, titel, track: string): string;
var
  i, p: integer;
  platzhalter,bezeichnung: TStringList;
begin
  platzhalter := TStringList.create; //erstellen der Stringlisten
  bezeichnung := TStringList.Create;

  platzhalter.Add('%I'); //Hinzufügen der gewünschten Werte u. Bezeichnungen
  bezeichnung.Add(interpret);

  platzhalter.Add('%A');
  bezeichnung.Add(album);

  platzhalter.Add('%T');
  bezeichnung.Add(titel);

  platzhalter.Add('%E');
  bezeichnung.Add('mp3');

  platzhalter.Add('%N');
  bezeichnung.Add(track);


  for i := 0 to platzhalter.Count - 1 do //Ersetzen der Platzhalter im Maskenstring durch die realen Werte
  begin
    p := pos(platzhalter.Strings[i], maske);
    if p <> 0 then
    begin
      delete(maske, p, 2);
      insert(bezeichnung.Strings[i], maske, p);
    end;
  end;

platzhalter.Free;
bezeichnung.Free;

result := maske;
end;
und hier ein Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(string2filename('%N.%I - %T.%E', 'Otto Mustermann', 'Mein erstes Album', 'Mein Lied', '1'));
end;
Man kann die Funktion beliebig ändern, d.h. neue Werte hinzufügen oder alte löschen.

Für Vorschläge bin ich offen

[edit=Matze]Code formatiert. Mfg, Matze[/edit]
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Platzhalter in einem String...

  Alt 8. Jul 2004, 21:23
Hi,
ich finde Format wesentlich einfacher:
format('%s - %s', ['Otto','Zehn kleine Ottifanten']); Chris
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Platzhalter in einem String...

  Alt 9. Jul 2004, 09:40
Wenn du mal in der OH schmökerst findest du auch andere Formatierungen zum Bleistift für Dezimalzahlen.

p.s.: Die Funktion gibt es in ähnlicher Art auch im .Net FrameWork als statische Funktion von System.String.
Code:
String[b][color=#ff0000].[/color][color=#3600aa]Format[/color][color=#ff0000]([/color][/b][color=#ad0000]"{0} - {1}"[/color]
             [b][color=#ff0000],[/color][/b][color=#3600aa]new[/color] String[b][color=#ff0000][] {[/color][/b][color=#ad0000]"Otto"[/color][b][color=#ff0000], [/color][/b][color=#ad0000]"Zehn kleine Ottifanten"[/color][b][color=#ff0000]});[/color][/b]
  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 12:12 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