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 14-12-2008
Avatar de blackpic
blackpic blackpic is offline
Miembro
 
Registrado: ago 2007
Ubicación: Rep Dom
Posts: 11
Poder: 0
blackpic Va por buen camino
Abrir un archivo txt en un StringGrid

Hola tengo el siguiente problema a la hora de abrir un archivo Txt y cargarlo a un StringGrid... Quiero que cuando habra el archivo, visualizarlo en forma de matrix en el StringGrid...
Por ejemplo en contenido del Txt es 'Delphi' y me gustaria verlo en la matrix de esta forma 'D e l p h i'.....
ya realice un pequeño ejemplo de como verlo en un Memo pero para la otra forma no tengo idea de como hacerlo....

Desde ya muchas gracias............
Responder Con Cita
  #2  
Antiguo 14-12-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Tal vez si nos muestras lo que tienes podriamos darnos una idea.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 14-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola blackpic,
No se si te he comprendido bien. ¿Deseas que el texto leído de un archivo se copie en un TStringGrid, cada letra en una columna distinta?

Si es eso, entonces bastaría con realizar un algoritmo como este, por ejemplo:

1. Establecer la cantidad de columnas adecuadas al tamaño del texto
2. Recorrer el texto y copiar el caracter i_ésimo en la columna i_ésima

Un ejemplo de esto es como sigue:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var i, cant: integer;

begin
  cant := Length(edit1.Text); // la longitud de texto

  StringGrid1.ColCount := cant + 1; // suponemos que la primera columna es "fija"
  for i := 1 to cant do
    StringGrid1.Cells[i,1] := Edit1.Text[i]; // copiamos caracter
end;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 14-12-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por blackpic Ver Mensaje
bueno te cuento que con un simplie codigo, usando un button y usando un Opendialog puedo abrir el archivo Txt y visualizarlo en un Memo...

aqui estan las pocas linea del codigo..

procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.Execute;
memo1.Lines.LoadFromFile(opendialog1.FileName);
{nose lo que va aqui para tambien cargarlo en el stringgrid}

end;
Bueno, eso es un avanze. El tema es que un StringGrid es una matriz. Y como matríz, para acceder a sus elementos, hay que referenciarlos por sus índices.

Para leer un archivo tienes dos opciones: Cargarlo en una fila, o cargarlo en una columna.
El StringGrid tiene dos propiedades del tipo TStrings: Cols, y Rows. Como son TStrings, cuentan con el método LoadFromFile. En resumen lo que pareciera estás buscando es esto:
Código Delphi [-]
StringGrid1.Cols[NumeroColumna].LoadFromFile(...); // O Bien,
StringGrid1.Rows[NumeroFila].LoadFromFile(...);

Pero hay algo que me llama la atención. Cómo debemos interpretar la diferencia entre 'Delphi' y 'D e l p h i'?:

Cita:
Empezado por blackpic Ver Mensaje
Quiero que cuando habra el archivo, visualizarlo en forma de matrix en el StringGrid...
Por ejemplo en contenido del Txt es 'Delphi' y me gustaria verlo en la matrix de esta forma 'D e l p h i'.....
Si es como yo me lo imaginé en el post anterior, entonces deberás implementar tu propia rutina "LoadFromFile" para que a medida que lees el contenido del archivo, copies caracter a caracter ya sea en filas o en columnas.

Aconsejo leer la ayuda que proporciona Delphi sobre el componente que estamos tratando.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 14-12-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui hay un ejemplo que hace mas cosas de las que necesitas, seguro te guiara.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 14-12-2008
Avatar de blackpic
blackpic blackpic is offline
Miembro
 
Registrado: ago 2007
Ubicación: Rep Dom
Posts: 11
Poder: 0
blackpic Va por buen camino
bueno sigo con mis avances gracias a ustedes intentendo hacer algo con estas linea
Código Delphi [-]
 StringGrid1.Cols[NumeroColumna].LoadFromFile(...); // O Bien, 
StringGrid1.Rows[NumeroFila].LoadFromFile(...);


hice esta parte haver como podria verce el Txt en las columnas
y lo que sale en cada columna es
|Delphi| |Delphi| |Delphi| |Delphi| |Delphi| |Delphi|,
6 veces ya que en el contenido del Txt hay 6 lectras.. estoy buscano la manera de visualizarlo como el ejemplo que me puso el amigo Delphius con el Edit...

este es lo poco que tengo realizado...
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject); 
var i, cant: integer;
begin 
opendialog1.Execute;  
cant := Length(opendialog1.FileName); // la longitud de texto  
StringGrid1.ColCount := cant + 1; // suponemos que la primera columna es "fija"   
for i := 1 to cant do  
stringgrid1.Cols[i].LoadFromFile(opendialog1.FileName);
 end;

ah amigo Delphius cuando me referia a escribir 'Delphi' y 'D e l p h i'?: era a representarlo ya sea en las columnas o en las filas de la matriz... y disculpa no se por que salio mal cuando lo publique ya que le di vista previa y vi el post bien...

Última edición por blackpic fecha: 14-12-2008 a las 22:46:42.
Responder Con Cita
  #7  
Antiguo 14-12-2008
Avatar de blackpic
blackpic blackpic is offline
Miembro
 
Registrado: ago 2007
Ubicación: Rep Dom
Posts: 11
Poder: 0
blackpic Va por buen camino
bueno te cuento que con un simplie codigo, usando un button y usando un Opendialog puedo abrir el archivo Txt y visualizarlo en un Memo...

aqui estan las pocas linea del codigo..

procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.Execute;
memo1.Lines.LoadFromFile(opendialog1.FileName);
{nose lo que va aqui para tambien cargarlo en el stringgrid}

end;
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
no puedo abrir un archivo con ShellExecute si el archivo es variable belpab API de Windows 2 28-11-2007 16:24:22
STringGrid: cargar archivo previamente guardado. amadis OOP 4 01-05-2007 23:52:30
Abrir .INI en StringGrid Iskariote0087 Varios 3 04-08-2006 17:58:58
Abrir archivo Ivan_25 C++ Builder 8 09-11-2005 12:28:20
Exportar un StringGrid a un Archivo.TxT kokoyweb Varios 1 24-08-2004 22:04:26


La franja horaria es GMT +2. Ahora son las 06:28:20.


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