[Duvida] Exibir Todas Unidades de Disco

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Duvida] Exibir Todas Unidades de Disco

Mensagem por Klior em Sex 28 Out 2011, 16:21

Bom, minha duvida é a seguinte:

Como podem ver meu computador possui varias unidades de disco, o que eu quero é exibir todas no game maker, se possível com algumas informações, além da letra da unidade,o tipo de sistema (NTFS ou FAT), e o nome da unidade, eu descobri uma maneira de exibir isso pelo prompt:

Só não sei como transferir isso para o game maker, talvez seja possível salvar essas informações em um arquivo de texto, então ler pelo game maker. Se alguem souber alguma maneira de resolver esse problema ou alguma dll que faça isso ficarei agradecido.

Klior

Número de Mensagens : 426
Idade : 25
Data de inscrição : 07/03/2010
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Duvida] Exibir Todas Unidades de Disco

Mensagem por luiz_eldorado em Sex 28 Out 2011, 18:10

Isso é bem dificil, mas pelo jeito você já descobriu como ver as unidades com a engine de listagem.
Mas eu posso adiantar duas funções pra você:

Código:
disk_size(drive) // Retorna o tamanho da unidade indicada em bytes. "drive" tem que ser em letra maiúscula, ex. 'C'. Se você não fornecer uma unidade, a unidade do atual é usada.
disk_free (drive) // Retorna a quantidade de espaço livre na unidade indicada em bytes. unidade deve ser uma letra maiúscula, por exemplo, 'C'. Se você não fornecer a unidade, a unidade do diretório de trabalho atual é usado.

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 17
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

Re: [Duvida] Exibir Todas Unidades de Disco

Mensagem por Klior em Sab 29 Out 2011, 00:08

luiz_eldorado escreveu:Isso é bem dificil, mas pelo jeito você já descobriu como ver as unidades com a engine de listagem.
Não entendi oque você quis dizer.

luiz_eldorado escreveu:
Mas eu posso adiantar duas funções pra você:

Código:
disk_size(drive) // Retorna o tamanho da unidade indicada em bytes. "drive" tem que ser em letra maiúscula, ex. 'C'. Se você não fornecer uma unidade, a unidade do atual é usada.
disk_free (drive) // Retorna a quantidade de espaço livre na unidade indicada em bytes. unidade deve ser uma letra maiúscula, por exemplo, 'C'. Se você não fornecer a unidade, a unidade do diretório de trabalho atual é usado.
Obrigado pela tentativa, mas eu já conhecia essas funções...


Enfim, consegui resolver o problema com a ajuda de uma dll chamada "SysInfo.dll" ela tem uma função get_drivetype que retorna se o disco é unidade de CD/DVD, HD, Disco Removível etc. Isso era exatamente oque eu precisava então consegui criar o código para mostrar todas unidades de disco e algumas informações
Código:
init();
var abc, length, driveletter, drivetype, drivename, drivesystem, drivespacetotal, drivespaceused, drivespacefree;
abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
length = string_length(abc);
list = ds_list_create();

for (i = 0; i < length; i += 1) {
  driveletter = string_copy(abc, i + 1, 1) + ":\";
  drivetype = get_drivetype(driveletter);
  drivename = get_drive_name(driveletter);
  if (drivename == "") {drivename = "Local Disk";}
  drivesystem = get_drive_filesystem(driveletter);
  drivespacetotal = string(mb_to_gb(get_drive_total_space(driveletter))) + " GB";
  drivespaceused = string(mb_to_gb(get_drive_used_space(driveletter))) + " GB";
  drivespacefree = string(mb_to_gb(get_drive_free_space(driveletter))) + " GB";
  if (drivetype != "Drive does not exist") {
    ds_list_add(list, driveletter + "  |  " + drivetype +  "  |  "  + drivename + "  |  " + drivesystem + "  |  " + drivespacetotal + " | " + drivespaceused + " | " + drivespacefree);
  }
}

Klior

Número de Mensagens : 426
Idade : 25
Data de inscrição : 07/03/2010
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Duvida] Exibir Todas Unidades de Disco

Mensagem por Super Maker em Sab 29 Out 2011, 19:46

Se você ainda tiver dúvidas com a dll, tem todos os exemplos aqui: http://www.host-a.net/dl/0/16558705731848

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Duvida] Exibir Todas Unidades de Disco

Mensagem por Conteúdo patrocinado Hoje à(s) 19:54


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum