Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Bueno... carlocf, con respecto a lo que dices no creo necesario llamar a las viejas interrupciones, puedes acceder con las APIs CreateFile y _lopen al dispositivo de almacenamiento (igual que con un CD).

Ahora, hablas de marcar... BAD sectors? osea que estas interactuando con el sistema de archivos del medio; si es asi, ya habras definido la forma de marcarlo considerando que es un cd-Rom ?

Si me equivoco, aclaranos.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #2  
Antiguo 11-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Cita:
Empezado por cHackAll Ver Mensaje
osea que estas interactuando con el sistema de archivos del medio; si es asi, ya habras definido la forma de marcarlo
mmmm.... ha dicho marcar físicamente, supongo que usará un clavo y arañará el CD

PD: Si os hace falta un martillo, ¡¡ yo tengo uno !!
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 11-10-2008
Avatar de carlocf
carlocf carlocf is offline
Miembro
 
Registrado: oct 2005
Posts: 35
Poder: 0
carlocf Va por buen camino
Manipular CD

Gracias por el Tiempo que se dan

Efectivamente mi intencion es marcar un CD. No usare un Clavo ni tampoco arañare el CD (las uñas las tengo cortas y esperar a que me crezcan no me servira) por supuesto tampoco usare un martillo (les comento que lo use y la verdad que los resultados no me convencen de pronto a Lepe le sirve marcar un Cd de esa forma aunque tambien imagino que deber marcar sus pertenencias usando el metodo del martillo) . Sabes cHackAll pienso utilizar una aguja fina calentada previamente para hacer una pequeña marca y luego tratar de ubicar donde se puso la marca.

Gracias por la ayuda saludos nuevamente
Atentamente Carlo
Responder Con Cita
  #4  
Antiguo 11-10-2008
CrazySoft CrazySoft is offline
Miembro
 
Registrado: abr 2005
Posts: 100
Poder: 22
CrazySoft Va por buen camino
Carlof podrias compartir el codigo me mencionas para el marcado y lectura de Discos o dar una mayor esplicacion de como hacerlo

Gracias
Responder Con Cita
  #5  
Antiguo 11-10-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
¿Con ubicar te refieres a saber que sectores machaco la marca o a situarla fisicamente sobre el disco (en milimetros)? Lo primero es sencillo, como ya te dijo chackall, Createfile y a leer. Lo segundo ya puede ser bastante mas complicado
Responder Con Cita
  #6  
Antiguo 11-10-2008
Avatar de carlocf
carlocf carlocf is offline
Miembro
 
Registrado: oct 2005
Posts: 35
Poder: 0
carlocf Va por buen camino
Manipular CD

Nuevamente Saludos y mil gracias por el tiempo que se toman.

1.- Por supuesto que puedo explicarlo CrazySoft sin embargo quiero ver en que parte del Club puedo colocar esta explicacion que creo que seria como un pequeño manual.

2.- Estimado seoane mi intencion es marcar mediante una aguja fina y caliente a 5 mm del borde del agujero central, luego saber que sectores y pistas fueron malogradas.

Imagino que un CD totalmente limpio no tiene ni sectores ni pistas y que estas se crean al momento de grabar informacion en tal sentido, imagino tambien, que antes debo grabar informacion para crear pistas y sectores (claro que estoy asumiendo que un CD se organiza en pistas y sectores, si no es asi por favor corrijanme)

Ahora si hago una lectura del archivo desde el CD saltara un error al no poder leer la parte del CD que esta marcada. Sin embargo hace algun tiempo intente leer un CD que tenia partes malogradas y la verdad que la PC se colgo. Ahora mis dudas son:

a.- Usar CreateFile sobre un CD ya marcado en limpio, me permitira saber en que Sector y Pista no se pudo escribir?

b.- Y si primero grabo la información y luego marco el CD (tratando que la marca se coloque en las areas grabadas), lopen me dira en que sector y pista no se pudo leer?

Nuevamente mil gracias por el tiempo y por la ayuda prestada.
Atentamente
Carlo
Responder Con Cita
  #7  
Antiguo 12-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Aunque se adelantaron a preguntarlo, debo acotar algo que me inquieta en el sentido practico); tienes un CD (grabado o no) y digamos que podemos detectar el sector da­ñado y resulta ser el #666 .

Bien! tenemos el sector 666 dañado y el resto perfecto; de paso en el software mostramos un par de circulitos en representacion del CD y utilizando algo de trigonometria y tomando un angulo X marcamos con un "punto" el lugar donde se encuentra el "alfilerazo", el usuaro lo ve y todos felices

Ahora mi duda; cómo podemos saber comparando visualmente dónde está dicho sector dañado? como sabemos (girando X grados el CD) dónde esta el "punto" que vemos en la pantalla???

Paisano CrazySoft: aqui va un codigo que puedes(n) utilizar para dicho caso;

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
 
var
 hDevice, Dummy, Sectors, Sector: Cardinal;
 Buffer: array [0..$FFFF] of Byte;
 Geometry: record
  Cylinders: Int64;
  MediaType,
  TracksPerCylinder,
  SectorsPerTrack,
  BytesPerSector: Cardinal;
 end;
 
begin
 SetErrorMode(SEM_FAILCRITICALERRORS);
 hDevice := CreateFile('\\.\g:', GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
 if hDevice <> INVALID_HANDLE_VALUE then
  begin
   DeviceIoControl(hDevice, $70000{IOCTL_DISK_GET_DRIVE_GEOMETRY}, nil, 0, @Geometry, SizeOf(Geometry), Dummy, nil);
   Sectors := Geometry.SectorsPerTrack * Geometry.TracksPerCylinder * Geometry.Cylinders;
   for Sector := 0 to Sectors - 1 do
    begin
     Label1.Caption := 'Leyendo el sector #' + IntToStr(Sector) + '...';
     Application.ProcessMessages; // Use a thread !!!
     if not ReadFile(hDevice, Buffer, Geometry.BytesPerSector, Dummy, nil) then
      ShowMessage('El sector #' + IntToStr(Sector) + ' esta dañado !');
    end;
   CloseHandle(hDevice);
  end;
end;

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manipular Video Carlos Arevalo Varios 4 21-10-2006 16:00:43
manipular botones fartycl Varios 3 21-06-2006 22:03:31
Manipular Paradox Coco_jac Conexión con bases de datos 5 09-11-2005 16:15:00
DBLookupComboBox manipular Sayuri Conexión con bases de datos 3 26-07-2005 09:17:02
Manipular un Reporte noir Impresión 0 26-05-2003 20:36:36


La franja horaria es GMT +2. Ahora son las 04:04:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi