Diskette formatieren



  • Dann musst du ja nur noch den Befehl

    system("format a:");
    

    einfügen und schon läufts.

    FGGF





  • The Godfather schrieb:

    Dann musst du ja nur noch den Befehl

    system("format a:");
    

    einfügen und schon läufts.

    FGGF

    Nein eben nicht da ich nicht will dass sich irgendein Fenster öffnet bei dem der User was tun muss. Es soll automatisch von statten gehen ! 😡



  • Für Alle die es interessiert 😉

    Formatieren einer Diskette ohne Fenster:

    ... 
    void __fastcall Twnd_CreateUser::cmd_CreateUserClick(TObject *Sender) 
    { 
    AnsiString slVolumeName; 
    DWORD dwVolumeSerial; 
    bool DriveStatus; 
    
    //Strukturen die zum Formatieren benötigt werden
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );
    
    //Erzeugen und Verschlüsseln der Userdatei 
    ... 
    //Hinweis zum Einlegen der Diskette 
    Application->MessageBox("*) Bitte legen Sie eine Diskette in Laufwerk A: ein.\n*) Achtung alle Daten auf dieser werden gelöscht!\n*) Klicken Sie auf OK sobald sich die Diskette im Laufwerk befindet.\n*) Klicken Sie im folgenden Fenster auf 'Starten'.\n*) Warten Sie den Vorgang ab und schließen Sie dann das Fenster.","Warnung",MB_OK|MB_ICONWARNING); 
    
    //Überprüfen ob Diskette in Laufwerk A 
    do 
    { 
     DriveStatus = IsDiskInDrive("a",slVolumeName,dwVolumeSerial); 
     if(DriveStatus != true) 
     { 
      Application->MessageBox("*) Sie haben keine Diskette in Laufwerk A: eingelegt.\n*) Legen Sie die Diskette ein und klicken Sie erneut auf 'Benutzer anlegen'.","Warnung",MB_OK|MB_ICONERROR); 
     } 
     else 
     { 
      //Formatieren der Diskette 
      CreateProcess(NULL,"format.com a: /y /q",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi);
      //Schreiben der Userdatei auf die Diskette 
      tf_NewUserDetails->Lines->SaveToFile("a:\\userinfo.dat"); 
      //Abschließende Erfolg-Meldung 
      Application->MessageBox("Benutzer wurde erzeugt.","Warnung",MB_OK|MB_ICONINFORMATION); 
      //Zurückkehren zum Start-Fenster 
      Close(); 
     } 
    } 
    while(DriveStatus = false); 
    } 
    //---------------------------------------------------------------------------
    

    Na TheGodfather was sagst jetzt... 🙄



  • Mit einer While-Schleife würde ich das nicht machen. Der User hat doch gar keine Chance das Ding abzubrechen, es sei denn er formatiert, oder?

    Außerdem würde ich anstatt:

    CreateProcess(NULL,"format.com a: /y /q",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi);
    

    lieber

    CreateProcess(NULL,"format.com a: /y /u",NULL,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi);
    

    verwenden.



  • Würde das nicht reichen wenn alle Daten einfach nur gelöscht werden?
    Also mit DeleteFile undso?
    Oder kann das auch passieren das dieDiskette unformatiert ist?



  • @F98

    er will doch gar nicht abbrechen können.
    die diskette soll formatiert werden, ohne abbruch ohne info des users.
    hat der pech wenn noch wichtige, lebensnotwenidige passwörter auf der disk waren!!! 😃

    Bj



  • Manche halten die User wahrscheinlich für so dumm wie sich selber. Deswegen soll der User ja nix mitkriegen.
    Zwei Punkte:

    1.) Wer nutzt heute noch Disketten als Speichermedium ( ausser zum Knacken von Windows Passwörtern....

    2.) Für wie doof werden manche User von anderen (geistig höhergestellten Wesen) den gehalten ??

    Okay ich hab doch drei Punkte:

    3.) Meine Schwester ist 9 Jahre alt aber sie seit drei Jahren in der Lage eine Diskette zu formatieren. Ist ja auch arg schwer. Rechtsklick formatieren und los gehts.

    :p 🙄 FGGF :p 😉



  • Nein, das Programm wird zum Unterricht in einem Kurs genutzt werden bei dem Leute die den PC noch nie benutzt haben die Diskette als User-ID Disk verwenden werden , ok ² TheGodfather 😡



  • @The Godfather:

    Um sein Programm richtig und unmißverständlich zu gestalten, sollte man immer vom dümmsten User der Welt ausgehen. Das ist eine wichtige Design-Regel.

    Zu deinen drei Punkten: Polemik sollte in einer sachlichen Diskussion nicht verwendet werden. 😉



  • Danke dass du mich verstehst, Grossmeister 😃


Anmelden zum Antworten