Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
y.... como... StringToChar ???

Resulta que yo uso una funcion booleana para determinar si un disco esta preparado, como es el caso de determinar si hay un diskette en la unidad A, la funcion es la siguiente:

Código Delphi [-]
function DiskInDrive(Drive: Char): Boolean;
     var
       ErrorMode: word;
     begin
       { make it upper case }
       if Drive in ['a'..'z'] then Dec(Drive, $20);
       { make sure it's a letter }
       if not (Drive in ['A'..'Z']) then
         raise EConvertError.Create('Not a valid drive ID');
       { turn off critical errors }
       ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
       try
         { drive 1 = a, 2 = b, 3 = c, etc. }
         if DiskSize(Ord(Drive) - $40) = -1 then
           Result := False
         else
           Result := True;
       finally
         { restore old error mode }
         SetErrorMode(ErrorMode);
       end;
     end;

Pero el tema esta, en que las unidades a verificar si estan listas, las debo tomar si o si de una base de datos access, pero estan en un campo de tipo string, y no se como puedo pasar ese string[1] a Char, ya que haciendo lo siguiente, no me funciona

Código Delphi [-]
...
var 
     drive:string;
begin
    drive:=ADOQuery1.FieldByName('unidad').AsString;
    if  DiskInDrive(pChar(drive)) then .... //no funciona
.....

Por lo que no se como hacer para pasar ese string de 1 caracter a Char.

Alguna idea, sugerencia????

Saludos y Gracias
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 17-05-2007 a las 04:07:27.
Responder Con Cita
  #2  
Antiguo 17-05-2007
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Que tal así?
Código Delphi [-]
    drive:=ADOQuery1.FieldByName('unidad').AsString;
    if  DiskInDrive(drive[1]) then .... //no funciona
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #3  
Antiguo 17-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
SOLUCIONADO

Gracias Xander


Código Delphi [-]
"Es increible que la solución siempre sea lo más elemental, 
tan elemental que siempre la solución es increible" (Anónimo)
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 17-05-2007
Avatar de rruz
[rruz] rruz is offline
Miembro Premium
 
Registrado: jun 2006
Posts: 146
Poder: 18
rruz Va por buen camino
Algo asi ?

var
drive:char;
begin
drive:=ADOQuery1.FieldByName('unidad').AsString[1];
if DiskInDrive(drive) then ...


Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 23:09:03.


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