AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Bandlaufwerk / Streamer ansprechen unter Delphi.
Thema durchsuchen
Ansicht
Themen-Optionen

Bandlaufwerk / Streamer ansprechen unter Delphi.

Offene Frage von "shifter"
Ein Thema von shifter · begonnen am 7. Nov 2005 · letzter Beitrag vom 19. Aug 2009
 
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#21

Re: Bandlaufwerk / Streamer ansprechen unter Delphi.

  Alt 10. Nov 2005, 15:28
Hi,

das schein langsam zu funktionieren.
Speichern kann ich jetzt auf band, und bei lesen bkomme ich nicht das was ich gespeichert habe.

ich wwrde dir mal posten wie die beiden routinen aussehen.

Write
Delphi-Quellcode:
Var buf : Array [0..512] of Byte;
    re : dWord;
    str : TMemoryStream;
    bow : dWord;
    lcm : pointer;
begin

TapeHandle := OPENDRIVE;

str := TMemoryStream.Create;
str.LoadFromFile('C:\mt.exe');
str.Position :=0;
lcm := nil;
bow := 0;

WriteTapeMark( TapeHandle, 0, 1, False );
WriteFile( TapeHandle, str.memory, str.Size, bow, lcm );

showmessage(inttostr(bow));

str.Free;
closedrive;
und Read
Delphi-Quellcode:
Var bow : dword;
    bwr : dword;
    lcm : pointer;
    buf : pointer;
    outf : Thandle;
    total : dword;
begin
  TapeHandle := OPENDRIVE;

  Security.nLength := SizeOf( TSecurityAttributes );
  Security.bInheritHandle := False;
  Security.lpSecurityDescriptor := nil;

// SetTapePosition( TapeHandle,2, 0,1,0, False);

  lcm := nil;
  buf := VirtualAlloc( lcm, 512, MEM_COMMIT,PAGE_READWRITE );

  outf := CreateFile('C:\Temp\mt-test.exe',GENERIC_WRITE,0,
              @Security,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);

  ReadFile( TapeHandle, buf, 512, bow,nil );

  bow := 1;
  total := 0;
  While bow>0 do begin
    ReadFile( TapeHandle, buf, 512, bow,nil );
    if bow>0 then WriteFile( outf, buf, bow, bwr, nil);
    inc( total, bow );
  End;

  closehandle(outf);
  showmessage(inttostr(total));
  closedrive;
Da bekomme ich am ende noch ein speicher error.
Ich bin mir aber nicht ganz sicher ob das mit dem speicher reservierung ganz ok ist.


Ich werde es auf jeden fall noch weiter quellen.

gruss
seba
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz