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 06-11-2008
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question Ayuda con una Variable

hola compañeros
quiero hacerles una pregunta
navegando por la red me encontre una aplicación que estoy investigando

y no tengo idea como usar o dr el parametro correcto para su uso

la instrucción es la siguiente:
Código Delphi [-]
 
 
function TForm1.GetConfigParameter(Param: string; Count: pword): string;


pero a la hora de llamar a la función no se que parametro va en Conut : pword

según la instrucción de uso es la siguiente :

Código Delphi [-]
 
 
Edit1.Text := GetConfigParameter(PARADOXLEVEL, @Count);
se que Param es igual a uns string := ' aqui va algo';

pero en el pword no se que va o que tipo es !!!

es tonta mi pregunta pero desconozco el pword

gracias por su tiempo.
Responder Con Cita
  #2  
Antiguo 06-11-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Se trata de un "Pointer to word" ("pword"), un puntero a una variable de tipo "word". De ahí el uso de la "arroba" (que sirve para referenciar punteros) como en el ejemplo de más arriba, en "@Count". Este tipo de dato ("word") es numérico y puede contener valores de 0 hasta 65,535, como puedes ver en Delphi Basics, por ejemplo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 06-11-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Según la ayuda de delphi (presionando F1):
Cita:
Empezado por F1Delphi
PWord is a pointer to a Word variable.
Es decir, Pword es un puntero a una variable tipo "Word" y una variable tipo "Word" es un entero de 16 bits:
Cita:
Empezado por F1Delphi
16-bit unsigned integer.
__________________

Responder Con Cita
  #4  
Antiguo 06-11-2008
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question

Cita:
Empezado por dec Ver Mensaje
Hola,

Se trata de un "Pointer to word" ("pword"), un puntero a una variable de tipo "word". De ahí el uso de la "arroba" (que sirve para referenciar punteros) como en el ejemplo de más arriba, en "@Count". Este tipo de dato ("word") es numérico y puede contener valores de 0 hasta 65,535, como puedes ver en Delphi Basics, por ejemplo.

gracias

pero si utilizo esta opción
Código Delphi [-]
 
 
Edit1.Text := GetConfigParameter('paradox\unit\ ', 1);

no es correcto !!!!
como lo usaria; Perdón pero ahora si ando bien norteado
Responder Con Cita
  #5  
Antiguo 06-11-2008
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Poder: 18
DarkMan Va por buen camino
Prueba usando un puntero:
Código Delphi [-]
var Count: Word;
begin
 Count:=1; 
 Edit1.Text := GetConfigParameter(PARADOXLEVEL, @Count);
end;
Con el puntero lo que haces no es pasar el valor de la variable, sino pasar la dirección de memoria en la que se encuentra el valor de la variable.
__________________
"La recompensa de una buena acción está en haberla hecho"
Responder Con Cita
  #6  
Antiguo 06-11-2008
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question manda un mensaje de error

gracias por tu ayuda pero
me manda un mensaje de error


me dice :

program or unit 'bde' recursively uses itself

y no corre el programa.

este es el cogigo completo :
Código Delphi [-]
function TForm1.GetConfigParameter(Param: string; Count: pword): string;
var
  hCur: hDBICur;
  rslt: DBIResult;
  Config: CFGDesc;
  Path, Option: string;
  Temp: array[0..255] of char;
