AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Teil eines Arrays auslesen

Ein Thema von HofiderKill · begonnen am 19. Jan 2011 · letzter Beitrag vom 20. Jan 2011
Antwort Antwort
Seite 1 von 2  1 2   
HofiderKill

Registriert seit: 19. Jan 2011
21 Beiträge
 
#1

Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:28
Delphi-Version: 6
Hallo
ich bin neu hier, habe aber schon 2 Jahre Delphi erfahrung aus der Schule!
ich bin momentan an der arbeit und programmiere ein Programm welches mir meine musik ordnet!

Dabei bin ich an ein problem gestoßen. ich habe meine Datein, welche ich in einem Array abspeichere. also z.B.: ABBA - Mamma Mia.mp3 (es ist nicht nur ein Titel) sie sind auch nicht mit dem Pfadnamen abgespeichert sondern nur mit Interpret - Titel
ich möchte nun nur den Interpreten auslesen, und diesen in eine Listbox eintragen lassen!

Quellcode
Code:
var i:integer;
begin
for i := 0 to 1000 do
  begin
   listbox1.Items.Add(songs[i]);
  end;

end;
das array
Code:
songs: array [1..1000]of string;
ich hoffe ihr könnt mir weiter helfen!
mfg Florian
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:31
Erstens: Du greifst in der Schleife auf songs[0] zu, obwohl songs erst bei 1 beginnt.
Zweitens: Wo genau ist jetzt das Problem?
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
HofiderKill

Registriert seit: 19. Jan 2011
21 Beiträge
 
#3

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:34
wenn ich aber bei songs[1] zugreif, dann steht der erste dateiname nicht in der listbox!
und mein problem ist ich bekomm so wenn ich das so wie bis jetzt ausgeben lasse
ABBA - Mamma Mia
ich möchte aber das er mir nur noch ABBA ausgibt. also alles was für dem - steht... das is mein momentan großes Problem
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:35
Delphi-Referenz durchsuchenCopy und Delphi-Referenz durchsuchenPos könnten Dir weiterhelfen.

[edit] Wobei es allerdings eleganter wäre, die Struktur zu ändern und z.B. einen Record mit 2 Feldern zu verwenden. [/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 Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:36
wenn ich aber bei songs[1] zugreif, dann steht der erste dateiname nicht in der listbox!
Dann stimmt die von dir genannte Definition songs: array [1..1000]of string; wohl nicht
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
HofiderKill

Registriert seit: 19. Jan 2011
21 Beiträge
 
#6

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:38

Dann stimmt die von dir genannte Definition songs: array [1..1000]of string; wohl nicht
ok ja das kann sein^^ mit dem pos und copy befehl komm ich leider auch nicht ganz weiter....
ich steh mit dem problem leider voll auf der leitung
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:40
Delphi-Quellcode:
const WholeFilename = 'ABBA - Mamma Mia.mp3';
Interpret := Copy(WholeFilename,1,Pos(' -',WholeFilename) - 1);
Stimmt das Ergebnis so?
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 Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#8

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:44
Per Pos ermittelst du die Position eines beliebigen Zeichens/Substrings in einem beliebigen String:
Pos( 'a', 'cdab' )
liefert dir den Wert 3 zurück.

Per Copy kopierst du vom String, ab der Stelle x, n Zeichen:
Copy( 'Hilfe lesen!', 6, 5 )
liefert dir 'lesen' zurück!

Was DU nun machen musst, ist, dass du die Position von '-' ermittelst und alle Zeichen ab der Stelle 1 bis zu dieser Position kopierst und diesen kopierten String (Interpret) ausgibst.

Das sollte als Hilfestellung reichen!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
HofiderKill

Registriert seit: 19. Jan 2011
21 Beiträge
 
#9

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:45
@ DeddyH
WoW ich bin echt beeindruckt ja das stimmt!!! Dankeschön! damit is mir echt sehr weitergeholfen.
wenn ich das dann für das gesamte array durchlaufen lasse einfach mit na for schleife oder? und dann in ein 2tes array neu abspeichern! das wär mir als ersters eingefallen

@ aphton ja mit den pos zeilen is nur das problem ads ja jeder interpret, bzw titel unterschiedlich lang sind
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Teil eines Arrays auslesen

  Alt 19. Jan 2011, 17:49
Statt des Arrays kannst Du doch gleich eine TStringlist nehmen, das ist bedeutend einfacher und dynamischer. Und wie bereits gesagt: ich würde die Struktur überdenken und statt einem einfachen String einen Record oder gleich eine Klasse verwenden.
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
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 00:04 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