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 11-05-2004
Majo Majo is offline
Miembro
 
Registrado: jun 2003
Posts: 43
Poder: 0
Majo Va por buen camino
Cool Problema al asignar variables

Hola amigos.

El problema que tengo es el siguiente.

A,Lkm: Double;
A:=Lkm;

Al correr el programa, surgen cietos valores que no son coherentes.
Luego procedo a depurar paso a paso y me encuentro con lo siguiente

Al pasar el mouse sobre la variable Lkm me muestra el valor 19.25836958, ejecuto la linea A:=Lkm y me llevo la sorpresa que la variable A queda con valor = 0

Que puede estar pasando???? si alguien tiene idea de que puede estar pasando por favor ayudeme.
Responder Con Cita
  #2  
Antiguo 11-05-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Desde luego existe algún error en el código justo antes de la asignación:
Código Delphi [-]
Var
A,Lkm: Double;

begin
Lkm:=19,222222;
.
.
.
.
ShowMessage('Contenido de Lkm antes de asignar:'+FormatFloat(',0.00000',Lkm));
A:=Lkm;
ShowMessage('Contenido de a despues de asignar:'+FormatFloat(',0.00000',A));

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 11-05-2004
Majo Majo is offline
Miembro
 
Registrado: jun 2003
Posts: 43
Poder: 0
Majo Va por buen camino
El código es el siguiente:

Código:
procedure ModificarJacobianaConTRFS(var Jacobiana:TRealMatriz;Y:TVariantMatriz;Vi,Di:TRealVector;var TapAnterior:Double);
var IndiceTRFs:TIntegerArray;
         vectorEcuacionTRF:TRealVector;
         i,j,NumBarraReg,NumBarraNR,NumeroBarraPosTap:integer;
         Vk,Vm,Ykm,Ykk,Ykm2,Ymm:Variant;
         dPmDTk,dPkDTk,dQmDTk,dQkDTk,Nkm,Lmk2,Lkm,Nmk,Lmk,Radio,Theta,Radio1,Theta1,Tap2:Double;
         puta:integer;
begin
  IndiceTRFs:=BuscarIndicesTRFs();
  for j:=0 to length(IndiceTRFs)-1 do
  begin
  Setlength(VectorEcuacionTRF,Length(jacobiana));
    with form2.Components[IndiceTRFs[j]] as TTransformador do
    begin

      Tap2:=(form2.Components[IndiceTRFs[j]] as TTransformador).Tap;
      NumBarraReg:=BuscarNroDeBarraDadoUsrNumBarra(NumeroBarraARegular);
      NumBarraNR:=BuscarNroDeBarraDadoUsrNumBarra(NumeroBarraNoRegulada);
      NumeroBarraPosTap:=BuscarNroDeBarraDadoUsrNumBarra(NumeroBarraLadoTap);
      Vk:=VarcomplexCreate(TensionARegular,Di[NumBarraReg]);
      Vm:=VarcomplexCreate(Vi[NumBarraNR],Di[NumBarraNR]);
      Ykm:=Admy;
      Nmk:=(Vm*Ykm*conjugado(Vk)).Real;
      Lmk:=(Vm*Ykm*conjugado(Vk)).imaginary;
      Nkm:=(Vk*Ykm*conjugado(Vm)).Real;
      Lkm:=(Vk*Ykm*conjugado(Vm)).imaginary;

      if NumBarraReg = NumeroBarraPosTap then
      begin
        DPkDTk:=Nkm-2*Tap*TensionARegular*TensionARegular*Ykm.real;
        DQkDTk:=Lkm+2*Tap*TensionARegular*TensionARegular*(Ykm.Imaginary);
        DPmDTk:=Nmk;
        DQmDTk:=Lmk;

        Y[NumBarraReg][NumBarraReg]:=Y[NumBarraReg][NumBarraReg]+(Tap*Tap*Ykm)-(TapAnterior*TapAnterior*Ykm);
        Y[NumBarraNR][NumBarraReg]:=-Tap*Ykm;
        Y[NumBarraReg][NumBarraNR]:=-Tap*Ykm;

      end
      else
      begin
        DPmDTk:=Nmk-2*Tap*Vi[NumBarraNR]*Vi[NumBarraNR]*Ykm.Real;
        DQmDTk:=Lmk+2*Tap*Vi[NumBarraNR]*Vi[NumBarraNR]*(Ykm.Imaginary);
        DPkDTk:=Nkm;
        DQkDTk:=Lkm;
        Y[NumBarraNR][NumBarraNR]:=Y[NumBarraNR][NumBarraNR]+(Tap*Tap*Ykm)-(TapAnterior*TapAnterior*Ykm);
        Y[NumBarraNR][NumBarraReg]:=-Tap*Ykm;
        Y[NumBarraReg][NumBarraNR]:=-Tap*Ykm;
      end;
     TapAnterior:=Tap;
    end;
    for i:=0 to NroDeBarras-2 do
    begin
      vectorEcuacionTRF[i]:=0;
      if (NumBarraReg-1)= i then
      begin
        vectorEcuacionTRF[i]:=DPkDTk;
        vectorEcuacionTRF[i+NroDeBarras-1]:=DQkDTk;
      end;
      if (NumBarraNR-1)= i then
      begin
        vectorEcuacionTRF[i]:=DPmDTk;
        vectorEcuacionTRF[i+NroDeBarras-1]:=DQmDTk;
      end;
    end;

    for i:=0 to NroDeBarras-2 do
    begin
       Jacobiana[i][NumBarraReg-1]:=vectorEcuacionTRF[i];
    end;
  end;
end;

Última edición por Majo fecha: 11-05-2004 a las 17:05:55.
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


La franja horaria es GMT +2. Ahora son las 12:13:37.


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