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 17-08-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Saludos Delphius, mira modifique el codigo, con lo que me dijiste y aun me ejecuta ese error, y si tenias mucha razon, mire el regedit, y tenia creados unos registros, pero mira dime que erro vez:

Código Delphi [-]
procedure TForm1.btnOptimizar3Click(Sender: TObject);
var reg: TRegistry;
var valor :integer;
begin
  valor := 3;
  reg:= TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement\PrefetchParameters ', False);
  if reg.ReadInteger('EnablePrefetcher') = valor then
    Begin
      reg.WriteInteger('EnablePrefetcher',5);
      MessageDlg('Su Menu ha sido optimizado',mtInformation,[mbOK],0);
    end
  else   MessageDlg('Su Menu ya estaba optimizado',mtWarning,[mbOK],0);
         reg.CloseKey;
         reg.Free;
end;

Gracias por tu tiempo...
Responder Con Cita
  #2  
Antiguo 17-08-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Ok, estoy analizando bien, y pues no se que tipo de variable es valor, como tu lo colocas...yo coloque valor como Integer, para poder colocarlo en mi condicional, para que me determine si lo que hay en esa clave de registro es igual a 3 me ejecute mi aplicacion y la cambie a 5, de lo controraio emite el mensaje...pero estoy aun confundido con tu variable en el ReadInteger, por que si coloco esa variable como me quedaria el condicional??, Y de nuevo mil gracias delphius---
Responder Con Cita
  #3  
Antiguo 17-08-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Ha tengo en cuenta que habia dejado un espacio al final de :

Código Delphi [-]
 reg.OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement\PrefetchParameters ', False);

ya lo corregi y nada me sigue dando el mismo error....
Responder Con Cita
  #4  
Antiguo 17-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Pues en tu último código veo que te sobre un espacio al final y te falta en otra parte. Por lo demás debería funcionarte.

La variable valor tuya te sobra. Con hacer

if Reg.ReadInteger(...) = 3
then ....

Debería funcionarte, si notas. Valor no lo usas para nada más.

Lo que yo expongo es un ejemplo, y al igual que tu, mi variable valor es integer. El método ReadInteger devuelve un integer. Lo único que hago yo es guardar el resultado en la variable y lo muestro.

Es lo mismo hacer esto:
Código Delphi [-]
valor := Reg.ReadInteger(....); // guardar el valor leído
if valor = 3
   then ...

Que esto:
Código Delphi [-]
if Reg.ReadInteger(...) = 3
  then ....

En el primer caso lo único que hago es previamente guardar el valor. En el segundo directamente leo, no me interesa tener en una variable el valor leído.

¿Se entiende la diferencia?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 17-08-2008 a las 03:57:11.
Responder Con Cita
  #5  
Antiguo 17-08-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Jajajajaja, ya Delphius te entendi perfectamente, y ya me salio, sabes que me estaba pasando, jajajaja Dios casi me mato la cabeza por eso, mira el codigo que yo tenia antes.

Este codigo es el que esta mal.
Código Delphi [-]
procedure TForm1.btnOptimizar3Click(Sender: TObject);var reg: TRegistry;var valor :integer; ---> Estas variables sobranbegin  valor := 3;  reg:= TRegistry.Create;  reg.RootKey := HKEY_LOCAL_MACHINE;  reg.OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement\PrefetchParameters ', False);  if reg.ReadInteger('EnablePrefetcher') = valor then    Begin      reg.WriteInteger('EnablePrefetcher',5);      MessageDlg('Su Menu ha sido optimizado',mtInformation,[mbOK],0);    end  else   MessageDlg('Su Menu ya estaba optimizado',mtWarning,[mbOK],0);         reg.CloseKey;         reg.Free;end;

y ahora mira el que esta bien:

Código Delphi [-]
procedure TForm1.btnOptimizar3Click(Sender: TObject);
var reg: TRegistry;
begin
  reg:= TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters', False);
  if reg.ReadInteger('EnablePrefetcher') = 3 then
    Begin
      reg.WriteInteger('EnablePrefetcher',5);
      MessageDlg('Su Menu ha sido optimizado',mtInformation,[mbOK],0);
    end
  else   MessageDlg('Su Menu ya estaba optimizado',mtWarning,[mbOK],0);
         reg.CloseKey;
         reg.Free;
end;

compara el codigo Delphius, y trata de descubrir mi error, jajajaja, Dios...pero enserio que me ayudaste muchisimo....espero que notes cual fue el error, jejeje....Gracias delphius..
Responder Con Cita
  #6  
Antiguo 17-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Pues claro que lo vi. Duerme un poquito, y saca el dedo de la barra espaciadora de vez de cuando y presiona en otras

Te agradecería que antes de copiar aqui, leas de nuevo el código. Asi te evitas mas golpes ¿si?

Por cierto, ¡no escribas horizontal! Cuando copies el código desde Delphi hacia aquí haz esto:

1. Abre notepad, pégalo.
2. Borra todos los espacios demás
3. Usa enter para ir a la siguiente línea.
4. Copiar y pegar en post.

La verdad es que no se como haces para copiar o pegar código de esa manera. ¿usas algún editor en particular? ¿Identas tu código? No es crítica es que... hace más dificil la lectura.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 17-08-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Saludos Delphius, no te entendi esa parte de:

Código PHP:
Te agradecería que antes de copiar aquileas de nuevo el códigoAsi te evitas mas golpes ¿si
es que me quedo algo mal ???, por que ya lo ejecute y me salio correctamente.

y por otro lado, queria preguntarte que si es mejor dejar en False el Opnekey, pues tu me dijiste que si no existia el registro y el OpenKey estaba en True, lo creaba, en cambio si esta en False, lo deja tal como esta...si es asi, prefiero en False...por ahora....


Bueno Delphius Gracias...
Responder Con Cita
  #8  
Antiguo 17-08-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Te lo decía porque los pequeños errores que tienes son de despiste. Nada mas era que revisaras el código nuevamente antes de pegar.

Una segunda lectura puede ayudar a ver si no se nos escapa algo y evitar estar a los golpecitos despues de descubrir que el error fue por una coma, un espacio, un end... ¿se entiende?

Con respecto a si debe ser True o False, lo mejor que te puedo decir es un gran depende. En algunas ocasiones es deseable que sea True, y en otras no.

Si tienes la certeza de que el directorio que abres siempre estará un False y listo, pero si se desea disponer de una clave de registro determinada un True puede ser conveniente. De cualquier manera la clase TRegistry posee métodos para comprobar si existe una clave o no.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
Editar componente por defecto de Delphi 6 kapullok_2006 OOP 3 05-08-2008 15:04:57
Como editar una imagen con delphi 7 kurono Varios 6 02-01-2008 22:23:12
Regedit REHome Windows 6 06-08-2007 18:55:00
Editar imagen en Delphi feico Gráficos 1 03-04-2007 14:36:06
leer una veriable del Regedit de windows con Delphi afarenas Varios 8 26-09-2006 02:01:30


La franja horaria es GMT +2. Ahora son las 06:51:58.


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