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-09-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
Arreglo String

Saludos a todos:

Estoy asignandole valores a un arreglo de string estatico, dentro de un procedure. Todo esta muy bien y normal, pero cuando llamo a el procedure, los valores que corresponden a una posicion, no son los que deberian de ser.

Lo extraño del caso es que no son valores tomados de tablas, son valores que asigno yo mismo, cadenas de strings.Por ejemplo:

Arreglo[1] := '<DIA_LETRA_HOY>';

Y cuando invoco el procedure en el mismo arreglo de la misma posicion me dice que es igua a 'P'

Que podria ser??? yo pongo showmessages dentro del procedure para chequear si se estan asignando los valores bien y asi es. Pero porque se me cambian de un momento a otro, si esos valores son fijos y no hay formas dentro del codigo de cambiarlo??
Responder Con Cita
  #2  
Antiguo 11-09-2006
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
Si colocas todo el código que te da el error, verás como alguien te ayudará a resolver el problema.

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-09-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
Question

Observen esto:


Código Delphi [-]
procedure TwinMain.ArregloSearchString;
var
  SearchString  : array[1..3] of String;
  ReplaceString : array[1..3] of String;
begin
 
  //Corresponde al valor del dia en letras//
  SearchString[1] := 'DIAS_HOY_LETRAS';
  ReplaceString[1] := palabra;
 
  //Corresponde al valor del dia en numeros//
  SearchString[2] := 'DIAS_HOY';
  ReplaceString[2] := IntToStr(DayOf(Now));
 
  //Corresponde al valor del mes en letras//
   SearchString[3] := 'MES_HOY';
   ReplaceString[3] := IntToStr(MonthOf(Now));
 
{entonces, que en un lugar x del programa yo invoque el codigo:}
 

ArregloSearchString;


Mientras se estan asignando los valores, esta de lo mas bien y lo veo pk tengo showmessages. Pero luego que sale del procedure y trato de acceder a algun valor del arreglo 'SearchString', me aparecen letras, no los valores que yo asigne en cada posicion del arreglo. Esta mas entendible??

Última edición por marcoszorrilla fecha: 11-09-2006 a las 23:21:19.
Responder Con Cita
  #4  
Antiguo 11-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Si la variable SearchString esta declarada dentro del procedure, ¿como haces para acceder a ella desde fuera?
Responder Con Cita
  #5  
Antiguo 11-09-2006
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
Si quieres que una vez abandonado el procedimiento prevalezcan los valores no declares las variables dentro del mismo, sino en la sección pública del módulo.

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
  SearchString  : array[1..3] of String;
  ReplaceString : array[1..3] of String;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

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
  #6  
Antiguo 11-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo creo que te estás confundiendo entre variables locales y globales. Cuando sales del procedimiento ya no es posible acceder a SearchString y ReplaceString, no al menos, a las declaradas dentro del procedimiento. Si tienes otras declaradas fuera del procedimiento, entonces es lógico que no veas los resultados esperados pues el procedimiento está alterando otras variables (que se llaman igual).

// Saludos
Responder Con Cita
  #7  
Antiguo 11-09-2006
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
Te habrás dado cuenta del efecto de presentar el código aludido?
3 respuestas en un minuto.

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
  #8  
Antiguo 11-09-2006
Carliviris Carliviris is offline
Miembro
 
Registrado: abr 2006
Posts: 93
Poder: 19
Carliviris Va por buen camino
real, es verdad,falle en un tonto error
todos tienen mucha razon, muchas gracias a todos
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
Arreglo De Cadenas : String victor2023 OOP 6 19-05-2006 22:41:44
arreglo con Campos ahkimpech Firebird e Interbase 0 01-06-2005 04:26:23
Imprimir un arreglo Luli Varios 2 15-05-2005 07:57:55
Arreglo de componentes jzginez OOP 2 13-03-2004 23:02:21
Redimensionar un arreglo darkone2k3 Varios 11 02-11-2003 01:14:40


La franja horaria es GMT +2. Ahora son las 23:04:13.


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