03. juli 2001 - 01:00Der er
11 kommentarer og 1 løsning
Installation/afspilning fra Cd-rom
Jeg er i gang med at lave en slags database i Delphi 5. Jeg laver hjemmesider, men ellers har jeg ikke prøvet den form for programmering før, som er en del anderledes fra HTML. Jeg har lavet et oversigt over programmer, spil mm. i det programmerede program, men jeg kan ikke finde ud af, hvordan jeg laver et slags link system, hvor jeg dobbelt klikker på teksten (programmet), samtidig med at den søger på cdrommen, og evt. installer/afspiller filen. Hvis ikke Cdrommen er i cd drevet(ne), skal den automatisk bede om f.eks. put cd (x) i cd drevet.
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
Jeg kan ikke huske om ShellExecute returnerer noget, men hvis det er et handle til det vindue man får, så skal du checke det på den måde, men det kan jeg ikke huske!
Benyt den måde Casper gav til at finde cd\'rom-drevet. Man må jo formode at dit program, ligger på cd\'en når den afspilles. (Ellers skal du til at rode med Registry (det kan jeg forklare mere om hvis du syndes))
For at undersøge om cd\'romen er i drevet, så brug fileexists()
fx:
while FileExists(CDdrev + \'autorun.ini\') = False do ShowMessage(\'Indsæt cd\');
En simpel rutine der bliver ved med at vise beskeden Indsæt cd, indtil man klikker OK og cd\'en faktisk er i drevet! Håber det er til at forstå.
Autorun.ini er bare en dummy der skal ligge på cd\'en så du kan være sikker på at cd\'en er i drevet. Kald den noget andet, fx: s947665.fds så er sandsynlighederne for at der sker en misforståelse lille!
Her er anden måde at gøre det på. Den tæller alle dine cd-rom drev op og undersøger om der er ligger en cd-rom i drevet og dernæst om der eksitere filen \'autorun.ini\' i roden af cd\'en.
var drive : char; i : integer; filename : string; found : boolean; begin filename := \'autorun.ini\'; i := 1; for drive := \'A\' to \'Z\' do begin case getdrivetype(pchar(drive + \':\\\')) of
drive_cdrom: if (disksize(i) > -1) then begin found := true; if fileexists(chr(64+i)+\':\\\'+filename) then //gøret eller andet else showmessage(\'Forkert CD-ROM\'); end;
end; //case inc(i); end; if not found then showmessage(\'Der er ingen CD-ROM tilgængelige!\'); end;
Metoden er dog ikke nær så snild som easysoft studios og casper\'s eksempler men jeg vil vædde med at det er en metode du vil kunne bruge både nu men også i fremtiden.
EKSEMPEL: Hvis du vil give mulighed for at brugeren kan installere din application på en HD\'en( i stedet for altid at skulle starte og fra CD-Rom!) og kun først når der skal installeres eller afspilles filer fra cd\'en behøver brugeren at tænke på din CD\'Rom - Desuden kan man jo dermed også anvende flere cd-rom\'er til samme application.
HUSK: I stedet for drive_cdrom kan du også skrive:
drive_removable (finder alle Diskette drev på din computer).
drive_fixed (finder alle hardiske på din computer).
send mig en mail med dine spørgsmål, så vil jeg besvare dem hurtigst muligt:
Dette er min mail adresse:
info@opengl-delphi.dk
ZeroHero
Synes godt om
Ny brugerNybegynder
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.