Avatar billede smith1 Nybegynder
05. september 2004 - 18:12 Der er 8 kommentarer og
1 løsning

find cd-rom drev.

Jeg har en popupmenu som har et menu-punkt som hedder "cd" og den skal have en/flere sub menu.

den skal finde hvor mange cd-rom drev der er på PC'en og så display dem under "cd" menuen. deres caption skal bare være deres drev bogstav. derefter skal den check om der er en audio cd i en af de drev, hvis ja så skal den være enble = true ellers enable = false. og når man klikker på den skal den loade alle filerne på cd'en ind i en listbox.
Avatar billede stone Forsker
05. september 2004 - 18:25 #1
Avatar billede nico26 Nybegynder
05. september 2004 - 18:32 #2
denne stump finder alle cdrom drev

procedure TForm1.Button1Click(Sender: TObject);
var
  drives : array[0..1024] of Char;
  c : PChar;
begin
  GetLogicalDriveStrings(1000, drives);

  c := drives;
  while c^ <> #0 do
  begin
    if GetDriveType(c) = DRIVE_CDROM then
      ListBox1.Items.Add(c);
    Inc(c, 4);
  end;
end;
Avatar billede vallemanden Nybegynder
06. september 2004 - 05:51 #3
du vil ikke få navnene på de musik stupper der ligger på cd'en hvis det er det du ønsker, der skal en database til f.eks. CDDB.com eller http://www.freedb.org/ og så læse cd nr
Avatar billede smith1 Nybegynder
06. september 2004 - 18:07 #4
når jeg siger kopier over i en listbox, så mener jeg stierne til filerne:
e = mit cd rom drev

e:\track1.dat
e:\track2.dat
e:\track3.dat
e:\track4.dat
Avatar billede smith1 Nybegynder
07. september 2004 - 19:52 #5
er der ikke nogen der kan hjælpe????

hvordan kan jeg tilføje alle mine cd drev til en popupmenu??
Avatar billede stoney Nybegynder
07. september 2004 - 20:24 #6
procedure TForm1.Button1Click(Sender: TObject);
var
menu:TMenuitem;
Drive: Char;
DriveLetter: String[4];
begin
PopupMenu1.Items.Clear;
for Drive := 'A' to 'Z' do
begin
      DriveLetter := Drive ;
  case GetDriveType(PChar(Drive + ':\')) of

  DRIVE_CDROM:
      begin

        menu := TMenuitem.Create(PopupMenu1);
        menu.Caption := Driveletter + ':';
        PopupMenu1.Items.Add(menu);
      end;
  end;
end;
end;

Stoney
Avatar billede smith1 Nybegynder
08. september 2004 - 17:45 #7
hvordan tilføjer jeg så en event til mine nye knapper?
Avatar billede stoney Nybegynder
09. september 2004 - 07:42 #8
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    PopupMenu1: TPopupMenu;
    sdfasd1: TMenuItem;
    procedure Button1Click(Sender: TObject);
      procedure klikpopup(Sender : Tobject);
  private
    { Private declarations }
  public

    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Tform1.klikpopup(Sender : Tobject);
begin
showmessage('hej');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
menu:TMenuitem;
Drive: Char;
DriveLetter: String[4];
begin
PopupMenu1.Items.Clear;
for Drive := 'A' to 'Z' do
begin
      DriveLetter := Drive ;
  case GetDriveType(PChar(Drive + ':\')) of

  DRIVE_CDROM:
      begin

        menu := TMenuitem.Create(PopupMenu1);
        menu.Caption := Driveletter + ':';
        menu.OnClick := klikpopup;
        PopupMenu1.Items.Add(menu);
      end;
  end;
end;
end;

end.


Stoney
Avatar billede smith1 Nybegynder
09. september 2004 - 21:08 #9
takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester