Autor Beitrag
smilie128
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: Sa 02.11.02 20:51 
Hi Leute

Ich habe mir diese Forum ausgiebig angeschaut und bin zu dem entschluß gekommen, daß hier fähige Leute vertreten sind :) (Kein Schleim, pure wahrheit)

Also zu meinem Problem :

Ich schreibe eine MP3-Datenbank wo die Titel automatisch gesucht und eingelesen werden sollen, daß bedeutet CD einlegen, Knopf drücken und die Titel erscheinen in der Datenbank. Ich möchte aber verhindern, daß eine CD mehrfach eingelesen wird und da jeder Datenträger, soviel ich weiß, eine einmalige ID besitzt (stimmt das überhaupt??) möchte ich die Volume-ID´s vergleichen und mit den Datensätzen abspeichern.

wäre schön wenn jemand eine einfache Lösung hat denn ich habe keine Lust immer die gesammten Files und Directories zu vergleichen

Falls es wichtig ist ich benutze Delphi 6.

Danke im Vorraus
Smilie


Zuletzt bearbeitet von smilie128 am Sa 24.01.04 18:17, insgesamt 1-mal bearbeitet
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: So 03.11.02 10:31 
Hi
den Datenträgernamen und die VolumeID bekommst du mit der API-Funktion GetVolumeInformation.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
smilie128 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: So 03.11.02 13:39 
Moin Lothar

So weit so gut.Nur finde ich nirgenwo eine syntaxbeschreibung und
Delphi sagt mir 'not enough actual parameters' . :?
Ich weiß zwar was das heist aber ich weiß nicht welche Parameter fehlen.
Hast du eventuell ein Beispiel parat oder einen Link zu einem Beispiel?
Das Problem ist , das ich mich mit der API nicht auskenne .

Gruß
Oliver
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: So 03.11.02 14:17 
Hi
Die Syntaxbeschreibung zu API-Funktionen findest du in der Hilfe zum Windows SDK.
Plaziere mal einen Button und vier Labels auf ein Formular und probier das hier:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var
  volName, fsName:  array[0..255] of char;
   serNum, maxLen, Flags  : Cardinal;
begin
   FillChar(volName, SizeOf(volName), 0);
   FillChar(fsName, SizeOf(fsName), 0);
   if  GetVolumeInformation(PChar('C:\'), volName, SizeOf(volName), @serNum, maxLen, Flags, fsName, SizeOf(fsName)) then begin
     Label1.Caption  := volName;
     Label2.Caption  := IntToHex(serNum, 8);
     Label3.Caption  := fsName;
     Label4.Caption  := 'Max. Pfadlänge: ' + IntToStr(maxLen);
   end;
end;

serNum enthält die VolumeID als Integer.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
smilie128 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 48



BeitragVerfasst: So 03.11.02 14:27 
Moin Lothar

:D :D :D :D :D
DAS ist genau was ich brauche
ein paar kleine änderungen sind zwar nötig aber jetzt weis
ich wies geht

besten Dank Lothar hst mir sehr geholfen


Gruß Oliver