Fiz um jogo do tipo Show do milhão ..., mas ...

Delphi

09/07/2004

Fiz um jogo do tipo Show do milhão ...

Só que eu quero que o programa seja executado a partir do cd rom ...

No desktop deve ter um atalho,
se o cd não estiver no drive, deverá aparecer:
´ Favor inserir o Cd do Jogo ´ ...


O que deve ficar gravado no CD, só o arquivo executável ???

Pois no Show do mihão 4, após instalado, ele só grava no HD o banco de dados com as perguntas, que por sinal é feito em Acess ...
E no CD fica algum arquivo em oculto para ativar o jogo ...


O que devo fazer ???

Leo.
lbsystems@bol.com.br


Lbsystems

Lbsystems

Curtidas 0

Respostas

Tatuweb

Tatuweb

09/07/2004

Vc pode, se quiser, deixar só o executável no CD, ou pode deixar tudo, dependendo do caso.

No seu caso eu faria um pequeno programa que ficaria no HD e este verificaria se o cd que está no drive é o do jogo. Para fazer essa verificação vc pode, por exemplo, checar o caminho do executável. Se esse caminho existir então eu chamo o programa. Fiz abaixo um pequeno programa para resolver isso.

Primeiro crie um novo projeto, remova o form (Project/Remove from project) e de um Ctrl+ F12 para exibir o DPR. Remova todo o código e acrescente o que está abaixo:

program Project1;

uses Windows, SysUtils, ShellAPI;

// Obtém a letra do CD-ROM
function GetFirstCdRomDrive: string;
var
  r: Integer;
  Drives: array[0..128] of char;
  pDrive: pchar;
begin
  Result := ´´;
  r := GetLogicalDriveStrings(sizeof(Drives), Drives);
  if r = 0 then exit;

  pDrive := Drives;
  while pDrive^ <> #0 do
  begin
    if GetDriveType(pDrive) = DRIVE_CDROM then
    begin
      Result := pDrive;
      exit;
    end;
    inc (pDrive, 4);
  end;
end;

// --------------------------------------------------------------
var
  Path: string;
begin
  Path := GetFirstCdRomDrive + ´pasta\arquivo.exe´;

  if not FileExists (Path) then
    MessageBox (0, PChar (´Favor inserir o Cd do Jogo´), PChar (´Aviso´), MB_OK)
  else
    ShellExecute (0, ´open´, PChar (Path), nil, nil, SW_SHOWNORMAL);
end.


Espero que tenha ajudado.


GOSTEI 0
POSTAR