FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
arreglo bidimensional
hola, tengo una segunda pregunta, en mi programa necesito recibir datos del ususario y uso TEdit para ello y no sé como guardar los datos del TEdit en un arreglo, en realidad lo que tengo son dos TEdit, en uno se recibe un dato de tipo string y en el segundo uno de tipo integer y necesito guardarlos en un arreglo de dos dimensiones y no sé como hacerlo, esa es la segunda pregunta, muchas gracias nuevamente
|
#2
|
||||
|
||||
Un array tiene elementos del mismo tipo, así que deberás guardar dos Strings aunque uno de ellos sea un entero (debes guardarlo convertido); Si deseas guardar el entero, entonces deberías mirar Records.
No acabo de ver claro lo que quieres hacer, pero el cñódigo en sí es sencillo:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Otra vez con el arreglo
Hola, bueno no me expliqué bien, lo del arreglo es porque quiero tener una tabla con los datos que introdujo el usuario para usarlos más tarde, estos datos son: el nombre de una variable cualquiera (a, b, w, etc) y su valor (1, 28, 3, etc.) estos datos los da el usuario y para recibirlos utilicé un TEdit.
Lo que no sé es como los guardo en esa tabla, en ese arreglo, ya me habían comentado que tendría que convertir uno de los datos a int y yo escribí este codigo: Código:
const Longitud=2; Altura=3; type Horizontal = 1.. Longitud; Vertical = 1..Altura; Tabla = Array[Horizontal,Vertical] of Integer; var Form3: TForm3; contador_variable: integer; Variable: String; Valor: Integer; i: integer; j: integer; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin if(contador_variable < 3) //este tres es porque quiero que acepte //un numero determinado de variables then begin //1.- Se guarda la variable y su valor en la tabla //2.- Se incrementa el contador porque solo seran tres variables las que se puedan recibir contador_variable:=contador_variable+1; /////////////////////////////////////////////////////////////////////////////// //SE GUARDA LA VARIABLE Y SU VALOR EN LA TABLA Variable:= Edit1.Text; Valor:= StrToInt(Edit2.Text); // aqui es donde ya no sé como guardar el nombre de la variable en una celda y su valor en la celda de junto... lo que se me ocurre es algo así: Tabla[i,j]:= Variable; j:=j+1; Tabla[i,j]:= Valor; //pero no sé si se pueda y otra cosa ¿como imprimo los valores de la tabla en un TEdit, por ejemplo? esto para poder comprobar que se guardaron los datos correctos y en los sitios correctos /////////////////////////////////////////////////////////////////////////////// //3.- Se limpia el formulario, listo para recibir otra variable ListBox1.Items.Add(' '+Edit1.Text+' '+Edit2.Text); //ValueListEditor1.keys[Edit1.Text]; end; if(contador_variable>3) then begin //Mostrar mensaje de que solo se pueden recibir X variables ShowMessage ('No es posible declarar más variables'); end; // Limpiar los edit 1 y 2 Edit1.Text:= ''; Edit2.Text:= ''; end; procedure TForm3.Button2Click(Sender: TObject); begin close; end; end. Bueno, a ver si no abrumo con tanta duda, es que no he programado mucho en delphi, solo en turbo c y todo esto es nuevo, muchas gracias |
#4
|
||||
|
||||
Hola Luli!
He seguido los hilos que ultimamente has estado escribiendo al respecto de este tema, yo pienso que una buena solución sería utilizar el TValueListEditor para que puedas manejar pares del tipo (Clave-Valor). Ya respondí a tu pregunta de como usar el componente TValueListEditor en este otro hilo que tú abriste. http://www.clubdelphi.com/foros/show...5126#post75126 Un saludo. |
#5
|
||||
|
||||
Cita:
Lo primero, es que si debes almacenar una cadena y un Integer, el array debe ser de Strings (en lugar de enteros), ya que un entero se puede almacenar como string, pero no al contrario. Otro error que he visto, es que Tabla lo tienes definido dentro de tipos (type) y no dentro de variables (var) y luego intentas trabajar con el; Si lo defines como Tipo debes definir una variable de ese tipo, y si lo defines como variable puedes usarla directamente. El código con alguna corrección quedaría así, revísa los cambios:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
un mensaje de error
hola, muchas gracias por la respuesta, me fué de utilidad, pero creo que sigo haciendo algo mal porque cuando corro el programa me manda un error que dice:
raise exception EAccess violation with message Access violation in address 00404322. Read of address FFFFFFF7 bueno algo asi y la supongo que es en la parte de este codigo: /SE GUARDA LA VARIABLE Y SU VALOR EN LA TABLA //Numero := StrToInt(Edit.Text); Variable:= Edit1.Text; Valor:= Edit2.Text; Bueno, en esta parte, porque cuando comento la siguiente linea no me sale el error: Tabla[i,j]:= Variable; //j:=j+1; //Tabla[i,j]:= Valor; Entonces me imagino que asi no es como se manejan los arreglos en delphi, si es asi agradecería una ayuda en cuando al manejo de éstos, gracias |
|
|
|