Formatowanie dyskietki

0

Witam
Mam problem z formatowaniem dyskietki. Znalazłem tu na 4programers.net komponent format, znalazłem funkcje ShFormatDrive ale to wszystko przy starcie wyświetla mi okno dialogowe formatowania i dopiero w oknie dialogowym muszę wcisnąć Start.
Ja chcę zrobić tak aby np. naciskam w swoim programiku jakiś Button i Od razu jedzie formatowanie dyskietki bez okna dialogowego.
Jak to zrobić ?

0

kasujesz -programowo- wszystkie pliki z dyskietki.

0

Wydaje mi sie że:
FORMAT<>USUWANIE WSZYSTKICH PLIKÓW

0

A co to za różnica ?? :-)

0

Format a usuwanie wszystkich plików z dyskietki to nie to samo.
Polecenie format dzieli dyskietkę na ścieżki, sektory i klastry.
Jak macie niesformatowaną dyskietkę ( co juz teraz raczaj sie nie zdaża bo fabrycznie są formatowane ) to na niej nic nie da sie zapisać bo nie ma nadanego formatu FAT.
No a że podczas formatowania zostaną zniszczone wszystkie dane z dyskietki to już inna sprawa :-)
Więc ktos wie jak rozwiązać mój problem ?

0

<url>www.torry.net</url> widziałem tam trochę takich komponentów......

0

Przeszukałem www.torry.net. Są tam coprawda takie komponenty co by mi pasowały ale kosztują niemało :-( Szukałem też na innych stronkach ale nic nie znalazłem ciekawego.
Darmowe wszystkie uruchamiają okno dialogowe formatowania.

A może ma ktoś taki komponencik jakiego potrzebuje i chciałby się podzielić, albo widział taki gdzieś(za darmo) do sciągnięcia ?

0

Przeszukałem www.torry.net. Są tam coprawda takie komponenty co by mi pasowały ale kosztują niemało :-( Szukałem też na innych stronkach ale nic nie znalazłem ciekawego.
Darmowe wszystkie uruchamiają okno dialogowe formatowania.

A może ma ktoś taki komponencik jakiego potrzebuje i chciałby się podzielić, albo widział taki gdzieś(za darmo) do sciągnięcia ?

0

To może metoda na chama? Wyświetlasz okienko formatowania, natychmiast je ukrywasz (findwindow i te sprawy), potem szukasz przycisku rozpoczynającego formatowanie, naciskasz go... Lepsze, niż nic...

//Dopisane
W win sdk jest topic 'FAT32 File System Functions', w którym znajduje się spis dosowych funkcji, jeste też link do tematu, jak takie funkcje wywoływać. Ciekawie wygląda funkcja:

Format Track on Logical Drive Int 21h Function 440Dh Minor Code 42h (FAT32)

Gdyby tak zrobić pętlę po wszystkich ścieżkach... W każdym razie, nie wiem, jak się to ma do win nt, moga być problemy.

0

Może użyj komendy/polecenia format? Stwórz jakiś proces konsolowy, przechwytuj jego output - żadne okienko nie wyskoczy [diabel]

0

Należy użyć funkcji zawartej w module ShellAPI - ShFormatDrive().
Oto wycinek kodu.

const SHFMT_DRV_A = 0;
const SHFMT_DRV_B = 1;
const SHFMT_ID_DEFAULT = $FFFF;
const SHFMT_OPT_QUICKFORMAT = 0;
const SHFMT_OPT_FULLFORMAT = 1;
const SHFMT_OPT_SYSONLY = 2;
const SHFMT_ERROR = -1;
const SHFMT_CANCEL = -2;
const SHFMT_NOFORMAT = -3;

function SHFormatDrive(hWnd : HWND; Drive: Word; fmtID: Word; Options: Word) : Longint   stdcall; external 'Shell32.dll' name 'SHFormatDrive';

procedure TForm1.Button1Click(Sender: TObject);
var
FmtRes : longint;
begin
try
FmtRes:= ShFormatDrive(Handle, SHFMT_DRV_A, SHFMT_ID_DEFAULT, SHFMT_OPT_QUICKFORMAT);
case FmtRes of
SHFMT_ERROR : ShowMessage('Błąd podczas formatowania.');
SHFMT_CANCEL : ShowMessage('Użytkownik przerwał formatowanie.');
SHFMT_NOFORMAT : ShowMessage('Nie sformatowano dysku')
else
    ShowMessage('Dysk został sformatowany.');
    end;
  except
  end;
end;

0

eh - no nie zabardzo należy użyć ShFormatDrive bo przy starcie wyświetla mi okno dialogowe formatowania( mam WinXP moze w innych tego nie robi - tego nie wiem ) i dopiero w oknie dialogowym muszę wcisnąć Start a tego właśnie chcę uniknąć - jak napisałem na początku

0

no to odpal format.exe z parametrami...
W windows XP nie ma tego jakże przydatnego w Windowsach programu, więc proponuje pobrać z 98 i wsadzić do zasobów...

// o ile nie wywali 'invalid dos version' [mf]

1 użytkowników online, w tym zalogowanych: 0, gości: 1