![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
mas o menos
Si mira la Matriz me indica unicamente la posición de las celdas en la hoja de excel, es decir:RangoMatriz [x1,y1] ----->posición 'A1' [x2,y1] ----->posición 'A2' .... y asi sucesivamente, entonces lo que yo kiero es agregar otro "for" pero que me haga referencia a 10 TEdit que tengo en el form donde vayan tomando los valores de cada una de las celdas de la hoja de excel(tomada de la matriz). Espero me hayas comprendido ![]() |
|
#2
|
|||
|
|||
|
sigo sin entenderte... cojes desde una matriz los valores x,y de una celda y estos valores de celda de excel los quieres poner en 10 edits? |
|
#3
|
|||
|
|||
|
Mira supongamos que tengo diez valores en la hoja de excel y en mi form tengo 10 TEdit's, lo que quiero es que en cada uno me muestre el valor 'A1' en el Edit1, el valor de 'A2' en el Edit2, el valor 'A3' en el Edit3, y asi sucesivamente.
Con relación a tu propuesta de hacerlo en un stringGrid te lo agradesco pero mi necesidad es hacerlo en TEdit's ![]() |
|
#4
|
|||
|
|||
|
Si solo son 10 tedits, pues...
Edit1.Text := Excel.Cells.Item[Matriz['A','1']] etc... si lo que quieres es encontrar un Edit por su nombre, que es lo que me parece, te dejo una funcion... function TForm.Encontrar_EditBox(string : nombre) : TEdit; var I: Integer; Temp: TComponent; begin for I := ComponentCount - 1 downto 0 do begin Temp := Components[i]; if (Temp is TEdit) then if ((Temp as TEdit).Name = nombre) then Encontrar_EditBox := (Temp as TEdit); end; Econtrar_EditBox := nil; end; Esta funcion debe estar en la form donde estan los EditBoxs... asi, por ejemplo, para poner dentro del Editn el valor de la celda [n,n] seria algo como Encontrar_EditBox('Edit' + inttostr(n)) := Excel.Cells.Item[n,n].Value deberas tener cuidado si no existe el editbox q se busca ya q seria 'null pointer assignment'. Seguro que hay bugs en el codigo espero q pilles la idea. |
|
#5
|
|||
|
|||
|
Hola creo que si me servira el segundo metodo coso, muchas gracias, solo una cosa mas, ya coloque tu código en el form pero me marca error, me dice que no esta declarada "Encontrar_EditBox", la verdad yo soy novato en esto del Delphi y no se donde incluir los "funtion". mira te pongo toda mi idea para que sepas bien a que voy:
tengo un form con dos botones y 11 Edit's, el primer botón es para abrir un opendialog, luego recojo la ubicación de cualquier archivo de excel(para esto ya tengo un estandar de como acomodar los datos que necesito) en un Edit que es el "Edit1", los otros 10 Edit me van a servir para recojer los datos que necesito en la hoja de excel, y por último con el segundo botón le puse este código: Código:
procedure TForm62.Button2Click(Sender: TObject);
const
xlCellTypeLastCell = $0000000B;
var
Excel, Sheet, FileName, Encontrar_EditBox: OLEVariant;
CantRow, CantCol, i, j : Integer;
RangoMatriz: Variant;
begin
FileName := Edit1.text;
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open(FileName);
Sheet := Excel.Workbooks[ExtractFileName(FileName)].WorkSheets[1];
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
CantRow := Excel.ActiveCell.Row;
CantCol := Excel.ActiveCell.Column;
RangoMatriz := Excel.Range['A1', Excel.Cells.Item[CantRow,CantCol]].Value;
for i:=1 to CantRow do
begin
for j:=1 to CantCol do
begin
Encontrar_EditBox:=RangoMatriz[i,j];//aqui puse el resultante de la "funtion
Showmessage(RangoMatriz[i,j]);
//haces todo lo que necesites hacer
end;
end;
end;
Espero que me hayas comprendido ![]() |
|
#6
|
|||
|
|||
|
Lo siento, si no sabes hacer funciones es que tu nivel es demasiado bajo. Te pongo un link aqui de delphi basico (esta muy bien el tutorial) leetelo y seguro q te entran mas ideas... Suerte
![]() http://www.elguille.info/delphi/curso/delphi01.htm http://www.elguille.info/delphi/apun...ntesDelphi.htm |
|
#7
|
|||
|
|||
|
Ok gracias por los manuales. Saludos
![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Bucle for de 2 en 2 | douglas | OOP | 9 | 17-10-2007 15:55:53 |
| Pasar demas datos de un DBGRID a TEDIT's | Ericato | Varios | 5 | 09-03-2007 17:44:05 |
| Salir de un bucle do while | RoyTan | Varios | 2 | 28-08-2006 14:25:36 |
| bucle dentro de un bucle | Cosgaya | Varios | 2 | 06-06-2005 07:05:16 |
| Detener un bucle | lfidanza | Varios | 5 | 25-06-2003 00:36:14 |
|