tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
298
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von sand13r
    sand13r sand13r ist offline Mitglied Gold
    Registriert seit
    Oct 2006
    Beiträge
    101
    Hallihallo Freunde der Sonne,

    ich habe ein kleines Problem und hatte gehofft das mir jemand auf die Sprünge helfen könnte , ein Tipp oder Denkanstoß wäre wirklich klasse.

    Es geht im Prinzip nur darum das wir einen eigenen Browsforfolder haben wo die einzelnen Laufwerke drinstehen nun soll hinter dem USB-STICK (falls angeschlossen) USB GErät stehen. Nun die Frage woher weis ich ob es ein USB Stick ist?

    Ich habe mit Hilfe von DriveType schon raus bekommen welche Datenträger entfernbar sind.

    Code :
    1
    2
    3
    4
    5
    6
    
      driveType = GetDriveType(drive);
        if(driveType == DRIVE_REMOVABLE) // The drive has removable media
          {
             driveFound=TRUE;
             break;
          }

    nun ist mein Problem das er bei einem Diskettenlaufwerk auch nur DRIVE_REMOVABLE zurückgibt sowie auch beim USB-STICK..


    hätte jemand ne Idee wie ich raus bekomme welches die Diskette ist ?

    Ich dachte ich schau einfach welcher Datenträger über 5MB is.. dann isses sicher keine FLOPPY funktioniert aber nicht wenn keine Diskette im Laufwerk is dann haut er mir ne fette Exception die ich irgendwie nich gebacken bekomme...

    Wäre um jeden Tipp dankbar



    greetz sand13r
    Geändert von sand13r (27.11.07 um 10:32 Uhr)
     
    #include<MCoder.h>
    #include<iostream>
    #include<conio.h>

    int main()
    {
    MCoder *pmcoder;

    cout<<"Please ask your Question!!"<<endl;
    cin>>pmcoder->QuestionString;

    cout<<"Answer is:" <<pmcoder->GetAnswer(pmcoder->QuestionString)<<endl;

    getch();
    return 0;
    }

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    Diskettenlaufwerke belegen üblicherweise die LW-Buchstaben A und B. Wenn hier ein Removable gefunden wird, dürfte es mit ziemlicher Sicherheit ein Floppy-LW sein. Alles andere dürften dann andere Wechseldatenträger sein, allerdings auch nicht zwangsläufig USB-LWs.
    Ansonsten könntest du ja auch mit "_access()" nachschauen, ob der Pfad überhaupt zugreifbar ist, bevor du die Größe ermitteln willst.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Avatar von sand13r
    sand13r sand13r ist offline Mitglied Gold
    Registriert seit
    Oct 2006
    Beiträge
    101
    Hallihallo danke für deine wie immer hilfreiche, und schnelle Antwort

    ich habe es jetzt mit _access versucht aber er wirft mir die selbe Exception wenn er keinen zu griff darauf hat.

    wüsstest du zufällig wie ich den try catch block bauen müsste ?
    habs schon so versucht geht aber net


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
       try
       {
          GetDiskFreeSpaceEx("A:\\",&freespace,&totalspace,&usedspace); //oder eben  _access("A:\\",00);
          
       }
       catch(CUserException *e)
       {
          e->Delete();
       }

    bin noch nicht so geübt in exceptions.

    ich benutze MSVISUAL 6.0 und er sagt das der catch Block keinen Typ angibt und CUserException unexpected wäre...


    F:\Testumgebung\testConsoleApi\testConsoleApi.cpp(41) : error C2061: syntax error : identifier 'CUserException'
    F:\Testumgebung\testConsoleApi\testConsoleApi.cpp(41) : error C2310: catch handlers must specify one type
    F:\Testumgebung\testConsoleApi\testConsoleApi.cpp(43) : error C2065: 'e' : undeclared identifier
    F:\Testumgebung\testConsoleApi\testConsoleApi.cpp(43) : error C2227: left of '->Delete' must point to class/struct/union
    F:\Testumgebung\testConsoleApi\testConsoleApi.cpp(46) : error C2317: 'try' block starting on line '37' has no catch handlers



    danke nochmals

    gruss
    Geändert von sand13r (27.11.07 um 11:39 Uhr)
     
    #include<MCoder.h>
    #include<iostream>
    #include<conio.h>

    int main()
    {
    MCoder *pmcoder;

    cout<<"Please ask your Question!!"<<endl;
    cin>>pmcoder->QuestionString;

    cout<<"Answer is:" <<pmcoder->GetAnswer(pmcoder->QuestionString)<<endl;

    getch();
    return 0;
    }

  4. #4
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    die Fehlerunterdrückung ist an der Stelle etwas tricky, weil try-catch blöderweise nicht die Fehler-Messagebox unterdrückt.
    Aber so müsste es gehen:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    UINT nOldError = SetErrorMode(SEM_FAILCRITICALERRORS);
     
    try
    {
        GetDiskFreeSpaceEx("A:\\", &freespace, &totalspace, &usedspace);
    }
    catch( ... )
    {
      // Fehler
    }
     
    SetErrorMode(nOldError);
    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  5. #5
    Avatar von sand13r
    sand13r sand13r ist offline Mitglied Gold
    Registriert seit
    Oct 2006
    Beiträge
    101
    Woah du bist wirklich super,

    vielen vielen vielen vielen vielen DANK wirklich perfekt

    hat blendend funktioniert

    wieso kann ich dich nich weider gut bewerten.. Gemeinheit.. muss erst andere bewerten.. toll wenn du mir aba imma hilfst

    DANKE nochmals,

    wünsche dir einen wunderschönen Feierabend (wenn es denn dann soweit ist)

    greetz sand13r
     
    #include<MCoder.h>
    #include<iostream>
    #include<conio.h>

    int main()
    {
    MCoder *pmcoder;

    cout<<"Please ask your Question!!"<<endl;
    cin>>pmcoder->QuestionString;

    cout<<"Answer is:" <<pmcoder->GetAnswer(pmcoder->QuestionString)<<endl;

    getch();
    return 0;
    }

Ähnliche Themen

  1. Floppy
    Von Dusty1402 im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 08.08.10, 11:41
  2. Pfad zu USB-Stick oder Netlaufwerk
    Von Toubadix im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 13.10.09, 00:19
  3. Memory Stick Pro oder Standard?
    Von MCrookieDe im Forum Fotografie & Digitalfotografie
    Antworten: 0
    Letzter Beitrag: 24.03.06, 18:26
  4. USB Treiber oder USB Stick Treiber Reset
    Von lukelukeluke im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 03.06.05, 18:26
  5. Tool zum Test von CPU oder Mainboard
    Von Moartel im Forum Hardware
    Antworten: 1
    Letzter Beitrag: 27.09.01, 00:10