Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Comportamiento insólito de los controles (https://www.clubdelphi.com/foros/showthread.php?t=75262)

Tortuguica 10-08-2011 17:34:10

Bueno, la verdad es que no creo que mi aplicación vaya a tener demasiado éxito. Para empezar, ya veremos si algún día la acabo, y si eso ocurre, ni estará dirigida al gran público ni pienso ponerle un precio exorbitado. Quiero decir que no va a ser la aplicación que todos quieren tener en su PC, como si fuera Windows u Office, por ejemplo, así que no me imagino a nadie devanándose los sesos por tener pirateada una aplicación que realmente necesite y que pueda conseguir legalmente por alrededor de 30 euros. Por supuesto, no tengo ni idea de sociología o de estudios de mercado, así que llego a todas las conclusiones a partir de mi propio comportamiento:(. Vaya rollo os he metido :o Bueno, gracias por todas las ideas y sugerencias. Un saludazo.

Neftali [Germán.Estévez] 10-08-2011 17:55:19

Por lo que explicas yo optaría por una solución (similar a la que comentas) pero que no necesite la llave USB, ya que le veo más inconvenientes que ventajas, para el caso que planteas.

Tortuguica 10-08-2011 19:28:41

Pues, ya puestos... ¿por qué no me dices cuál es esa opción que tú elegirías :)? Si puedes y te apetece, claro. Un saludo.

Neftali [Germán.Estévez] 11-08-2011 11:13:08

1 Archivos Adjunto(s)
Cita:

Empezado por Tortuguica (Mensaje 409075)
¿por qué no me dices cuál es esa opción que tú elegirías :)? Si puedes y te apetece, claro.

Me refería a la misma que has comentado tú, pero utilizando uno de los discos que ya tienes en el equipo, por ejemplo el principal.

Simplemente para eliminar la dependencia de la llave física y los problemas que puede traer (y la molestia).

Hay infinidad de métodos y puedes hacer hasta donde llegue tu imaginación, pero yo al principio optaría por algo sencillo como habéis comentado tú y newtron.

Tal vez este ejemplo te sirva para comenzar. Utiliza WMI y la clase Win32_LogicalDisk para obtener información de los discos (unidades en realidad) instaladas.


newtron 11-08-2011 11:26:43

Neftali.

Veo que tienes pocos discos duros, si te hace falta alguno me lo dices y te mando un par de ellos. :D

Neftali [Germán.Estévez] 11-08-2011 12:35:25

Cita:

Empezado por newtron (Mensaje 409172)
Veo que tienes pocos discos duros, si te hace falta alguno me lo dices y te mando un par de ellos.

:):)

En realidad no tengo tantos, no te pienses. No se si he comentado arriba que eso son particiones y además incluyen las mapeadas en Red.
Si te fijas hay 2 de red, dos CD/DVD, de los cuales uno es una unidad virtual (la uso para probar imágenes ISO, CUE,...).

De los 4 locales que quedan, uno es disco RAM de 400 MB (aunque aparece como local), por lo tanto tampoco es "real".
De las tres particiones que quedan, una es de sistema, otra para datos (DISCO 1) y la tercera es de backup (DISCO 2).

Así que al final la cosa es bastante "simplona", como puedes ver. :o:o

Tortuguica 11-08-2011 12:36:14

Gracias, Neftali. De todas formas, yo creo que es mejor utilizar la memoria usb, porque el usuario podría acceder a la aplicación desde cualquier PC, mientras que si es el número de serie es de un disco duro, solo podrá trabajar con ese. Bueno, en cualquier caso, no tengo nada decidido todavía. Gracias de nuevo. Un saludo.

Neftali [Germán.Estévez] 11-08-2011 12:47:58

Cita:

Empezado por Tortuguica (Mensaje 409176)
...yo creo que es mejor utilizar la memoria usb, porque el usuario podría acceder a la aplicación desde cualquier PC, mientras que si es el número de serie es de un disco duro, solo podrá trabajar con ese.

Ok. A eso me refería cuando te pedía que me explicaras algo más.
Si una premisa es que el usuario pueda usar la aplicaciónen varios equipos, esa puede ser una buena opción y la opción del serial del disco no es válida.

Tortuguica 12-08-2011 18:44:16

Hola de nuevo. Perdón por el inciso, pero es que estamos de fiestas en mi pueblo. :cool: Neftalí, resulta que he ejecutado el código que has puesto, y no me da el mismo número de serie que cuando lo hago con el mío :confused:. ¿Tú sabes cuántos números de serie tiene una unidad? Un saludo.

ecfisa 17-08-2011 13:03:50

Hola Tortuguica.

El número de serie lógico dado por MS-DOS/Windows a un disco rígido, está compuesto por ocho dígitos hexadecimales.

Te agrego otra función para obtenerlo:
Código Delphi [-]
function HDSerial(const lpRootPathName: PChar): string;
var
  lpMaximumComponentLength: DWORD;
  lpFileSystemFlags: DWORD;
  lpVolumeSerialNumber: DWORD;
  lpVolumeNameBuffer:  array[0..MAX_PATH] of Char;
begin
  GetVolumeInformation(PChar(lpRootPathName),
                       @lpVolumeNameBuffer,
                       SizeOf(lpVolumeNameBuffer),
                       @lpVolumeSerialNumber,
                       lpMaximumComponentLength,
                       lpFileSystemFlags, nil, 0);
  Result := IntToHex(HiWord(lpVolumeSerialNumber),4) +
            IntToHex(LoWord(lpVolumeSerialNumber),4);
end;

Llamada de ejemplo:
Código Delphi [-]
  ShowMessage(HDSerial('C:\'));

Si te interesa guardarlo cifrado en el registro, puse un ejemplo muy simple de como hacerlo al final de este hilo: Guardar datos en un ejecutable

Un saludo.

Edito:
El argumento debe ser 'Letra_Unidad:\' no 'Letra_Unidad:'. Por ejemplo: 'D:\' es correcto, 'D:' no.

Tortuguica 18-08-2011 08:05:42

Gracias, Ecfisa. Un saludo.


La franja horaria es GMT +2. Ahora son las 05:17:14.

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