Alle Laufwerke ermitteln — OHNE API!

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

AND51 hat geschrieben:So wie's aussieht, benutzt Droopy (bzw. einer der Autoren) in der Procedure einfach nur einen API-Aufruf. Ich kenne mich aber sleber schon gut mit API aus, sodass ich direkt darauf zugreifen kann und die Laufwerke auch ohne Hilfe durchzähle.

Droopy's Lib werde ich nicht mehr benutzen... :twisted: 5 Codestücke habe ich dem Typen im April und im Juni zugesand und welche hat er in die Lib übernommen? Keine. Stattdessen sieht die Lib aus, als wäre sie notdürftig nach PB 4 transferiert worden, sogar die Schreibfehler in der Hilfe sind noch die selben... :freak:


>>> Ich kenne mich aber :lol: sleber :lol: schon gut mit API aus, sodass ich direkt darauf zugreifen kann und die Laufwerke auch ohne Hilfe durchzähle.

Das zu deiner Bemerkung 'Schreibfehler' :twisted: .



Freundliche Grüße ...Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ds pasirt mir öfters, wen nich soschnell tipe... /:->
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

AND51 hat geschrieben:Ds pasirt mir öfters, wen nich soschnell tipe... /:->
Dieses: http://www.purebasic.fr/german/viewtopic.php?t=10486
war ein Scherz :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
al90
Beiträge: 1097
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

AND51 hat geschrieben:In erster Linie wollte ich die Idee einfach mal posten, wozu mir al90 geraten hat.
Hast Du gut gemacht. Stehe voll hinter dir. :allright:
Außerdem ist diese lösung die einfachste Lösung für PureBasic-Anfänger, die ja noch keine API beherrschen oder noch nie davon gehört haben. :D
Und vor allendingen da es in "Puren" Basic und somit leicht portierbar ist.
Davon müsste es einfach mehr geben finde ich. Solche Codes sind schön
schlicht und einfach gestrickt und wirken nicht so aufgebläht wie viele andere.

Falls noch jemand andere (GeistesBlitz) Ideen hat, immer schön posten.
Kann sich ja auch ruhig um eine andere kategorie handeln. Hauptsache
es ist simpel & effektvoll "gestrickt". :wink:

BTW:
Zur Amiga zeit habe ich ASM-Code per Chr$() in einen String$ geschrieben
und dann mit Call Varptr(String$) gestartet.
Dadurch sparte man sich AllocMem() und es lief auch auf Dialekten
mit denen es kein AllocMem() gab.
War auch so'n Blitz Gedanke den ich da hatte. :mrgreen:

Also jetzt aber ran und eure Blitz Gedanken posten. <)
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Wo ihr gerade von Mac und Linux sprecht.

bekomme ich dann den RootPfad des CD-Laufwerks unter einem Mac oder unter Linux den Pfad, unter dem das Laufwerk gemountet ist?

mit AudioCDName()?

http://www.purebasic.fr/german/viewtopi ... t=laufwerk

/:->
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Code: Alles auswählen

InitAudioCD()
Debug AudioCDName()
PBDebugger hat geschrieben:/dev/cdrom
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Xaby hat geschrieben:Wo ihr gerade von Mac und Linux sprecht.
Gerade ? Wir sprachen vor ca. 2 Monaten davon... /:-> :mrgreen:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Wie bekommt ihr unter Mac und Linux raus, ob ein Laufwerk offen ist oder geschlossen?

Habt vielleicht schon mal den anderen Beitrag überflogen.

Würde natürlich am Liebsten eine Lösung haben, die System unabhängig ist.

PB bietet nur leider nix wie:

GetAudioCDState()

:allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

Beitrag von Leonhard »

Das ganze funzt nicht bei Netwerklaufwerken!!!
Autonomus
Beiträge: 30
Registriert: 20.02.2015 18:21

Re: Alle Laufwerke ermitteln — OHNE API!

Beitrag von Autonomus »

Funktioniert so super:

Code: Alles auswählen

For n=67 To 90
	If FileSize(Chr(n) + ":\") <> -1
		Debug Chr(n) + ":\"
	EndIf
Next
Vorteil: weiterhin ohne API
Nachteil: trotzdem nur für Windows geeignet
[Aktuelles Projekt: Core Project | Media Library (Core Project based)]
  • OS: Windows 7 Ultimate x64 | PB: PureBasic 5.40 x86/x64

    CPU: AMD Phenom(TM) II X4 965 BE (4x 3.4GHz @3.8GHz) | GPU: nVidia GeForce 8200 (512MB), nVidia GeForce GT 730 (4096MB)
    RAM: 8GB | HDD: 250GB Samsung, 1TB Samsung
Antworten