begin
  Result := ''; hCur := nil;
  if Count <> nil then
    Count^ := 0;
  try
    if Pos(';', Param) = 0 then
      raise EDatabaseError.Create('Invalid parameter passed to function.  There must ' +
         'be a semi-colon delimited sting passed');
    Path := Copy(Param, 0, Pos(';', Param) - 1);
    Option := Copy(Param, Pos(';', Param) + 1, Length(Param) - Pos(';', Param));
    Check(DbiOpenCfgInfoList(nil, dbiREADONLY, cfgPERSISTENT, StrPCopy(Temp, Path), hCur));
    Check(DbiSetToBegin(hCur));
    repeat
      rslt := DbiGetNextRecord(hCur, dbiNOLOCK, @Config, nil);
      if rslt = DBIERR_NONE then
      begin
        if StrPas(Config.szNodeName) = Option then
          Result := Config.szValue;
        if Count <> nil then
          Inc(Count^);
      end
      else
        if rslt <> DBIERR_EOF then
          Check(rslt);
    until rslt <> DBIERR_NONE;
  finally
    if hCur <> nil then
      Check(DbiCloseCursor(hCur));
  end;
end;
Responder Con Cita
  #7  
Antiguo 06-11-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Respecto de lo primero, creo que también podría hacerse así:

Código Delphi [-]
GetConfigParameter(PARADOXLEVEL, PWord(1));

Y respecto lo segundo, me temo que el problema no tiene nada que ver. Es un problema con la unidad "BDE", aunque me parece extraño, quiero decir, que nunca me he topado con algo así si no recuerdo mal. ¿Debe ser que la unidad "BDE" requiere a su vez de la unidad "BDE"?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 06-11-2008
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question nombre del proyecto

bueno, sera que al nombre del proyecto lo llame

bde.pdr

y me sigue mandando el mismo error


esta es la liga de donde lo saque

http://info.borland.com/devsupport/b...st.html#Bottom
Responder Con Cita
  #9  
Antiguo 06-11-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues hay muchas probabilidades de que se trate de eso: de que no puedes llamar al proyecto "BDE", porque existe una unidad del mismo nombre, que, además usas en el proyecto en cuestión. Renombrar tu proyecto (que será lo más sencillo) y prueba a ver.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #10  
Antiguo 06-11-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
No será algo que tenga que ver con el ejemplo que usas?

Cita:
Example 2: Set a particular value in the IDAPI.CFG configuration file (16-Bit Only) and (32-Bit, BDE v4.51 and later).

NOTE: Do not use this procedure version if you are using BDE v4.50 and earlier (See Example 3 below)
Cita:
Example 3: Set a particular value in the IDAPI.CFG configuration file }(32-Bit Only; All Versions).

NOTE: You must use this procedure version if you are using BDE v4.50 and earlier
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #11  
Antiguo 06-11-2008
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question datos

pero lo que deseo hacer es sacar datos del idapi.cfg
no grabar

si estoy en lo correcto ???
Responder Con Cita
  #12  
Antiguo 06-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
¿y para qué? Yo te aconsejo que le eches una visual al TSession de delphi y al TDatabase, no creo que necesites acceder directamente al idapi.cfg, porque el TSession ya lo hace y tienes métodos más cómodos.

Aunque por supuesto no sé lo que quieres hacer.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #13  
Antiguo 06-11-2008
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Idapi32.cfg

ah mira
lo que deseo hacer es sacar información del idapi32.cfg

por ejemplo saber que parametro tiene
la pestaña de Configuración
configuracion,Drivers,Native,Paradox- Net Dir


pero creo que no lei bien el ejemplo y es para hacer otra cosa

eso trato de hacer que desde delphi pueda sacar este parametro !!!

gracias
Responder Con Cita
  #14  
Antiguo 07-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
pones el Tsession, configuras el alias (que también podrás sacar una lista por código buscando en el foro) y después usas:

session.PrivateDir
session.NetFileDir
etc.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
variable dentro de una variable molinero1 Varios 3 23-04-2007 12:44:48
variable tStrings Carliviris Varios 4 03-01-2007 19:01:05
Variable!! jdattoli Conexión con bases de datos 3 10-05-2006 10:10:04
variable con sql Cosgaya Tablas planas 3 15-12-2005 15:49:14
Ayuda!!Cambiar valor de una variable en biblioteca pepecharlie67 Varios 8 13-11-2005 19:17:14


La franja horaria es GMT +2. Ahora son las 13:22:10.


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